搜索 android体系结构组件之后,我意识到 MVVM 在某些方面比其他体系结构要好,所以我开始学习MVVM,并且我正在使用 Kotlin语言,但是问题是,当我搜索教程以开始学习时,我发现了许多组件,例如 RxJava,RxAndroid,Dagger2,Room,Lifecycle等。,但是他们没有说明为什么使用它们以及为什么他们选择一些特定组件。我将向您展示一些示例:
1-具有Dagger2,Retrofit,RxJava的Android MVVM
2-具有Dagger2,Retrofit,RxAndroid的Android MVVM
3-具有MVVM dagger2 RxJava Livedata和Room的Android应用
我的问题是:
1-我应该如何决定选择其中一些组件并使用它们?
2-我怎么知道我需要一起使用其中的一些(例如Livedata和RxJava)?
这真让我感到困惑,我也不知道该如何开始。
答案 0 :(得分:3)
首先,您需要单独了解为什么要使用Kotlin,MVVM,Dagger,RxJava和Retrofit。
MVVM和Kotlin:
https://medium.com/@zhangqichuan/android-development-with-mvvm-and-kotlin-9598c3623ce1
RxJava和RxAndroid:
RxAndroid是RxJava(用于处理线程和异步任务)的扩展,有关更多详细信息,请检查以下链接: Difference between RxJava and RxAndroid? https://www.quora.com/What-is-the-difference-between-Retrofit-and-RxJava-RxAndroid
改造:
https://medium.com/@elye.project/kotlin-and-retrofit-2-tutorial-with-working-codes-333a4422a890
LiveData和Kotlin房间:
Room是SQLite数据库之上的数据库层,用于在从本地sqlite数据库中获取数据时删除bo板,请使用以下链接: https://codelabs.developers.google.com/codelabs/android-room-with-a-view-kotlin/#0
分别了解了这些组件(Kotlin,MVVM,Dagger,RxJava和RxAndroid,Retrofit,LiveData)之后,您需要在单个项目中完成所有这些操作,请使用以下链接:
答案 1 :(得分:2)
也许您需要的是基础知识。 有几个有关Android体系结构的Google官方代码实验室。
您可以先查看此代码实验室,然后再查看其他代码。
https://codelabs.developers.google.com/codelabs/kotlin-android-training-view-model
答案 2 :(得分:2)
Simple Note App是使用MVVM架构在Kotlin中编写的
https://github.com/prakashshuklahub/Simple-Notes-Kotlin-App
应用中使用的建筑组件如下
答案 3 :(得分:1)
小。 android开发人员,我在想像您一样,但是我选择了一条路线:
(如果您愿意,可以看到如何混合它们。很快就会添加Koin。https://github.com/furkanaskin/CoinStalker)
未来?
Dagger 2,也许是Rxjava等。
答案 4 :(得分:1)
您可以使用
检查GitHub项目。此处是完整的源代码 GitHUb链接:https://github.com/enamul95/kotlin_MVVM_Jetpack
答案 5 :(得分:0)
如果您了解Core Android的基础知识,并且至少完成了1或2个项目,则可以跳转到https://android.jlelse.eu/why-to-choose-mvvm-over-mvp-android-architecture-33c0f2de5516