Android Architecture Components - это набор решений от Google, которые помогут вам в разработке приложений.  В них можно выделить два основных направления.

 

1. Activity и Fragment Lifecycle

Architecture Components предоставляют несколько механизмов, сочетание которых, позволит вам удобно обрабатывать повороты экрана.

Lifecycle - отслеживает текущий статус Activity и может уведомлять об этом своих подписчиков

LiveData - получает и хранит данные, может отправлять их своим подписчикам

ViewModel - поможет сохранить живыми необходимые для вас объекты при повороте экрана

Первые 4 урока курса подробно расскажут об этих компонентах.

 

Полезные ссылки по теме:

ViewModel и LiveData: паттерны и антипаттерны

 

 

2. База данных

Room - удобная обертка для работы с базой данных.

Paging Library - библиотека для постраничной загрузки данных из базы данных.

Об этих компонентах еще будут новые уроки.

 

 

Обсуждать эту тему можно в нашем Telegram чате.

 

После теоретических уроков я планирую поразбирать интересные примеры, в которых используются эти компоненты.

 

 

Список уроков:

  • Урок 1. Lifecycle

    В этом уроке рассмотрим возможности Lifecycle. Как подписаться на его события. Как узнать текущее состояние Activity.

  • Урок 2. LiveData

    В этом уроке рассмотрим основные возможности LiveData. Как подписаться на его данные. Как помещать в него данные. Как он взаимодействует со своими подписчиками.

  • Урок 3. LiveData. Дополнительные возможности

    В прошлом уроке мы разобрались, как отправлять и получать данные в LiveData. В этом уроке рассмотрим несколько дополнительных возможностей. Как преобразовать тип данных с помощью map. Как создать свой LiveData. Как объединить несколько LiveData в один с помощью MediatorLiveData.

  • Урок 4. ViewModel

    В этом уроке рассмотрим, как использовать ViewModel. Как сохранять данные при повороте экрана. Как передать Context в ViewModel. Как передать свои данные в конструктор модели с помощью фабрики. Как передать данные между фрагментами. Что использовать: ViewModel или onSavedInstanceState.

  • Урок 5. Room. Основы

    Библиотека Room предоставляет нам удобную обертку для работы с базой данных SQLite. В этом уроке рассмотрим основы. Как подключить к проекту. Как получать, вставлять, обновлять и удалять данные. 

  • Урок 6. Room. Entity

    В этом уроке более подробно рассмотрим возможности Entity. Как задать имя таблицы. Как задать имя или тип поля. Как создать составной или внешний ключ. Как создать индекс. Как использовать вложенные объекты.

  • Урок 7. Room. Insert, Update, Delete, Transaction

    В этом уроке рассмотрим подробнее аннотации Insert, Update и Delete. А также узнаем, как использовать транзакции в Room.

  • Урок 8. Room. Query

    В этом уроке поговорим подробнее про Query. В каком виде мы можем получать данные: List, массив, Cursor, LiveData. Как передавать параметры. Как получать только некоторые поля. Как с помощью Query выполнять update и delete запросы в Room.

  • Урок 9. Room. RxJava

    В этом уроке рассмотрим возможность совместного использования RxJava и Room. Как получать данные в Flowable, Single и Maybe.

  • Урок 10. Room. Запрос из нескольких таблиц. Relation

    В этом уроке рассмотрим, как получать данные из нескольких таблиц. А также разберемся, как использовать аннотацию Relation. 

 

 


Language