Изучите компоненты архитектуры Android MVVM с помощью kotlin - PullRequest
0 голосов
/ 07 февраля 2019

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

1 - Android MVVM с Dagger2, Retrofit, RxJava

2 - Android MVVM с Dagger2, Retrofit,RxAndroid

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

Мои вопросы:

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

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

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

Ответы [ 4 ]

0 голосов
/ 01 августа 2019

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

Вы можете посмотреть на эту лабораторию кода и другие.

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

0 голосов
/ 07 февраля 2019

Прежде всего вам необходимо индивидуально понять, почему использовать 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

0 голосов
/ 07 февраля 2019

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

0 голосов
/ 07 февраля 2019

как младшийAndroid-разработчик, я думал, как вы, но я выбираю маршрут как:

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

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

Будущее?

Dagger 2, может быть, Rxjava и т.д ..

...