Android Jetpack Compose:我们应该删除MainApplication文件吗? &



我正在考虑将现有的基于视图的Android应用程序缓慢迁移到Jetpack Compose应用程序。我想我将利用这个机会完全重构应用程序,所以我将从头开始Compose应用程序,并尝试采用最新的最佳实践。

我在Android Studio中创建了一个新项目,使用"Empty Compose Activity"这是我读过的一些文档中推荐的。

它创建的项目缺少MainApplication。清单直接跳转到MainActivity,它只定义了class MainActivity : ComponentActivity()

我注意到Android文档说"通常不需要子类化应用程序。在大多数情况下,静态单例可以以更模块化的方式提供相同的功能。这让我想到,作为这次重构的一部分,我可能会尝试遵循这个隐含的建议,看看它会导致什么。

所以我的问题是,有没有什么必须

在应用程序类做,会让我后悔Android Studio给我的结构?Koin依赖注入在主应用程序类之外工作良好吗?我的应用程序有服务,有房间依赖注入,我现在在应用程序类。所有这些都可以在其他地方完成,比如MainActivity??(Koin的所有示例都使用应用程序类进行DI!)

可以设置用户权限,如位置和文件访问可以在应用程序类之外??

我知道我在这里问一个意见,但你认为这是最好的做法,子类应用程序,如果你可以避免它,因为Android文档似乎建议?

最后,是不是

不是Application类的子类(即没有MainApplication.kt)在某种程度上与构建应用程序的新组合方式有关?谢谢!

约翰

你从Android Studio创建一个Compose项目得到的骨架代码没有子类化Application,因为它只是给你一个功能Compose应用程序的基本要素。

Application类仍然是初始化依赖注入图的正确位置,以及其他需要一次性初始化的库,例如Timber

请求运行时权限应该在本地完成,在你需要的时候。如果你需要一些许可从一开始就开始你的应用程序,在你的活动中请求那些,Application不是正确的地方。

最新更新