如何实例化数据库和我的存储库,应用架构指南
How to instantiate the database and my repositories, Guide to app architecture
我正在制作一个相当简单的应用程序,其中包含列出一些用户,如果提供了详细信息,则会打开另一个 activity,显示他们的出版物列表,其中包含来自知名人士的数据JsonPlaceHolder API.
关键是我正在制作具有尽可能最佳架构的应用程序,遵循文档和基本上下面的结构。
问题是应用感觉很慢,谁能帮我找出问题,谢谢
通过这种方式,我可以使用 Room 和我使用的存储库安装我的数据库
class App: Application(){
private val applicationScope = CoroutineScope(SupervisorJob())
// Using by lazy so the database and the repository are only created when they're needed
// rather than when the application starts
private val database by lazy { UserRoomDatabase.getDatabase(this, applicationScope) }
val userRepository by lazy { UserRepository(database.userDao()) }
val postRepository by lazy { PostRepository(database.postDao()) }
}
所以我在活动中初始化视图模型
private val postViewModel: PostViewModel by viewModels {
PostViewModelFactory((application as App).postRepository)
}
我认为这是最重要的事情,也许这就是我做错的地方,这让我的应用程序有点慢。如果您需要其他东西,请问我。
我正在阅读文档,根据他们的说法,我可以使用 Dagger 来注入它,但事实上,我没有看到这个问题。
使用 siglent 模式使用 Daggar hilt 创建存储库对象,并确保 Batch drawable importer 中的应用程序资源(如果您使用大尺寸资源然后视图需要一些时间来呈现)。主要是应用程序因内存泄漏问题而崩溃。
整整两天没睡,但我很高兴的说,我终于可以做出一个架构完美的应用程序:D和理解一切,我觉得我在这方面迈出了一大步移动开发。我找到了使用匕首柄 () 的解决方案,
我会留下一个对我帮助很大的答案link。
在这里你可以找到依赖注入的基本信息,对于那些还不了解的人来说Dependency injection in Android
我的问题基本上是依赖关系之一,我用匕首柄解决了这个问题,除此之外,现在我做测试会容易得多。
也感谢@Muhammad Asad 的帮助。
我正在制作一个相当简单的应用程序,其中包含列出一些用户,如果提供了详细信息,则会打开另一个 activity,显示他们的出版物列表,其中包含来自知名人士的数据JsonPlaceHolder API.
关键是我正在制作具有尽可能最佳架构的应用程序,遵循文档和基本上下面的结构。
问题是应用感觉很慢,谁能帮我找出问题,谢谢
通过这种方式,我可以使用 Room 和我使用的存储库安装我的数据库
class App: Application(){
private val applicationScope = CoroutineScope(SupervisorJob())
// Using by lazy so the database and the repository are only created when they're needed
// rather than when the application starts
private val database by lazy { UserRoomDatabase.getDatabase(this, applicationScope) }
val userRepository by lazy { UserRepository(database.userDao()) }
val postRepository by lazy { PostRepository(database.postDao()) }
}
所以我在活动中初始化视图模型
private val postViewModel: PostViewModel by viewModels {
PostViewModelFactory((application as App).postRepository)
}
我认为这是最重要的事情,也许这就是我做错的地方,这让我的应用程序有点慢。如果您需要其他东西,请问我。
我正在阅读文档,根据他们的说法,我可以使用 Dagger 来注入它,但事实上,我没有看到这个问题。
使用 siglent 模式使用 Daggar hilt 创建存储库对象,并确保 Batch drawable importer 中的应用程序资源(如果您使用大尺寸资源然后视图需要一些时间来呈现)。主要是应用程序因内存泄漏问题而崩溃。
整整两天没睡,但我很高兴的说,我终于可以做出一个架构完美的应用程序:D和理解一切,我觉得我在这方面迈出了一大步移动开发。我找到了使用匕首柄 (
在这里你可以找到依赖注入的基本信息,对于那些还不了解的人来说Dependency injection in Android
我的问题基本上是依赖关系之一,我用匕首柄解决了这个问题,除此之外,现在我做测试会容易得多。
也感谢@Muhammad Asad 的帮助。