Components

Jetpack components are a collection of libraries that are individually adoptable and built to work together while taking advantage of Kotlin language features that make you more productive.

Foundation components provide core system capabilities, Kotlin extensions and support for multidex and automated testing.

Architecture components help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.

Behavior Components help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.

UI components make it easy for you to make your app not only easy, but delightful to use.

Use them all or mix and match!

Foundation

  • AppCompat

    Degrade gracefully on older versions of Android

  • Android KTX

    Write more concise, idiomatic Kotlin code

  • Multidex

    Provide support for apps with multiple DEX files

  • Test

    An Android testing framework for unit and runtime UI tests

Architecture

  • Data Binding

    Declaratively bind observable data to UI elements

  • Lifecycles

    Manage your activity and fragment lifecycles

  • LiveData

    Notify views when underlying database changes

  • Navigation

    Handle everything needed for in-app navigation

  • Paging

    Gradually load information on demand from your data source

  • Room

    Fluent SQLite database access

  • ViewModel

    Manage UI-related data in a lifecycle-conscious way

  • WorkManager

    Manage your Android background jobs

Behavior

  • Download manager

    Schedule and manage large downloads

  • Media & playback

    Backwards compatible API for media playback, routing and Google Cast

  • Notifications

    Provides a backwards-compatible notification API with support for Wear and Auto

  • Permissions

    Compatibility APIs for checking and requesting app permissions

  • Sharing

    Provides a share action suitable for an app’s action bar

  • Slices

    Create flexible UI elements that can display app data outside the app

UI

  • Animation & transitions

    Move widgets and transition between screens

  • Auto

    Components to help develop apps for Android Auto.

  • Emoji

    Enable an up-to-date emoji font on older platforms

  • Fragment

    A basic unit of composable UI

  • Layout

    Lay out widgets using different algorithms

  • Palette

    Pull useful information out of color palettes

  • TV

    Components to help develop apps for Android TV.

  • Wear OS by Google

    Components to help develop apps for Wear.