将 Android TV 支持添加到现有智能手机/平板电脑应用程序的最佳做法是啥?
Posted
技术标签:
【中文标题】将 Android TV 支持添加到现有智能手机/平板电脑应用程序的最佳做法是啥?【英文标题】:What's the best practice for adding Android TV support to an existing smartphone / tablet app?将 Android TV 支持添加到现有智能手机/平板电脑应用程序的最佳做法是什么? 【发布时间】:2015-03-08 16:49:04 【问题描述】:在我看来,使用 android Studio 有几个选项:
为Android TV添加一个新模块,并创建一个通用模块来共享部分代码,但主要是为Android TV重写我的大部分代码。
在我现有的应用程序代码中添加一个或多个 Android TV 特定包;为 Android TV 主 Activity 添加 Leanback manifest intent 过滤器,最后在代码中进行手动检查。有些现有的东西可以在 Android TV 上重复使用,有些地方需要重写。
你认为最好的选择是什么?
我个人认为第二个选项是最好的,因为它更容易做,但它确实有一些缺点,即更大的 APK 大小。
【问题讨论】:
【参考方案1】:这真的取决于你的项目,它是如何构建的,它有多大,等等。一般来说,每个选项都有自己的优点和缺点。
扩展同一个项目
您可以决定共享您的代码库并将一些特定于电视的类添加到您现有的项目中。这肯定可以实现更快的引导,因为您在那里拥有所需的所有代码。此外,对于最终用户,Play 商店条目不会改变,因此您将受益于相同的评分、下载量、可见性 等等。在这种情况下,不利的一面是您的应用可能会变得单一,因此更难处理。
创建新模块
另一方面,开发一个单独的项目“迫使”你编写通用模块,这(对我来说)听起来是件好事。如果您的代码/项目不够模块化,您将拥有更长的引导程序,但从长远来看会有所回报。此外,您的电视应用程序的 APK 也会受益,因为它会变小。您将获得不同的 Play 商店条目,但这可能是不利的,也可能是有利的。最后,我认为偶尔在一个单独的项目上工作会让人耳目一新,所以这是一个完全主观的加分项:)
在我的公司,我们决定采用一个单独的项目/模块。我们想模块化一些常见的组件,所以感觉是时候这样做了。仅这一点对我们来说就是一个很好的理由,我们并不后悔。此外,我们有机会尝试使用总线 (Otto) 和作业队列 (Path's) 的新项目结构。
总而言之,这取决于您和您的项目。我会尽可能多地添加其他要点。
【讨论】:
谢谢,感谢您的反馈! :) 您不能针对不同的设备、手机和电视创建多个 APK 吗?然后,您可以将两个 APK 上传到 Play 商店中的同一个条目。以上是关于将 Android TV 支持添加到现有智能手机/平板电脑应用程序的最佳做法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
将 Google Cast 集成到 Android TV 应用中
可以在 Google Play 上为 Android TV 和智能手机发布相同的应用程序