我看到它的方式,使用Android Studio有几个选项:
为Android TV添加一个新模块,并创建一个共享模块来共享部分代码,但主要是为Android TV重写我的大部分代码。
在我现有的应用程序代码中添加一个或多个Android TV特定软件包;为Android TV主要活动添加Leanback清单意图过滤器,最后在代码中进行手动检查。一些现有的东西可以在Android TV上重复使用,有些区域需要重新编写。
您认为最佳选择是什么?
我个人认为第二个选项是最好的,因为它更容易做到,但它确实有一些缺点,即更大的APK大小。
答案 0 :(得分:1)
它真正归结为您的项目,它是如何构建的,它有多大,等等。从一般意义上讲,每种选择都有其自身的优点和缺点。
扩展相同的项目
您可以决定分享您的代码库,并在现有项目中添加一些特定于电视的课程。这样可以确保更快的引导程序,因为您拥有所需的所有代码。此外,对于最终用户, Play商店条目不会更改,因此您将受益于相同评级,下载,可见性等。在这种情况下,缺点是您的应用程序变得单一的风险,因此更难处理。
创建新模块
另一方面,去一个单独的项目"强迫"你要编写通用模块,这对我来说听起来是件好事。如果您的代码/项目不够模块化,那么您将拥有更长的引导程序,但从长远来看,将获得回报。此外,您的电视应用程序的APK也将受益,因为它会更小。您将拥有不同的Play商店条目,但这可能是一个缺点,也可能是一个好处。最后,我认为偶尔在一个单独的项目上工作感觉很清爽,所以这是一个完全主观的加分:)
在我的公司,我们决定选择一个单独的项目/模块。我们想模块化一些常见的组件,所以感觉这是正确的时间。仅此一点对我们来说是一个很好的理由,我们并不后悔。此外,我们还有机会尝试新的项目结构,其中包括使用总线(Otto)和作业队列(Path's)。
总而言之,这取决于您和您的项目。我会尝试尽可能多地添加其他点。