Skip to main content

Логика приложения

Помимо пользовательского интерфейса любое мобильное приложение содержит логику работы (еще называют бизнес логикой), например:

  • Обращения к серверу для получения данных
  • Локальное хранение данных
  • Валидация форм ввода
  • Обращение к системным API для интеграции - получение фото, видео и подобное
  • Алгоритмы рассчитывающие некие данные на основе ввода пользователя
  • ...

Логику приложения принято отделять от пользовательского интерфейса, чтобы была понятная зона ответственности каждого блока кода. Для разделения логики и UI требуется решение для их взаимодействия, ведь совсем независимо они не могут быть.

Ознакомимся с современными подходами построения логики приложений по материалам Google. Обязательно в конце проверь себя пройдя небольшой тест.

ViewModel​

Ознакомиться детальнее с ViewModel и Kotlin flows помогут следующие материалы:

Network client​

Практически все приложения выполняют работу с сетью. Классический способ выполнения сетевых запросов в Android это библиотека Retrofit. Альтернативный современный клиент - Ktor

CodeLab Get data from the internet даст более детальное представление о библиотеке Retrofit и как её использовать.

Coroutines​

В CodeLab Get data from the internet для выполнения асинхронной задачи (обращения к серверу) использовались kotlinx.coroutines. Это популярная библиотека для выполнения асинхронных и многопоточных задач.

Свое знакомство с Coroutines начните с изучения раздела документации coroutines basics, а затем выполните Hands On Introduction to Coroutines and Channels.

В дальнейшем (вне текущего курса) для изучения coroutines используйте подборку материалов из базы знаний.

Dependency Injection​

Разные классы приложения должны между собой связываться. Чтобы связанность классов не стала слишком жесткой, что усложнит поддержку кода, используют паттерн Dependency Injection.

Подробнее позволит разобраться статья Dependency Injection и Koin in Android app tutorial.