Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る
Jetpack はライブラリ スイートです。ベスト プラクティスを取り入れ、ボイラープレート コードを減らし、Android バージョンやデバイスが変わっても一貫して機能するコードの作成を助け、コーディングの負担を軽減します。
CameraX は、アプリにカメラ機能を簡単に追加できるようにする Jetpack サポート ライブラリです。互換性の修正や回避策などが多数含まれており、さまざまなデバイスで一貫した開発エクスペリエンスを提供します。
Android Auto 用ナビゲーション アプリ、駐車場アプリ、充電アプリを作成します。
WorkManager API を使用すると、延期可能な(ただし確実に実行される必要がある)非同期タスクのスケジュールを簡単に設定できます。タスクを作成して WorkManager に引き渡すと、処理の制約が満たされたときに実行できます。 WorkManager 2.7.0 は、Android 12 フォアグラウンド サービスの起動に関する制限で使用する推奨されるライブラリです。

Jetpack の使い方を学ぶ

Android Kotlin 基礎コースで重要な Jetpack ライブラリについて学び、アプリのボイラープレートを減らしましょう。
データレイヤを簡素化する 3 つの Jetpack ライブラリ(LiveData、ViewModel、Room)を使ってみましょう。
利用率が高い Jetpack ライブラリを製品版レベルのアプリで使用する例をご覧ください。

* 人気のライブラリや頻繁に使用されるライブラリを先に表示しています

