Введение в Android Jetpack

Опубликовано: 22 Мая, 2021

Библиотеки поддержки Android используются почти во всех приложениях Android для решения проблем совместимости между различными версиями ОС Android и устройствами. Эти библиотеки также помогают пользователям добавлять в приложение различные виды обновленных виджетов. Со временем эти библиотеки обновляются в соответствии с последними версиями Android. Проблема начинается здесь, имя, данное этим библиотекам поддержки, должно указывать, какая версия Android поддерживается ими, например com.android.support:support-v7 и com.android.support:support-v13. Однако указание номера версии в конце не соответствует своей цели, потому что по мере развития библиотек минимальный уровень версии Android API увеличился до 14. Разработчики также находят эти имена сбивающими с толку, поскольку нельзя сказать, какие все классы включены в конкретный библиотека, просто взглянув на ее имя.

Осознав эти проблемы, с которыми столкнулись разработчики, Google запустил Android Jetpack в 2018 году. Существующие библиотеки поддержки, компоненты архитектуры Android объединены вместе с добавлением библиотеки Android KTX в виде единого модульного объекта и получили название Android Jetpack. Итак, Jetpack - это не что иное, как набор программных компонентов, библиотек, инструментов и руководств, которые помогут в разработке отличных приложений для Android.

Ключевые преимущества Android Jetpack

  • Формирует рекомендуемый способ архитектуры приложения через его компоненты
  • Удалите шаблонный код
  • Упростите сложную задачу
  • Обеспечьте обратную совместимость, поскольку библиотеки, такие как поддержка, отделены от Android API и повторно упакованы в пакет androidx. *
  • Встроенная функция повышения производительности Kotlin Integration

Компоненты Android Jetpack

Программные компоненты Android Jetpack разделены на 4 категории:

  1. Компоненты фундамента
  2. Компоненты архитектуры
  3. Компоненты поведения
  4. Компоненты пользовательского интерфейса

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

Компоненты фундамента

Основные системные компоненты приложений для Android находятся в базовой области Jetpack. В нем также присутствует расширение Kotlin для языковой поддержки и библиотеки тестирования. Более того, обратная совместимость обеспечивается библиотеками, присутствующими в этом компоненте. Ниже приводится список всех компонентов фундамента:

  • AppCompat: все компоненты библиотеки v7, такие как RecyclerView, GridLayout, CardView и т. Д., Включены в библиотеку AppCompat. Кроме того, он содержит поддержку реализации пользовательского интерфейса материального дизайна, которая помогает в ухудшении старых версий Android.
  • Android KTX: эта библиотека включает набор расширений Kotlin, предназначенных для написания краткого кода и упрощения процесса разработки, когда разработчики используют язык Kotlin для создания приложений.
  • Мультидексирование: возможность мультиплексирования в Android играет жизненно важную роль, когда количество методов во всех классах в приложении превышает отметку 65 536. Система разделяет классы и создает их zip-файл, называемый файлом .dex . Компонент Multidex обеспечивает поддержку коллективных файлов dex приложения.
  • Тест: Эта часть включает в себя тестирование рамки Espresso UI для теста выполнения UI и AndroidJUnitRunner для целей модульного тестирования в Android.

Компонент архитектуры

Этот компонент Android Jetpack состоит из восьми библиотек и инструментов, которые отвечают за создание надежных и поддерживаемых приложений. Этот компонент также помогает в правильном управлении данными, используемыми приложением, а также в разработке шаблонов архитектуры приложения. Ниже приведены компоненты этой области:

  • Связывание данных: Предоставляет возможность связывать данные приложения с макетом XML. Привязка данных очень полезна для динамического обновления данных представлений.
  • Жизненные циклы: эта библиотека управляет жизненным циклом активности и фрагмента в приложении, а также помогает прислушиваться к событиям жизненного цикла других компонентов.
  • LiveData: уведомляет представление и автоматически обновляет пользовательский интерфейс при изменении в базе данных.
  • Навигация: содержит все необходимые ресурсы для навигации в приложении. С помощью встроенного средства просмотра навигации в Android Studio разработчики могут визуально проектировать навигацию между действиями и / или фрагментами.
  • Пейджинг: постепенно загружайте данные в RecyclerView приложения из источника данных.
  • Комната: эта библиотека упрощает процесс доступа к базе данных SQLite в приложении для Android. Room также выполняет во время компиляции проверку кода SQL, написанного для выполнения запросов.
  • ViewModel: упрощает управление данными, связанными с пользовательским интерфейсом, с учетом жизненного цикла. Кроме того, он также воссоздает действие или фрагмент во время любого изменения конфигурации, например вращения устройства.
  • WorkManager: решает проблему написания другого кода для управления фоновыми задачами в другой версии Android.

