[英]Learn Android MVVM architecture components with kotlin
在搜索了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)?
这对我来说真的很困惑,我不知道如何开始。
首先你需要单独了解为什么要使用 Kotlin、MVVM、Dagger、RxJava、Retrofit。
MVVM 和 Kotlin:
https://medium.com/@zhangqichuan/android-development-with-mvvm-and-kotlin-9598c3623ce1
RxJava 和 RxAndroid:
RxAndroid 是 RxJava(用于处理线程和异步任务)的扩展,有关更多详细信息,请查看以下链接: RxJava 和 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 数据库获取数据时移除锅炉板,使用以下链接: https ://codelabs.developers.google.com/codelabs/android-room-with-a -view-kotlin/#0
在单独了解这些组件(Kotlin、MVVM、Dagger、RxJava 和 RxAndroid、Retrofit、LiveData)之后,您需要在单个项目中完成所有这些工作,请使用以下链接:
作为一个 jr。 android 开发人员,我和你一样想,但我选择了一条路线:
(如果你愿意,你可以看到如何混合它们。Koin 将很快添加。https://github.com/furkanaskin/CoinStalker )
未来?
Dagger 2,也许是 Rxjava 等等。
如果您了解 Core Android 基础知识并且至少完成了 1 或 2 个项目,那么您可以跳到这里, https://android.jlelse.eu/why-to-choose-mvvm-over-mvp-android-architecture-33c0f2de5516
也许你需要的是从基础开始。 有几个关于 Android 架构的谷歌官方代码实验室。
您可以先查看此代码实验室,然后再查看其他代码实验室。
https://codelabs.developers.google.com/codelabs/kotlin-android-training-view-model
Simple Note App 是使用 MVVM 架构在 Kotlin 中编写的
https://github.com/prakashshuklahub/Simple-Notes-Kotlin-App
app中使用的架构组件如下
您可以使用以下方法检查 GitHub 项目
这是完整的GitHUb 链接: https : //github.com/enamul95/kotlin_MVVM_Jetpack
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.