使用 kotlin 学习 Android MVVM 架构组件
Learn Android MVVM architecture components with kotlin
在搜索了 android 架构组件后 我意识到 MVVM 在某些方面优于其他架构,所以我开始学习 MVVM,我正在使用 Kotlin 语言,但问题是当我搜索教程开始学习时,我发现许多组件,如 RxJava、RxAndroid、Dagger2、Room, Lifecycle 等 但他们没有说明为什么使用它们以及为什么选择某些特定组件。我将向您展示一些示例:
1- Android MVVM with Dagger2, Retrofit, RxJava
2- Android MVVM with Dagger2, Retrofit, RxAndroid
3- Android app with MVVM dagger2 RxJava Livedata and Room
我的问题是:
1- 我应该如何决定选择其中一些组件并使用它们?
2- 我怎么知道我需要一起使用其中的一些(例如 Livedata 和 RxJava)?
这让我很困惑,我不知道如何开始。
作为一名小学生。 android 开发者,我的想法和你一样,但我选择了这样的路线:
- 使用 ViewModel(AAC)、LiveData、Observable 模式学习 MVVM。
- 使用协程创建异步和多线程进程。
- 使用 Koin 进行依赖注入。
(如果你喜欢可以看看如何混合它们。很快就会添加Koin。https://github.com/furkanaskin/CoinStalker)
未来?
Dagger 2,也许是 Rxjava 等。
首先你需要单独了解为什么要使用Kotlin、MVVM、Dagger、RxJava、Retrofit。
MVVM 和 Kotlin:
https://medium.com/@zhangqichuan/android-development-with-mvvm-and-kotlin-9598c3623ce1
RxJava 和 RxAndroid:
RxAndroid 是 RxJava 的扩展(用于处理线程和异步任务),有关详细信息,请查看以下 links:
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 和 room with kotlin:
Room 是 SQLite 数据库之上的数据库层,用于在从本地 sqlite 数据库获取数据时删除样板,使用以下 links:
https://codelabs.developers.google.com/codelabs/android-room-with-a-view-kotlin/#0
在分别理解这些组件(Kotlin、MVVM、Dagger、RxJava 和 RxAndroid、Retrofit、LiveData)之后,您需要在单个项目中完成所有这些事情,使用以下 link:
如果您了解核心 Android 基础知识并且至少完成了 1 或 2 个项目,那么您可以跳到这里,https://android.jlelse.eu/why-to-choose-mvvm-over-mvp-android-architecture-33c0f2de5516
也许您需要的是从基础开始。
关于 Android 架构,有几个 google 官方代码实验室。
您可以先查看此代码实验室,然后再查看其他代码实验室。
https://codelabs.developers.google.com/codelabs/kotlin-android-training-view-model
Simple Note App 是使用 MVVM 架构在 Kotlin 中编写的
https://github.com/prakashshuklahub/Simple-Notes-Kotlin-App
应用中使用的架构组件如下
- 实时数据
- 房间:
- 视图模型:
- 存储库:
您可以使用
检查GitHub项目
- Kotlin
- MVVM
- 喷气背包
- Retrofit2
这是完整的源代码 GitHUb Link: https://github.com/enamul95/kotlin_MVVM_Jetpack
在搜索了 android 架构组件后 我意识到 MVVM 在某些方面优于其他架构,所以我开始学习 MVVM,我正在使用 Kotlin 语言,但问题是当我搜索教程开始学习时,我发现许多组件,如 RxJava、RxAndroid、Dagger2、Room, Lifecycle 等 但他们没有说明为什么使用它们以及为什么选择某些特定组件。我将向您展示一些示例:
1- Android MVVM with Dagger2, Retrofit, RxJava
2- Android MVVM with Dagger2, Retrofit, RxAndroid
3- Android app with MVVM dagger2 RxJava Livedata and Room
我的问题是:
1- 我应该如何决定选择其中一些组件并使用它们?
2- 我怎么知道我需要一起使用其中的一些(例如 Livedata 和 RxJava)?
这让我很困惑,我不知道如何开始。
作为一名小学生。 android 开发者,我的想法和你一样,但我选择了这样的路线:
- 使用 ViewModel(AAC)、LiveData、Observable 模式学习 MVVM。
- 使用协程创建异步和多线程进程。
- 使用 Koin 进行依赖注入。
(如果你喜欢可以看看如何混合它们。很快就会添加Koin。https://github.com/furkanaskin/CoinStalker)
未来?
Dagger 2,也许是 Rxjava 等。
首先你需要单独了解为什么要使用Kotlin、MVVM、Dagger、RxJava、Retrofit。
MVVM 和 Kotlin:
https://medium.com/@zhangqichuan/android-development-with-mvvm-and-kotlin-9598c3623ce1
RxJava 和 RxAndroid:
RxAndroid 是 RxJava 的扩展(用于处理线程和异步任务),有关详细信息,请查看以下 links:
改装:
https://medium.com/@elye.project/kotlin-and-retrofit-2-tutorial-with-working-codes-333a4422a890
LiveData 和 room with kotlin:
Room 是 SQLite 数据库之上的数据库层,用于在从本地 sqlite 数据库获取数据时删除样板,使用以下 links: https://codelabs.developers.google.com/codelabs/android-room-with-a-view-kotlin/#0
在分别理解这些组件(Kotlin、MVVM、Dagger、RxJava 和 RxAndroid、Retrofit、LiveData)之后,您需要在单个项目中完成所有这些事情,使用以下 link:
如果您了解核心 Android 基础知识并且至少完成了 1 或 2 个项目,那么您可以跳到这里,https://android.jlelse.eu/why-to-choose-mvvm-over-mvp-android-architecture-33c0f2de5516
也许您需要的是从基础开始。 关于 Android 架构,有几个 google 官方代码实验室。
您可以先查看此代码实验室,然后再查看其他代码实验室。
https://codelabs.developers.google.com/codelabs/kotlin-android-training-view-model
Simple Note App 是使用 MVVM 架构在 Kotlin 中编写的
https://github.com/prakashshuklahub/Simple-Notes-Kotlin-App
应用中使用的架构组件如下
- 实时数据
- 房间:
- 视图模型:
- 存储库:
您可以使用
检查GitHub项目- Kotlin
- MVVM
- 喷气背包
- Retrofit2
这是完整的源代码 GitHUb Link: https://github.com/enamul95/kotlin_MVVM_Jetpack