Андроид Джетпак
Jetpack — это набор библиотек, которые помогут вам следовать лучшим практикам, сократить количество шаблонного кода и писать код, который будет одинаково работать на всех версиях Android, устройствах и форм-факторах, чтобы вы могли сосредоточиться на самом важном для вас коде.
Jetpack Compose
Разработка пользовательского интерфейса с помощью Compose
Современный набор инструментов для создания собственного пользовательского интерфейса, который позволяет упростить и ускорить разработку пользовательского интерфейса на Android.
Зачем использовать Android Jetpack?
Следуйте рекомендациям
Библиотеки Android Jetpack, созданные на основе современных методов проектирования, позволяют уменьшить количество сбоев и утечек памяти благодаря встроенной обратной совместимости.
Устранить шаблонный код
Android Jetpack управляет рутинными действиями, такими как фоновые задачи, навигация и управление жизненным циклом, поэтому вы можете сосредоточиться на том, что делает ваше приложение отличным.
Уменьшить фрагментацию
Уменьшите сложность с помощью библиотек, которые одинаково работают на всех версиях Android и устройствах.
Библиотеки Jetpack Просмотреть все библиотеки
* Популярные и часто используемые библиотеки указаны первыми.
| активность * | Получите доступ к компонуемым API, созданным на основе Activity. |
| Material Design 3 Адаптивные компоненты | Создавайте адаптивные пользовательские интерфейсы с помощью компонентов Material Design 3. |
| appcompat * | Позволяет получить доступ к новым API на старых версиях API платформы (многие из которых используют Material Design). |
| appsearch * | Создавайте индивидуальные возможности поиска в приложении для своих пользователей. |
| камера * | Создавайте приложения для мобильных камер. |
| сочинить * | Определите свой пользовательский интерфейс программно с помощью компонуемых функций, которые описывают его форму и зависимости от данных. |
| привязка данных * | Свяжите компоненты пользовательского интерфейса в макетах с источниками данных в вашем приложении, используя декларативный формат. |
| фрагмент * | Разделите свое приложение на несколько независимых экранов, размещенных в Activity. |
| рукоять * | Расширьте функциональность Dagger Hilt, включив внедрение зависимостей определенных классов из библиотек androidx. |
| жизненный цикл * | Создавайте компоненты, учитывающие жизненный цикл, которые могут корректировать поведение на основе текущего состояния жизненного цикла действия или фрагмента. |
| Компоненты материального дизайна * | Модульные и настраиваемые компоненты пользовательского интерфейса Material Design для Android. |
| навигация * | Создавайте и структурируйте пользовательский интерфейс вашего приложения, обрабатывайте глубокие ссылки и перемещайтесь между экранами. |
| пейджинг * | Загрузите данные на страницы и представьте их в RecyclerView. |
| комната * | Создавайте, храните и управляйте постоянными данными на основе базы данных SQLite. |
| тест * | Тестирование на Android. |
| работа * | Планируйте и выполняйте откладываемые фоновые задачи на основе ограничений. |
| реклама | Получите рекламный идентификатор с Play Services или без него. |
| аннотация | Предоставляйте метаданные, которые помогут инструментам и другим разработчикам понять код вашего приложения. |
| функции приложения | TODO |
| арх.ядро | Вспомогательный модуль для других архитектурных зависимостей, включая тестовые правила JUnit, которые можно использовать с LiveData. |
| asynclayoutinflater | Размещайте макеты асинхронно, чтобы избежать подтормаживаний в пользовательском интерфейсе. |
| автозаполнение | Повысьте точность автозаполнения за счет расширенных подсказок. |
| бенчмарк | Точно измеряйте производительность вашего кода в Android Studio. |
| биометрический | Аутентифицируйтесь с помощью биометрических данных или учетных данных устройства и выполняйте криптографические операции. |
| Bluetooth | Используйте функции Bluetooth платформы Android с обратно совместимыми API. |
| браузер | Отображение веб-страниц в браузере пользователя по умолчанию. |
| запрос комбинации функций камеры | Запрос возможностей камеры. |
| камера.media3 | TODO |
| камера.видоискатель | Автономный компоновочный и ориентированный на просмотр видоискатель для камеры |
| автомобильное приложение | Создавайте шаблонные приложения для Android Auto и Android Automotive OS. |
| просмотр карты | Реализуйте шаблон карточки Material Design с закругленными углами и тенями. |
| коллекция | Уменьшить воздействие на память существующих и новых коллекций, имеющих небольшой размер. |
| compose.animation | Создавайте анимацию в своих приложениях Jetpack Compose, чтобы обогатить пользовательский опыт. |
| compose.компилятор | Преобразуйте функции @Composable и включите оптимизацию с помощью плагина компилятора Kotlin. |
| compose.foundation | Создавайте приложения Jetpack Compose с помощью готовых строительных блоков и расширяйте базу для создания собственных элементов системы проектирования. |
| сочинить.материал | Создавайте пользовательские интерфейсы Jetpack Compose с помощью готовых компонентов Material Design. Это высокоуровневая точка входа в Compose, предназначенная для предоставления компонентов, соответствующих описанным на сайте www.material.io. |
| compose.material3 | Создавайте пользовательские интерфейсы Jetpack Compose с компонентами Material Design 3 — следующим этапом развития Material Design. Material 3 включает в себя обновлённые темы и компоненты, а также функции персонализации Material You, такие как динамическая подсветка, и разработан для соответствия новому визуальному стилю и пользовательскому интерфейсу Android 12. |
| compose.material3.adaptive | Используйте адаптивную библиотеку Material 3 для создания адаптивных пользовательских интерфейсов, которые будут автоматически адаптироваться к текущим конфигурациям окна, таким как классы его размеров или положение устройства. Библиотека предоставляет как стандартные реализации шаблонов, так и необходимые компоновочные блоки для создания собственных интерфейсов. |
| compose.runtime | Основные строительные блоки модели программирования Compose и управления состоянием, а также основная среда выполнения для целевого плагина компилятора Compose. |
| compose.ui | Основные компоненты пользовательского интерфейса, необходимые для взаимодействия с устройством, включая макет, рисование и ввод. |
| одновременный | Перенесите задачи из основного потока с помощью сопрограмм и воспользуйтесь преимуществами ListenableFuture. |
| restrictionlayout | Размещайте и изменяйте размер виджетов гибко с помощью относительного позиционирования. |
| контентпейджер | Загрузка и пролистывание данных ContentProvider в фоновом потоке. |
| координатормакет | Разместите виджеты приложения верхнего уровня, такие как AppBarLayout и FloatingActionButton. |
| основной | Ориентируйтесь на новейшие функции платформы и API, а также поддерживайте старые устройства. |
| core.uwb | Реализовать UWB (сверхширокополосную связь) на поддерживаемых устройствах. |
| реквизиты для входа | Эта библиотека обеспечивает унифицированный доступ к учётным данным пользователя. Сюда могут входить пароли, ключи доступа и федеративные учётные данные. Эту библиотеку следует использовать для обеспечения бесперебойного и безопасного входа в систему. |
| credentials.providerevents | TODO |
| credentials.registry | Для решения этих проблем мы добавляем новый механизм регистрации, который позволяет приложению предоставлять цифровые учётные данные с сохранением конфиденциальности. На высоком уровне приложение-поставщик будет предварительно регистрировать все свои потенциальные цифровые учётные данные в диспетчере учётных данных. Когда диспетчер учётных данных получает запрос от приложения на определённые цифровые учётные данные, он запускает пользовательский интерфейс для сопоставления учётных данных и выбора пользователя в изолированной среде. |
| курсорадаптер | Предоставьте данные курсора виджету ListView. |
| пользовательское представление | Реализуйте пользовательские представления. |
| хранилище данных | Храните данные асинхронно, последовательно и транзакционно, преодолевая некоторые недостатки SharedPreferences. |
| файл документа | Просмотреть файл документа. |
| перетаскивание | Принимайте данные перетаскивания из другого приложения или внутри приложения и демонстрируйте постоянную возможность перетаскивания. |
| расположение ящиков | Реализуйте виджет ящика Material Design. |
| динамическая анимация | Создавайте плавные анимации с помощью API анимации на основе физики. |
| эмодзи | Отображение эмодзи на современных и старых устройствах. |
| эмодзи2 | Отображение эмодзи на современных и старых устройствах. |
| предприятие | Создавайте корпоративные приложения. |
| exifinterface | Чтение и запись EXIF-тегов файлов изображений. |
| игры | Используйте Android Game SDK непосредственно в своем приложении для выполнения сложных игровых задач, таких как Frame Pacing. |
| взглянуть мельком | Создавайте макеты для удаленных поверхностей с помощью API в стиле Jetpack Compose. |
| графика | Используйте графические возможности на различных платформах Android |
| сетка | Реализуйте сетку макета. |
| здоровье | Создавайте эффективные приложения для здравоохранения, не зависящие от платформы. |
| здоровье.подключение | Позволяет разработчикам читать или записывать данные о здоровье и физической форме пользователя. |
| автор-исполнитель | Кодируйте изображение или коллекцию изображений в формате HEIF, используя доступные кодеки на устройстве Android. |
| чернила | Вдохновляйте на создание лучших в своем классе приложений для перьевого ввода. Снизьте порог входа для разработчиков, чтобы получить высокопроизводительные и красивые возможности рукописного ввода. |
| вход | Уменьшите задержку взаимодействия с пользователем, прогнозируя будущие события MotionEvents. |
| интерполятор | Используйте интерполяторы анимации на старых платформах. |
| javascriptengine | Включите в своем Android-приложении возможность оценки JavaScript. |
| очиститель | Автономный инструмент, который переносит зависимости библиотеки от устаревшей библиотеки поддержки в эквивалентные зависимости AndroidX. |
| откидываться назад | Используйте Compose for TV вместо этого артефакта. |
| наследие | Этот артефакт и его классы устарели. Начиная с Android 8, ограничения проверки фоновых данных делают этот класс бесполезным. |
| ворс | Проверки Lint для подтверждения использования API Gradle |
| погрузчик | Загрузите данные для вашего пользовательского интерфейса, которые сохранят актуальность при изменении конфигурации. |
| локальный менеджер вещания | Этот артефакт и его классы устарели. Вместо этого используйте LiveData или реактивные потоки. |
| СМИ | Обмен медиаконтентом и элементами управления с другими приложениями. Заменено на media3. |
| медиа3 * | Вспомогательные библиотеки для вариантов использования мультимедиа. |
| медиамаршрутизатор | Обеспечьте возможность отображения и воспроизведения мультимедиа на удаленных приемных устройствах с помощью общего пользовательского интерфейса. |
| мультидекс | Развертывание приложений с несколькими файлами dex на устройствах до Android 5. |
| метрики | Отслеживайте и сообщайте различные показатели времени выполнения вашего приложения. |
| навигация3 | Navigation 3 — это новая навигационная библиотека, разработанная для работы с Compose. |
| навигационное событие | Библиотека событий навигации предоставляет API KMP-first для обработки системных обратных вызовов, а также [Predictive Back](/guide/navigation/custom-back/predictive-back-gesture). |
| палитра | Извлекайте репрезентативные цветовые палитры из изображений. |
| Библиотека для добавления возможностей просмотра PDF-файлов внутри приложений. | |
| процентная раскладка | Этот артефакт и его классы устарели. Вместо него используйте ConstraintLayout и связанные с ним макеты. |
| производительность | Предоставляет исходные аннотации для оптимизации производительности. |
| фотопикер | Эта библиотека обеспечивает интеграцию Compose и Android Views для встроенного средства выбора фотографий. |
| предпочтение | Создавайте интерактивные экраны настроек без необходимости взаимодействия с хранилищем устройства или управления пользовательским интерфейсом. |
| печать | Печатайте фотографии, документы и другие графики и изображения из вашего приложения. |
| privacysandbox.activity | TODO |
| privacysandbox.ads | Эта библиотека обеспечивает интеграцию с API-интерфейсами сохранения конфиденциальности, которые являются частью Privacy Sandbox на Android. |
| privacysandbox.plugins | Android Privacy Sandbox Sdk Library Gradle Plugin |
| privacysandbox.sdkruntime | Эта библиотека предоставляет компоненты для потребителей, поддерживающих SdkRuntime. |
| privacysandbox.tools | Библиотека для использования функции Privacy Sandbox в Android |
| privacysandbox.ui | TODO |
| установщик профилей | Позволяет библиотекам заранее заполнять трассировки компиляции для чтения ART. |
| рекомендация | Размещайте контент на главном экране Android TV Launcher. |
| recyclerview | Отображайте большие наборы данных в своем пользовательском интерфейсе, минимизируя использование памяти. |
| удаленный обратный вызов | Создайте оболочку, которая упростит разработчикам предоставление PendingIntent. |
| инспекция ресурсов | Просмотрите атрибуты пользовательских представлений в Live Layout Inspector Android Studio. |
| сохраненное состояние | Напишите подключаемые компоненты, которые сохраняют состояние пользовательского интерфейса при завершении процесса и восстанавливают его при перезапуске процесса. |
| безопасность | Безопасное управление ключами, шифрование файлов и общих настроек. |
| sharetarget | Обеспечить обратную совместимость для использования ярлыков в качестве прямых целей обмена. |
| ломтик | Отображайте шаблонные элементы пользовательского интерфейса за пределами вашего приложения. |
| раздвижная панель | Реализуйте шаблон пользовательского интерфейса со скользящей панелью. |
| запускать | Реализуйте простой и производительный способ инициализации компонентов при запуске приложения. |
| SQLite | Работайте с локальными базами данных SQLite. По возможности используйте Room. |
| swiperefreshlayout | Реализуйте шаблон пользовательского интерфейса «проведите для обновления». |
| test.uiautomator | Фреймворк для кросс-приложенийного функционального тестирования пользовательского интерфейса |
| классификатор текста | Определяет диалоги, ссылки, выделения и другие подобные конструкции в тексте. |
| трассировка | Записывать события трассировки в системный буфер трассировки. |
| переход | Анимируйте движение в пользовательском интерфейсе с помощью начальных и конечных макетов. |
| тв | Предоставляет разработчикам функции Compose и Material Design для написания приложений для ТВ. |
| телепровайдер | Предоставляем каналы Android TV. |
| текст | TODO |
| xr.arcore | Перенесите цифровой контент в реальный мир с помощью возможностей восприятия. |
| xr.compose | Декларативно создавайте пространственные макеты пользовательского интерфейса, которые используют пространственные возможности Android XR. |
| xr.compose.material3 | Создавайте с использованием компонентов Material и макетов, адаптируемых к XR |
| xr.projected | TODO |
| xr.время выполнения | Начните свой сеанс дополненной реальности или 3D-графики с помощью нашей собственной среды выполнения. |
| xr.scenecore | Создавайте и управляйте графом сцены Android XR с 3D-контентом. |
| векторный | Рендеринг векторной графики. |
| версионныйparcelable | Обеспечивает стабильный и компактный формат двоичной сериализации, который можно передавать между процессами или безопасно сохранять. |
| вьюпейджер | Отображайте представления или фрагменты в формате, удобном для пролистывания. По возможности используйте viewpager2. |
| viewpager2 | Отображение представлений или фрагментов в прокручиваемом формате. |
| носить | Создание приложений для умных часов Wear OS от Google. |
| носить.сочинять | Создавайте приложения Jetpack Compose для устройств Wear OS, предоставляя функциональность для поддержки различных размеров устройств и жестов навигации. |
| wear.protolayout | Эта библиотека позволяет определять набор макетов пользовательского интерфейса и выражений, не относящихся к пользовательскому интерфейсу, для визуализации/оценки на удаленных поверхностях. |
| носить.плитки | Создание приложений для умных часов Wear OS от Google. |
| носить.циферблат | Создание приложений для умных часов Wear OS от Google. |
| wear.watchfacepush | Watch Face Push позволяет приложению Wear OS программно устанавливать циферблат на часы. |
| вебкит | Работайте с современными API WebView на Android 5 и выше. |
| окно | Обеспечивает поддержку различных форм-факторов устройств, например складных устройств. |
| window.extensions.core | Основные API для расширений библиотеки оконного менеджера |
Научитесь использовать Джетпак
Обучение основам
Изучите основные библиотеки Jetpack в курсе «Основы Android с Compose» и уменьшите количество шаблонов в своем приложении.
Практическое руководство
Получите практический опыт работы с тремя библиотеками Jetpack, которые упрощают уровень данных: LiveData, ViewModel и Room.
Пример приложения «Подсолнух»
Узнайте, как самые популярные библиотеки Jetpack используются вместе в приложении промышленного уровня.