Компоненты поведения

Эта область Android Jetpack охватывает те библиотеки, которые позволяют пользователям взаимодействовать с приложением через пользовательский интерфейс. Этот компонент объединяет стандартные службы Android, такие как уведомление, загрузка, разрешения, совместное использование, помощник и т. Д. Компоненты поведения следующие:

  • DownloadManager: помогает загружать файлы в фоновом режиме. Он самостоятельно управляет и решает такие проблемы, как потеря соединения, повторная попытка и перезагрузка системы во время загрузки.
  • Мультимедиа и воспроизведение: эта библиотека включает классы MediaPlayer и AudioManager. Более того, он предоставляет обратно совместимые API для воспроизведения мультимедиа.
  • Разрешения: отвечает за предоставление совместимых API, необходимых для проверки и запроса разрешений в приложении.
  • Уведомления: он предоставляет API, используемый в уведомлении, и имеет обратную совместимость.
  • Совместное использование: упрощает обмен и получение информации / контента с другими приложениями. Он обеспечивает подходящее действие совместного использования для панели действий приложения, чтобы поделиться данными.
  • Срезы: помогает создавать элементы пользовательского интерфейса, которые являются гибкими по своей природе и позволяют обмениваться данными за пределами приложения.

Компоненты пользовательского интерфейса

Он включает в себя виджеты, анимацию, палитры и т. Д. Для улучшения взаимодействия с пользователем. Он также предоставляет современные шрифты эмодзи для использования в приложениях. Ниже приведены библиотеки, включенные в этот компонент:

  • Анимация и переход: содержит API-интерфейсы для настройки перехода между экранами и анимацией при перемещении виджетов, а также для визуализации обновлений в макете.
  • Авто: включает компоненты для разработки приложений для Android Auto. Эти приложения можно протестировать на экране автомобиля с помощью настольного головного устройства (DHU).
  • Emoji: EmojiCompat обрабатывает все виды шрифтов и символов смайликов. Эта библиотека обновляет приложения с помощью последних смайликов.
  • Фрагмент: это класс поддержки фрагментов, который включает в себя модуль составного пользовательского интерфейса, такой как ListFragment, DialogFragment и PreferenceFragmentCompat.
  • Макет: содержит информацию об объявлении различных типов макетов, таких как LinearLayout, RelativeLayout, ContraintLayout.
  • Palette: эта библиотека позволяет разработчикам создавать палитру и выбирать разные цвета с помощью класса Palette.Builder. Более того, он помогает извлекать цвета из тем и изображений, чтобы сделать интерфейс совместимым с изображениями, присутствующими на экране.
  • TV: включает компоненты для разработки приложений Android TV.
  • Wear: содержит библиотеки и классы для разработки приложений для носимых устройств Android, таких как умные часы.

Что нового в Android Jetpack

  • WorkManager: новая мощная библиотека, которая предоставляет современные API-интерфейсы для управления фоновыми заданиями, которые требуют гарантированного выполнения, без написания другого кода для другой версии Android.
  • Навигация: структура для структурирования пользовательского интерфейса в приложении, а также для визуального просмотра свойств навигации и управления ими.
  • Пейджинг: простой и эффективный способ быстрой загрузки и представления больших наборов данных с бесконечной прокруткой в RecyclerView. Разработчики могут явно определить, как загружать содержимое.
  • Фрагменты: очень новая функция, которая позволяет отображать пользовательский интерфейс приложения в результатах поиска Google Assistant.
  • Android KTX (расширения Kotlin): преобразование нескольких строк кода Kotlin в одну строку, что повышает продуктивность разработчиков, использующих язык Kotlin.
Хотите более динамичную и конкурентную среду для изучения основ Android?
Щелкните здесь, чтобы перейти к уникальному руководству, составленному нашими экспертами с целью мгновенно подготовить вашу отрасль!