繁体   English   中英

用kotlin学习Android MVVM架构组件

[英]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)之后,您需要在单个项目中完成所有这些工作,请使用以下链接:

https://github.com/egek92/Kotlin-MVVM-LiveData-Room

作为一个 jr。 android 开发人员,我和你一样想,但我选择了一条路线:

  • 使用 ViewModel(AAC)、LiveData、Observable 模式学习 MVVM。
  • 使用协程创建异步和多线程进程。
  • 使用 Koin 进行依赖注入。

(如果你愿意,你可以看到如何混合它们。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中使用的架构组件如下

  1. 实时数据
  2. 房间:
  3. 视图模型:
  4. 存储库:

您可以使用以下方法检查 GitHub 项目

  1. 科特林
  2. MVVM
  3. 喷气背包
  4. 改造2

这是完整的GitHUb 链接https : //github.com/enamul95/kotlin_MVVM_Jetpack

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM