Андроид Джетпак
Jetpack — это набор библиотек, которые помогут вам следовать лучшим практикам, сократить количество шаблонного кода и писать код, который будет одинаково работать на всех версиях Android, устройствах и форм-факторах, чтобы вы могли сосредоточиться на самом важном для вас коде.
Jetpack Compose
Разработка пользовательского интерфейса с помощью Compose
Современный набор инструментов для создания собственного пользовательского интерфейса, который позволяет упростить и ускорить разработку пользовательского интерфейса на Android.
Зачем использовать Android Jetpack?
Следуйте рекомендациям
Библиотеки Android Jetpack, созданные на основе современных методов проектирования, позволяют уменьшить количество сбоев и утечек памяти благодаря встроенной обратной совместимости.
Устранить шаблонный код
Android Jetpack берет на себя рутинную работу, такую как управление фоновыми задачами, навигацией и жизненным циклом активности, чтобы вы могли сосредоточиться на создании отличного приложения.
Уменьшить фрагментацию
Уменьшите сложность с помощью библиотек, которые одинаково работают на всех версиях Android и устройствах.
Сборка для любого размера дисплея
Библиотеки Jetpack, такие как androidx.compose.material3.adaptive.layout, упрощают разработку адаптивных макетов, оптимизированных для всех размеров дисплеев.
Научитесь использовать Джетпак
Обучение основам
Изучите основные библиотеки Jetpack в курсе «Основы Android с Compose» и уменьшите количество шаблонов в своем приложении.
Практическое руководство
Получите практический опыт работы с тремя библиотеками Jetpack, которые упрощают уровень данных: LiveData, ViewModel и Room.
Теперь в примере приложения для Android
Узнайте, как современная архитектура Android реализована в реальном приложении.
Библиотеки Jetpack Просмотреть все библиотеки
* Популярные и часто используемые библиотеки перечислены первыми.
| активность * | Получите доступ к компонуемым API, построенным на основе Activity. |
| Адаптивные компоненты Material Design 3 | Создавайте адаптивные пользовательские интерфейсы с помощью компонентов Material Design 3. |
| совместимость с приложениями * | Предоставляет доступ к новым API на более старых версиях API платформы (многие из которых используют Material Design). |
| поиск приложений * | Создайте настраиваемые функции поиска внутри приложения для ваших пользователей. |
| камера * | Разрабатывайте мобильные приложения для камер. |
| составить * | Определяйте свой пользовательский интерфейс программно с помощью компонуемых функций, описывающих его структуру и зависимости данных. |
| привязка данных * | Привязывайте компоненты пользовательского интерфейса в ваших макетах к источникам данных в вашем приложении, используя декларативный формат. |
| фрагмент * | Разделите ваше приложение на несколько независимых экранов, размещенных в рамках Activity. |
| рукоять * | Расширить функциональность Dagger Hilt, чтобы обеспечить внедрение зависимостей в определенные классы из библиотек androidx. |
| жизненный цикл * | Создавайте компоненты, учитывающие жизненный цикл, которые могут корректировать свое поведение в зависимости от текущего состояния жизненного цикла активности или фрагмента. |
| Компоненты материального дизайна * | Модульные и настраиваемые компоненты пользовательского интерфейса Material Design для Android. |
| навигация * | Создавайте и структурируйте пользовательский интерфейс вашего приложения, обрабатывайте прямые ссылки и осуществляйте навигацию между экранами. |
| пейджинг * | Загружайте данные по страницам и отображайте их в RecyclerView. |
| комната * | Создавайте, храните и управляйте постоянными данными с помощью базы данных SQLite. |
| тест * | Тестирование в Android. |
| работа * | Планирование и выполнение отложенных фоновых задач с учетом ограничений. |
| реклама | Получите рекламный идентификатор с Play Services или без него. |
| аннотация | Предоставьте доступ к метаданным, которые помогут инструментам и другим разработчикам понять код вашего приложения. |
| функции приложения | TODO |
| arch.core | Вспомогательная функция для других архитектурных зависимостей, включая правила JUnit-тестирования, которые можно использовать с LiveData. |
| asynclayoutinflater | Для предотвращения зависаний в пользовательском интерфейсе, заполняйте макеты асинхронно. |
| автозаполнение | Повысьте точность автозаполнения, расширив подсказки. |
| бенчмарк | Точно измеряйте производительность своего кода в Android Studio. |
| биометрические данные | Аутентификация с использованием биометрических данных или учетных данных устройства, а также выполнение криптографических операций. |
| Bluetooth | Используйте функции Bluetooth платформы Android с обратно совместимыми API. |
| браузер | Отображать веб-страницы в браузере пользователя по умолчанию. |
| camera.featurecombinationquery | Запрос возможностей камеры. |
| camera.media3 | TODO |
| камера.видоискатель | Автономный, настраиваемый и видоискатель для камеры. |
| автомобильное приложение | Создавайте шаблонные приложения для Android Auto и Android Automotive OS. |
| карточный просмотр | Реализуйте шаблон Material Design для карточек с закругленными углами и тенями. |
| коллекция | Уменьшите потребление памяти существующими и новыми небольшими коллекциями. |
| compose.animation | Создавайте анимации в их приложениях Jetpack Compose, чтобы улучшить пользовательский опыт. |
| compose.compiler | Преобразуйте функции с аннотацией @Composable и включите оптимизацию с помощью плагина компилятора Kotlin. |
| compose.foundation | Создавайте приложения Jetpack Compose, используя готовые к применению строительные блоки, и расширяйте их функциональность для создания собственных элементов дизайн-системы. |
| compose.material | Создавайте пользовательские интерфейсы 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.remote | TODO |
| compose.runtime | Основные компоненты программной модели Compose и системы управления состоянием, а также основная среда выполнения, на которую ориентирован плагин компилятора Compose. |
| compose.ui | Основные компоненты Compose UI, необходимые для взаимодействия с устройством, включают в себя компоновку, отрисовку и ввод данных. |
| одновременный | Переносите задачи из основного потока в сопрограммы и используйте преимущества ListenableFuture. |
| constraintlayout | Гибкое позиционирование и изменение размера виджетов с помощью относительного позиционирования. |
| контентпейджер | Загрузка и постраничная обработка данных ContentProvider осуществляется в фоновом потоке. |
| координатная компоновка | Разместите виджеты верхнего уровня приложения, такие как AppBarLayout и FloatingActionButton. |
| основной | Ориентируйтесь на новейшие функции платформы и API, одновременно поддерживая более старые устройства. |
| core.uwb | Реализуйте технологию UWB (сверхширокополосная связь) на поддерживаемых устройствах. |
| реквизиты для входа | Эта библиотека обеспечивает единый доступ к учетным данным пользователя. Сюда могут входить пароли, ключи доступа и федеративные учетные данные. Эту библиотеку следует использовать для обеспечения бесперебойного и безопасного входа в систему. |
| credentials.providerevents | Эта библиотека предоставляет набор API для поставщиков учетных данных, позволяющих участвовать в событиях поставщика, таких как передача учетных данных и сигнализация об изменении учетных данных. |
| учетные данные.реестр | Для решения этих проблем мы добавляем новый механизм регистрации, который позволяет приложению предоставлять цифровые учетные данные с сохранением конфиденциальности. В общих чертах, приложение-поставщик будет предварительно регистрировать все свои потенциальные цифровые учетные данные в Менеджере учетных данных; когда Менеджер учетных данных получит запрос приложения на конкретные цифровые учетные данные, он запустит сопоставление учетных данных и выбор пользователя в изолированной среде. |
| курсорадаптер | Предоставьте доступ к данным курсора виджету ListView. |
| пользовательский просмотр | Реализуйте пользовательские представления. |
| хранилище данных | Хранение данных осуществляется асинхронно, согласованно и транзакционно, что позволяет преодолеть некоторые недостатки SharedPreferences. |
| документфайл | Просмотреть документ. |
| перетаскивание | Принимайте данные, перетаскиваемые из другого приложения или внутри него, и демонстрируйте единообразную область для перетаскивания. |
| расположение ящиков | Реализуйте виджет выдвижной панели в стиле Material Design. |
| динамическая анимация | Создавайте плавные анимации с помощью API анимации, основанного на физике. |
| эмодзи | Отображение эмодзи на современных и старых устройствах. |
| эмодзи2 | Отображение эмодзи на современных и старых устройствах. |
| предприятие | Создавайте приложения, готовые к использованию в масштабах предприятия. |
| exifinterface | Чтение и запись EXIF-тегов файлов изображений. |
| игры | Используйте Android Game SDK непосредственно в своем приложении для выполнения сложных игровых задач, таких как регулировка частоты кадров. |
| взглянуть мельком | Создавайте макеты для удаленных поверхностей, используя API в стиле Jetpack Compose. |
| графика | Используйте графические возможности различных версий Android. |
| сетка | Реализуйте сеточную компоновку. |
| здоровье | Создавайте высокопроизводительные приложения для здравоохранения, не зависящие от платформы. |
| здоровье.связь | Позволяет разработчикам читать и записывать данные о здоровье и физической форме пользователей. |
| heifwriter | Закодируйте изображение или коллекцию изображений в формате HEIF, используя доступные на устройстве Android кодеки. |
| чернила | Создавайте лучшие в своем классе приложения для работы с пером. Снизьте порог входа для разработчиков, чтобы обеспечить высокопроизводительный и красивый опыт рисования. |
| вход | Уменьшите задержку при взаимодействии с входными данными, прогнозируя будущие события движения (MotionEvents). |
| интерполятор | Используйте интерполяторы анимации на более старых платформах. |
| javascriptengine | Включите поддержку JavaScript в вашем Android-приложении. |
| джетификатор | Автономный инструмент, который переносит зависимости библиотеки от устаревшей библиотеки поддержки на эквивалентные зависимости AndroidX. |
| откинувшись назад | Вместо этого артефакта используйте программу Compose for TV. |
| наследие | Этот артефакт и его классы устарели. Начиная с Android 8, ограничения фоновой проверки делают этот класс бесполезным. |
| ворс | Линт-проверки для подтверждения использования API Gradle. |
| погрузчик | Загружайте данные для пользовательского интерфейса, которые сохраняются при изменении конфигурации. |
| localbroadcastmanager | Этот артефакт и его классы устарели. Используйте LiveData или реактивные потоки вместо них. |
| СМИ | Делитесь мультимедийным контентом и элементами управления с другими приложениями. Заменено приложением media3. |
| медиа3 * | Библиотеки поддержки для сценариев использования мультимедиа. |
| медиамаршрутизатор | Обеспечьте отображение и воспроизведение мультимедиа на удаленных приемных устройствах с помощью единого пользовательского интерфейса. |
| мультидекс | Развертывание приложений с несколькими dex-файлами на устройствах, предшествующих Android 5. |
| метрики | Отслеживайте и сообщайте различные метрики времени выполнения вашего приложения. |
| навигация3 | Navigation 3 — это новая библиотека навигации, разработанная для работы с Compose. |
| событие навигации | Библиотека Navigation Event предоставляет API, ориентированный на KMP, для обработки как системного возврата, так и [предсказательного возврата](/guide/navigation/custom-back/predictive-back-gesture). |
| палитра | Извлеките репрезентативные цветовые палитры из изображений. |
| Библиотека для добавления возможности просмотра PDF-файлов в приложения. | |
| процентная компоновка | Этот артефакт и его классы устарели. Используйте вместо них ConstraintLayout и связанные с ним макеты. |
| производительность | Предоставляет аннотации исходного кода для оптимизации производительности. |
| фотовыбор | Эта библиотека обеспечивает интеграцию Compose и Android Views для встроенного средства выбора фотографий. |
| предпочтение | Создавайте интерактивные экраны настроек, не взаимодействуя с памятью устройства и не управляя пользовательским интерфейсом. |
| печать | Печатайте фотографии, документы и другие графические материалы и изображения прямо из приложения. |
| privacysandbox.activity | TODO |
| privacysandbox.ads | Эта библиотека обеспечивает интеграцию с API, обеспечивающими сохранение конфиденциальности, которые являются частью Privacy Sandbox на Android. |
| privacysandbox.plugins | Библиотека SDK для обеспечения конфиденциальности Android, плагин Gradle |
| privacysandbox.sdkruntime | Эта библиотека предоставляет компоненты для пользователей, поддерживающих SDK Runtime. |
| privacysandbox.tools | Библиотека для использования функциональности «песочницы конфиденциальности» в Android. |
| privacysandbox.ui | TODO |
| profileinstaller | Позволяет библиотекам заранее заполнять трассировки компиляции для чтения системой 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 Design, адаптированных для XR. |
| xr.gimmer | Язык проектирования и набор инструментов пользовательского интерфейса для создания дополненной реальности (XR) для Android. |
| xr.projected | Создавайте приложения, использующие уникальные возможности подключенных устройств XR. |
| xr.runtime | Начните свою пользовательскую сессию дополненной реальности или 3D-графики с помощью нашей собственной среды выполнения. |
| xr.scenecore | Создавайте и управляйте графом сцены Android XR с помощью 3D-контента. |
| векторный рисунок | Визуализация векторной графики. |
| versionedparcelable | Предоставляет стабильный и компактный формат двоичной сериализации, который может передаваться между процессами или безопасно сохраняться. |
| viewpager | Отображайте представления или фрагменты в формате, допускающем пролистывание. По возможности используйте viewpager2. |
| viewpager2 | Отображение представлений или фрагментов в формате, допускающем пролистывание. |
| носить | Создавайте приложения для умных часов Wear OS от Google. |
| wear.compose | Создавайте приложения Jetpack Compose для устройств Wear OS, предоставляя функциональность для поддержки различных размеров устройств и жестов навигации. |
| wear.protolayout | Эта библиотека позволяет определять набор макетов пользовательского интерфейса и выражений, не относящихся к пользовательскому интерфейсу, которые будут отображаться/выполняться на удаленных поверхностях. |
| износ.плитки | Создавайте приложения для умных часов Wear OS от Google. |
| wear.watchface | Создавайте приложения для умных часов Wear OS от Google. |
| wear.watchfacepush | Функция Watch Face Push позволяет приложению Wear OS программно устанавливать циферблат на часы. |
| веб-GPU | Современный API для графических процессоров (GPU) на языке Kotlin. |
| вебкит | Работайте с современными API WebView на Android 5 и выше. |
| окно | Обеспечивает поддержку различных форм-факторов устройств, например, складных устройств. |
| window.extensions.core | Основные API для расширений библиотеки менеджера окон |