Что должен знать android разработчик (Часть №2)


Каждый кто начинает освоение профессии андроид разработчика и интесуется вопросом android разработчик 2022, сталкивается на своем пути с проблемой, которая связана с основным вопросом -что должен знать android разработчик.

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

Если Вы не читали предыдущую статью, то переходите к ознакомлению.

Android разработчик 2022: Что должен знать android разработчик — Room и Корутины

Андроид работает с нереляцонной базой данных SQLite. Мы как разработчики работаем с ней через библиотеку Room . Раньше мы напрямую работали с базой данных , но с появлением библотеки Room работа с локальной базой данных на порядок упростилось и работать с ней стало в разы приятнее.

Кроме того эта библиотека позволяет из коробки реализовать многопоточность через корутины — то есть например при клике по кнопке вы хотите что-то отправить в базу данных и перейти на следующий экран. В стандартной однопоточной реализации вы бы сначала записали данные в базу данных, а затем перешли бы на следующий экран -а это лишнее время.  Многопоточность позволяет сразу переходить на след экран и паралельно записывать данные в базу даннных не дожидаясь окончания рабты с базой данных. Это в разы ускоряет работу с приложением.

MYSQL и Retrofit

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

К такой иформации относится например остатки товара, сам католог с товарами, список постов и многое другое.

У всех кто изучает андроид разработку возникает вопрос как же организовать работу с такой информацией. Все довольно просто подобную информацию нужно хранить на сервере в базе данных MYSQL.

Также на этом сервере необходимо написать запросы к этой базе данных на языке php, после чего с помощью библиотеки Retrofit научиться получать эти данные в мобильном приложении.

После этого мы сможем работать с ними получая информацию с сервера и отправляя обновленную информацию также обратно на сервер.

MVVM = MYSQL + Retrofit + Sqlite + Room + Корутниы

Вся проблема работы с базой данных на сервере в том, что процесс работы с ней напрямую довольно долгий и медленный.

Представьте ситуацию. Вам нужно получить данные о товарах определенной категории.

Вы обращаетесь на сервер по сети, после чего получаете и обрабатываете запрос на сервере.

Далее возвращаете контент в приложение и отображаете данные в соответствии с запросом. Посмотрите сколько шагов мы сделали, а это время

Поэтому в андроид разработке принят следующий подход. При запуске приложения мы получаем информацию с сервера, перезаписываем эту информацию в базу данных на устройстве — sqlite и работаем уже с этой информацией через библотеку Room.

Такой подход позволяет:

— увеличить скорость работы

— пользоваться приложеием даже если нет интернета

— получать данные с сервера при этом сохраняя эффективность работы, которую предоставляет библиотека Room

Такой подход пинято реализовывать с помощью паттерна архитектурного проектирования — MVVM.

Когда мы уже начали внедрять архитектуру MVVM — наступает период научиться реализовывать инъекцию зависимостей. Об этом поговорим в следующей статье. Если Вам понравилась данная статья, то поделитесь ею в социальных сетях и напишите свой комментарий! Спасибо за внимание!