Изучите компоненты архитектуры Android MVVM с помощью kotlin

После поиска информации о компонентах архитектуры Android я понял, что MVVM в некоторых моментах лучше, чем другие архитектуры, поэтому я начал изучать MVVM и использую язык Kotlin. strong> но проблема в том, что когда я ищу учебники, чтобы начать обучение, я нашел много компонентов, таких как RxJava, RxAndroid, Dagger2, Room, Lifecycle и т. д., но они не говорят, почему они их используют и почему они выбирают некоторые определенные компоненты. я покажу вам несколько примеров:

1 – Android MVVM с Dagger2, Retrofit, RxJava

2 – Android MVVM с Dagger2, Retrofit, RxAndroid

3 — Android-приложение с MVVM dagger2 RxJava Livedata и Room

Мои вопросы:

1- Как мне выбрать некоторые из этих компонентов и работать с ними?

2- Откуда мне знать, что мне нужно использовать некоторые из них вместе (например, Livedata и RxJava)?

Это действительно сбивает меня с толку, и я не знаю, как начать.


person houman.sanati    schedule 06.02.2019    source источник
comment
Подпишитесь на руководство и игнорировать RxJava до тех пор, пока вам не понадобится выполнять асинхронные запросы таким образом, чтобы вам потребовались операторы Rx для выражения того, что вы хотите, вместо некоторых MediatorLiveData ;)   -  person EpicPandaForce    schedule 07.02.2019


Ответы (6)


Для начала нужно индивидуально разобраться, зачем использовать Kotlin, MVVM, Dagger, RxJava, Retrofit.

MVVM и Котлин:

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-комната-с-представлением-kotlin/#0

После понимания этих компонентов (Kotlin, MVVM, Dagger, RxJava и RxAndroid, Retrofit, LiveData) по отдельности вам нужно сделать все это в одном проекте, используйте следующую ссылку:

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

person Sushant Poman    schedule 07.02.2019
comment
обязательно ли использовать их все? - person houman.sanati; 07.02.2019
comment
это не обязательно, но для лучшего структурирования кода и обслуживания кода эти вещи используются. так что важно понимать каждую вещь отдельно. - person Sushant Poman; 07.02.2019

Как младший Разработчик Android, я думал так же, как и вы, но я выбираю маршрут, например:

  • Изучите MVVM с помощью шаблона ViewModel (AAC), LiveData, Observable.
  • Сделайте свои асинхронные и многопоточные процессы с помощью Coroutines.
  • Сделайте инъекцию зависимостей с помощью Koin.

(Если вы хотите, вы можете увидеть, как их смешивать. Коины будут добавлены в ближайшее время. https://github.com/furkanaskin/CoinStalker)

Будущее?

Кинжал 2, возможно Rxjava и т.д..

person faskN    schedule 07.02.2019
comment
Рассмотрим overflow.buffer.com/2016/09/26/ - person EpicPandaForce; 07.02.2019

Если вы знакомы с основами Core Android и выполнили как минимум 1 или 2 проекта, вы можете перейти к этому, https://android.jlelse.eu/why-to-choose-mvvm-over-mvp-android-architecture-33c0f2de5516

person abhi.nalavade    schedule 07.02.2019

Возможно, вам нужно начать с основ. Есть несколько официальных лабораторий кода Google по архитектуре Android.

Вы можете начать просмотр этой лаборатории кода, а затем других.

https://codelabs.developers.google.com/codelabs/kotlin-android-training-view-model

person FJCG    schedule 01.08.2019

Приложение Simple Note написано на Kotlin с использованием архитектуры MVVM.

https://github.com/prakashshuklahub/Simple-Notes-Kotlin-App

Компоненты архитектуры, используемые в приложении, следующие:

  1. LiveData
  2. Номер:
  3. ViewModel:
  4. Репозиторий:
person Prakash Shukla    schedule 22.10.2019

Вы можете проверить проект GitHub, используя

  1. Котлин
  2. МВВМ
  3. Реактивный ранец
  4. Модернизация2

Вот полный исходный код GitHUb Link: https://github.com/enamul95/kotlin_MVVM_Jetpack< /а>

person Enamul Haque    schedule 20.02.2020