activity *アクティビティの上に構築されるコンポーズ可能な API にアクセスします。
appcompat *プラットフォームの古い API バージョン(多くの API がマテリアル デザインを使用)で新しい API にアクセスできるようにします。
camera *モバイル カメラアプリを構築します。
compose *形状とデータの依存関係を記述するコンポーズ可能な関数を使用して、UI をプログラムで定義します。
databinding *宣言形式を使用して、レイアウト内の UI コンポーネントをアプリ内のデータソースにバインドします。
fragment *アクティビティ内でホストされる複数の独立した画面にアプリを分割します。
hilt *Dagger Hilt の機能を拡張して、androidx ライブラリから特定のクラスの依存関係インジェクションを可能にします。
lifecycle *アクティビティまたはフラグメントの現在のライフサイクル状態に基づいて動作を調整できるライフサイクル対応コンポーネントを構築します。
マテリアル デザイン コンポーネント * Android 用のモジュール式でカスタマイズ可能なマテリアル デザイン UI コンポーネント。
navigation *アプリ内 UI の構築と構造化、ディープリンクの処理、画面間の移動を行います。
paging *データをページに読み込み、RecyclerView に表示します。
room *SQLite データベースに支えられた永続的なデータを作成、保存、管理します。
test *Android でテストを実施します。
work *延期可能な制約ベースのバックグラウンド タスクをスケジューリングして実行します。
adsPlay 開発者サービスの有無にかかわらず、広告 ID を取得します。
annotationツールと他のデベロッパーがアプリのコードを理解するのに役立つメタデータを公開します。
arch.coreLiveData で使用できる JUnit テストルールを含む、他の arch 依存関係のヘルパー。
asynclayoutinflaterUI でジャンクが発生しないように、レイアウトを非同期でインフレートします。
autofillヒントを拡張して自動入力の精度を高めます。
benchmarkAndroid Studio 内でコードのパフォーマンスを正確に測定します。
biometric生体認証システムまたはデバイス認証情報で認証を行い、暗号オペレーションを実行します。
browserユーザーのデフォルト ブラウザにウェブページを表示します。
car-appAndroid Auto 用ナビゲーション アプリ、駐車場アプリ、充電アプリを作成します。
cardview丸い角とドロップ シャドウを使用したマテリアル デザイン カードパターンを実装します。
collection小規模な既存のコレクションおよび新しいコレクションのメモリへの影響を軽減します。
compose.animationJetpack Compose アプリ内でアニメーションを作成して、ユーザー エクスペリエンスを拡充します。
compose.compiler@Composable 関数を変換し、Kotlin コンパイラ プラグインで最適化を有効にします。
compose.foundationすぐに使用できるビルディング ブロックで Jetpack Compose アプリを作成し、基盤を拡張して独自のデザイン システム要素を構築します。
compose.materialすぐに使用できるマテリアル デザイン コンポーネントで Jetpack Compose UI を構築します。Compose の上位レベルのエントリ ポイントであり、www.material.io のガイドラインと適合するコンポーネントを提供するように設計されています。
compose.runtimeCompose のプログラミング モデルと状態管理の基本ビルディング ブロックと、Compose コンパイラ プラグインがターゲットとするコアランタイム。
compose.uiレイアウト、描画、入力など、デバイスの操作に必要な Compose UI の基本コンポーネント。
concurrentコルーチンを使用してメインスレッドからタスクを移動し、ListenableFuture を活用します。
constraintlayout相対位置を使用して、ウィジェットの位置とサイズを柔軟に調整します。
contentpagerバックグラウンド スレッドで ContentProvider データの読み込みとページングを行います。
coordinatorlayoutAppBarLayout や FloatingActionButton など、最上位のアプリ ウィジェットを配置します。
core最新のプラットフォーム機能と API をターゲットにしつつ、古いデバイスもサポートします。
cursoradapterカーソルデータを ListView ウィジェットに公開します。
customviewカスタムビューを実装します。
datastore一貫して非同期で、トランザクションとしてデータを保存し、SharedPreferences の欠点の一部を解消します。
documentfileファイル ドキュメントを表示します。
drawerlayoutマテリアル デザインのドロワー ウィジェットを実装します。
dynamicanimation物理学ベースのアニメーション API でスムーズなアニメーションを作成します。
emoji現在のデバイスと古いデバイスで絵文字を表示します。
enterpriseエンタープライズ対応アプリを作成します。
exifinterface画像ファイルの EXIF タグの読み取りと書き込みを行います。
gamesアプリ内で Android Game SDK をネイティブに使用して、フレーム ペーシングなどの複雑なゲームタスクを実行します。
gridlayoutグリッド レイアウトを実装します。
heifwriter利用可能なコーデックを Android デバイスで使用して、画像または画像コレクションを HEIF 形式でエンコードします。
interpolator古いプラットフォームでアニメーション インターポレータを使用します。
jetifierサポートが終了したサポート ライブラリに対するライブラリの依存関係を同等の AndroidX 依存関係に移行するスタンドアロン ツール。
leanbackDPAD 対応のウィジェットとテンプレート フラグメントを使用して、Android TV デバイス向けのアプリを作成します。
legacyこのアーティファクトとそのクラスはサポートが終了しました。Android 8 以降、バックグラウンド チェックの制限により、このクラスは有用でなくなりました。
loader設定の変更後も保持される UI のデータを読み込みます。
localbroadcastmanagerこのアーティファクトとそのクラスはサポートが終了しました。代わりに、LiveData ストリームまたはリアクティブ ストリームを使用してください。
mediaメディアのコンテンツとコントロールを他のアプリと共有します。media2 が優先されます。
media2メディアのコンテンツとコントロールを他のアプリと共有します。
mediarouter共通のユーザー インターフェースを使用して、リモートの受信デバイスでメディアの表示と再生を有効にします。
multidex複数の dex ファイルを使用するアプリを Android 5 より前のデバイスにデプロイします。
palette画像から代表的なカラーパレットを抽出します。
percentlayoutこのアーティファクトとそのクラスはサポートが終了しました。代わりに、ConstraintLayout と関連レイアウトを使用してください。
preferenceデバイス ストレージの操作や UI の管理なしで、インタラクティブな設定画面を構築します。
printアプリから、写真、ドキュメント、その他のグラフィックと画像を印刷します。
recommendationAndroid TV ランチャーのホーム画面におすすめのコンテンツを表示します。
recyclerviewメモリ使用量を最小限に抑えつつ、大規模なデータのセットを UI に表示します。
remotecallbackデベロッパーが PendingIntent を提供しやすくするためのラッパーを作成します。
savedstateプロセスの終了時に UI の状態を保存し、プロセスの再開時にその状態を復元するプラグイン可能なコンポーネントを作成します。
security鍵を安全に管理し、ファイルと sharedpreference を暗号化します。
sharetargetショートカットを直接共有ターゲットとして使用するための下位互換性を提供します。
sliceテンプレート化された UI 要素をアプリ外で表示します。
slidingpanelayoutスライディング ペイン UI パターンを実装します。
startupアプリの起動時にコンポーネントを初期化する簡単で効率的な方法を実装します。
sqliteローカル SQLite データベースを操作します。可能であれば、代わりに Room を使用してください。
swiperefreshlayoutスワイプで更新する UI パターンを実装します。
textclassifierテキスト内の会話、リンク、選択内容などの構造を識別します。
tracingトレース イベントをシステム トレース バッファに書き込みます。
transition開始レイアウトと終了レイアウトで UI のモーションにアニメーションを付けます。
tvproviderAndroid TV のチャンネルを提供します。
vectordrawableベクター グラフィックをレンダリングします。
versionedparcelable安定したコンパクトなバイナリ シリアル化形式を提供します。この形式は、プロセス間で渡すことも安全に永続化することもできます。
viewpagerビューまたはフラグメントをスワイプ可能な形式で表示します。可能であれば、代わりに viewpager2 を使用してください。
viewpager2ビューまたはフラグメントをスワイプ可能な形式で表示します。
wearWear OS by Google スマートウォッチ向けのアプリを作成します。
webkitAndroid 5 以上で、最新の WebView API を操作します。
window折りたたみ式デバイスなど、さまざまなデバイスのフォーム ファクタをサポートできるようにします。
Lifecycle バージョン 2.3.0
ライフサイクル動作の適用、lazy のシリアル化、ライフサイクルの状態とイベント ヘルパーを改善しました。
WorkManager 2.5.0
マルチプロセスのパフォーマンス、テストのサポート、データベース ストレージ管理ツールを改善しました。
Biometric 1.1.0
Android 11 の下位互換性のサポートを追加し、ライブラリ サイズを縮小して、安定性と動作を大幅に改善しました。

Android Jetpack を使用する理由

Android Jetpack ライブラリは最新の設計プラクティスに基づいています。下位互換性を備え、クラッシュやメモリリークを最小限に抑えます。
Android Jetpack はバックグラウンド タスク、ナビゲーション、ライフサイクル管理などの煩雑な設定を削減できます。アプリの基幹機能に開発リソースを集中できます。
Android のバージョンやデバイスがにかかわらず一貫したライブラリで複雑さを軽減できます。

ニュースと動画

Android Jetpack コミュニティに参加する