Android Jetpack
Jetpack の使い方を学ぶ
基礎トレーニング
実践的なチュートリアル
Now in Android サンプルアプリ
Jetpack ライブラリ ライブラリをすべて見る
* 人気のライブラリや頻繁に使用されるライブラリを先に表示しています
activity * | アクティビティの上に構築されるコンポーズ可能な API にアクセスします。 |
appcompat * | プラットフォームの古い API バージョン(多くの API がマテリアル デザインを使用)で新しい API にアクセスできるようにします。 |
appsearch * | ユーザー向けにカスタムのアプリ内検索機能を構築します。 |
camera * | モバイル カメラアプリを構築します。 |
compose * | 形状とデータの依存関係を記述するコンポーズ可能な関数を使用して、UI をプログラムで定義します。 |
databinding * | 宣言形式を使用して、レイアウト内の UI コンポーネントをアプリ内のデータソースにバインドします。 |
fragment * | アクティビティ内でホストされる複数の独立した画面にアプリを分割します。 |
hilt * | Dagger Hilt の機能を拡張して、androidx ライブラリから特定のクラスの依存関係インジェクションを可能にします。 |
lifecycle * | アクティビティまたはフラグメントの現在のライフサイクル状態に基づいて動作を調整できるライフサイクル対応コンポーネントを構築します。 |
マテリアル デザイン コンポーネント * | Android 用のモジュール式でカスタマイズ可能なマテリアル デザイン UI コンポーネント。 |
navigation * | アプリ内 UI の構築と構造化、ディープリンクの処理、画面間の移動を行います。 |
paging * | データをページに読み込み、RecyclerView に表示します。 |
room * | SQLite データベースに支えられた永続的なデータを作成、保存、管理します。 |
test * | Android でテストを実施します。 |
work * | 延期可能な制約ベースのバックグラウンド タスクをスケジューリングして実行します。 |
ads | Play 開発者サービスの有無にかかわらず、広告 ID を取得します。 |
annotation | ツールと他のデベロッパーがアプリのコードを理解するのに役立つメタデータを公開します。 |
arch.core | LiveData で使用できる JUnit テストルールを含む、他の arch 依存関係のヘルパー。 |
asynclayoutinflater | UI でジャンクが発生しないように、レイアウトを非同期でインフレートします。 |
autofill | ヒントを拡張して自動入力の精度を高めます。 |
benchmark | Android Studio 内でコードのパフォーマンスを正確に測定します。 |
biometric | 生体認証システムまたはデバイス認証情報で認証を行い、暗号オペレーションを実行します。 |
Bluetooth | 下位互換性のある API で Android プラットフォームの Bluetooth 機能を使用します。 |
browser | ユーザーのデフォルト ブラウザにウェブページを表示します。 |
camera.media3 | TODO |
camera.viewfinder | カメラ用スタンドアロンの Composable とビューベースのビューファインダー」 |
car-app | Android Auto と Android Automotive OS 用のテンプレート化されたアプリを作成します。 |
cardview | 丸い角とドロップ シャドウを使用したマテリアル デザイン カードパターンを実装します。 |
collection | 小規模な既存のコレクションおよび新しいコレクションのメモリへの影響を軽減します。 |
compose.animation | Jetpack Compose アプリ内でアニメーションを作成して、ユーザー エクスペリエンスを高めます。 |
compose.compiler | @Composable 関数を変換し、Kotlin コンパイラ プラグインで最適化を有効にします。 |
compose.foundation | すぐに使用できるビルディング ブロックで Jetpack Compose アプリを作成し、基盤を拡張して独自のデザイン システム要素を構築します。 |
compose.material | すぐに使用できるマテリアル デザイン コンポーネントで Jetpack Compose UI を構築します。Compose の上位レベルのエントリ ポイントであり、www.material.io のガイドラインと適合するコンポーネントを提供するように設計されています。 |
compose.material3 | マテリアル デザインの進化版であるマテリアル デザイン 3 コンポーネントで Jetpack Compose UI を構築します。マテリアル 3 には、最新のテーマ設定とコンポーネント、ダイナミック カラーなどの Material You のパーソナライズ機能が含まれており、Android 12 の新しい視覚的スタイルとシステム UI と調和するように設計されています。 |
compose.material3.adaptive | Material 3 アダプティブ ライブラリを使用して、ウィンドウ サイズクラスやデバイスの向きなど、現在のウィンドウ構成に応じて自動的に適応するアダプティブ UI を作成します。このライブラリには、独自のカスタム エクスペリエンスを作成するために必要なデフォルトのスキャフォールド実装とビルディング ブロック コンポーザブルの両方が用意されています。 |
compose.runtime | Compose のプログラミング モデルと状態管理の基本ビルディング ブロックと、Compose コンパイラ プラグインがターゲットとするコアランタイム。 |
compose.ui | レイアウト、描画、入力など、デバイスの操作に必要な Compose UI の基本コンポーネント。 |
concurrent | コルーチンを使用してメインスレッドからタスクを移動し、ListenableFuture を活用します。 |
constraintlayout | 相対位置を使用して、ウィジェットの位置とサイズを柔軟に調整します。 |
contentpager | バックグラウンド スレッドで ContentProvider データの読み込みとページングを行います。 |
coordinatorlayout | AppBarLayout や FloatingActionButton など、最上位のアプリ ウィジェットを配置します。 |
core | 最新のプラットフォーム機能と API をターゲットにしつつ、古いデバイスもサポートします。 |
core.uwb | サポート対象のデバイスに超広帯域無線(UWB)を実装します。 |
credentials | このライブラリはユーザーの認証情報への統合アクセスを提供します。パスワード、パスキー、フェデレーションの認証情報などが含まれます。このライブラリは、シームレスで安全なログイン エクスペリエンスを提供する際に使用します。 |
credentials.registry | こうした問題を解決するため、アプリがプライバシーを保護しながらデジタル認証情報を提供できる新しいレジストリ メカニズムを追加します。大まかに言うと、プロバイダ アプリは、候補となるすべてのデジタル認証情報を認証情報マネージャーに事前登録します。認証情報マネージャーは、特定のデジタル認証情報に対するアプリ リクエストを受信すると、サンドボックスで認証情報の照合とユーザー選択 UI を実行します。 |
cursoradapter | カーソルデータを ListView ウィジェットに公開します。 |
customview | カスタムビューを実装します。 |
datastore | 一貫性のある、トランザクションとしてのデータの保存を非同期で行い、SharedPreferences の欠点の一部を解消します。 |
documentfile | ファイル ドキュメントを表示します。 |
draganddrop | 別のアプリからの、またはアプリ内でのドラッグ&ドロップデータを受け入れ、一貫したドロップ ターゲット アフォーダンスを表示します。 |
drawerlayout | マテリアル デザインのドロワー ウィジェットを実装します。 |
dynamicanimation | 物理理論を取り入れたアニメーション API で、スムーズなアニメーションを作成します。 |
emoji | 現在のデバイスと古いデバイスで絵文字を表示します。 |
emoji2 | 現在のデバイスと古いデバイスで絵文字を表示します。 |
enterprise | エンタープライズ対応アプリを作成します。 |
exifinterface | 画像ファイルの EXIF タグの読み取りと書き込みを行います。 |
games | アプリ内で Android Game SDK をネイティブに使用して、フレーム ペーシングなどの複雑なゲームタスクを実行します。 |
glance | Jetpack Compose スタイルの API を使用して、リモート サーフェスのレイアウトを作成します。 |
graphics | 複数の Android プラットフォーム リリースでグラフィック機能を利用します |
gridlayout | グリッド レイアウトを実装します。 |
health | プラットフォームに依存しない方法で高性能のヘルスケア アプリを作成します。 |
health.connect | ユーザーの健康状態やフィットネスの記録をデベロッパーが読み取り/ 書き込みできるようにします。 |
heifwriter | 利用可能なコーデックを Android デバイスで使用して、画像または画像コレクションを HEIF 形式でエンコードします。 |
ink | 最高水準のペンアプリを開発する。高パフォーマンスで美しいインク描画エクスペリエンスへのデベロッパーの参入障壁を下げます。 |
input | 今後の MotionEvents を予測して、入力インタラクションのレイテンシを短縮します |
interpolator | 古いプラットフォームでアニメーション インターポレータを使用します。 |
javascriptengine | Android アプリで JavaScript を評価できるようにします。 |
jetifier | 非推奨のサポート ライブラリに対するライブラリの依存関係を同等の AndroidX 依存関係に移行するスタンドアロン ツール。 |
leanback | このアーティファクトの代わりに、Compose for TV を使用してください。 |
legacy | このアーティファクトとそのクラスは非推奨になりました。Android 8 以降、バックグラウンド チェックの制限により、このクラスは有用でなくなりました。 |
lint | Gradle API の使用状況を確認する lint チェック |
loader | 設定の変更後も保持される UI のデータを読み込みます。 |
localbroadcastmanager | このアーティファクトとそのクラスは非推奨になりました。代わりに、LiveData ストリームまたはリアクティブ ストリームを使用してください。 |
media | メディアのコンテンツとコントロールを他のアプリと共有します。media3 が優先されます。 |
media2 | メディアのコンテンツとコントロールを他のアプリと共有します。 |
media3 * | メディアのユースケースのサポート ライブラリ。 |
mediarouter | 共通のユーザー インターフェースを使用して、リモートの受信デバイスでメディアの表示と再生を有効にします。 |
multidex | 複数の dex ファイルを使用するアプリを Android 5 より前のデバイスにデプロイします。 |
metrics | アプリのさまざまなランタイム指標を追跡して報告します |
palette | 画像から代表的なカラーパレットを抽出します。 |
アプリ内に PDF 表示機能を追加するライブラリ。 | |
percentlayout | このアーティファクトとそのクラスは非推奨になりました。代わりに、ConstraintLayout と関連レイアウトを使用してください。 |
パフォーマンス | パフォーマンスの最適化のためのソース アノテーションを提供します。 |
preference | デバイス ストレージの操作や UI の管理なしで、インタラクティブな設定画面を構築します。 |
アプリから、写真、ドキュメント、その他のグラフィックと画像を印刷します。 | |
privacysandbox.activity | TODO |
privacysandbox.ads | このライブラリにより、Android 版プライバシー サンドボックスの一部であるプライバシー保護 API との統合が可能になります。 |
privacysandbox.plugins | Android Privacy Sandbox Sdk Library Gradle プラグイン |
privacysandbox.sdkruntime | このライブラリは SdkRuntime 対応コンシューマ用のコンポーネントを提供します。 |
privacysandbox.tools | Android でプライバシー サンドボックス機能を活用するためのライブラリ。 |
privacysandbox.ui | TODO |
profileinstaller | ART によって読み取られる事前コンパイル トレースをライブラリが事前取り込みできるようにします。 |
recommendation | Android TV ランチャーのホーム画面におすすめのコンテンツを表示します。 |
recyclerview | メモリ使用量を最小限に抑えつつ、大規模なデータのセットを UI に表示します。 |
remotecallback | デベロッパーが PendingIntent を提供しやすくするためのラッパーを作成します。 |
resourceinspection | Android Studio の Live Layout Inspector にカスタムビューの属性を表示します。 |
savedstate | プロセスの終了時に UI の状態を保存し、プロセスの再開時にその状態を復元するプラグイン可能なコンポーネントを作成します。 |
security | 鍵を安全に管理し、ファイルと sharedpreference を暗号化します。 |
sharetarget | ショートカットを直接共有ターゲットとして使用するための下位互換性を提供します。 |
slice | テンプレート化された UI 要素をアプリ外で表示します。 |
slidingpanelayout | スライディング ペイン UI パターンを実装します。 |
startup | アプリの起動時にコンポーネントを初期化する簡単で効率的な方法を実装します。 |
sqlite | ローカル SQLite データベースを操作します。可能であれば、代わりに Room を使用してください。 |
swiperefreshlayout | スワイプで更新する UI パターンを実装します。 |
test.uiautomator | クロスアプリで機能する UI テスト用のフレームワークです。 |
textclassifier | テキスト内の会話、リンク、選択内容などの構造を識別します。 |
tracing | トレース イベントをシステム トレース バッファに書き込みます。 |
transition | 開始レイアウトと終了レイアウトで UI のモーションにアニメーションを付けます。 |
tv | テレビ用のアプリを作成するための Compose とマテリアル デザインの機能をデベロッパーに提供します。 |
tvprovider | Android TV のチャンネルを提供します。 |
xr.arcore | 認識機能を使用してデジタル コンテンツを現実世界に持ち込む。 |
xr.compose | Android XR の空間機能を活用する空間 UI レイアウトを宣言的に構築します。 |
xr.compose.material3 | XR に適応するマテリアル コンポーネントとレイアウトを使用してビルドする |
xr.runtime | ネイティブ ランタイムを使用して、カスタム AR または 3D セッションを開始します。 |
xr.scenecore | 3D コンテンツを使用して Android XR シーングラフを構築して操作します。 |
vectordrawable | ベクター グラフィックをレンダリングします。 |
versionedparcelable | 安定したコンパクトなバイナリ シリアル化形式を提供します。この形式は、プロセス間で渡すことも安全に永続化することもできます。 |
viewpager | ビューまたはフラグメントをスワイプ可能な形式で表示します。可能であれば、代わりに viewpager2 を使用してください。 |
viewpager2 | ビューまたはフラグメントをスワイプ可能な形式で表示します。 |
wear | Wear OS by Google スマートウォッチ向けのアプリを作成します。 |
wear.compose | ウェアラブル固有のデバイス、サイズ、形状、ナビゲーション操作をサポートする機能を提供して、ウェアラブル デバイス向けの Jetpack Compose アプリを作成します。 |
wear.protolayout | このライブラリを使用すると、一連の UI レイアウトと UI 以外の式をリモート サーフェスでレンダリング/評価できます。 |
wear.tiles | Wear OS by Google スマートウォッチ向けのアプリを作成します。 |
wear.watchface | Wear OS by Google スマートウォッチ向けのアプリを作成します。 |
webkit | Android 5 以上で、最新の WebView API を操作します。 |
window | 折りたたみ式デバイスなど、さまざまなデバイス フォーム ファクタをサポートできるようにします。 |
window.extensions.core | Window Manager ライブラリ拡張機能のコア API。 |
Android Jetpack を使用する理由
ベスト プラクティスを実践する
ボイラープレート コードを減らす
断片化を軽減する
ニュースと動画
テキストの一部にスタイルを設定する
Updated 2025年2月22日
テキストの一部にスタイルを適用すると、読みやすさを高め、ユーザー エクスペリエンスを向上させ、色やフォントを使って創造性を高めることができます。
ユーザーが入力するときに入力を検証する
Updated 2025年2月22日
ユーザーがテキスト フィールドに入力する際に、入力内容を検証できます(名前、メールアドレス、住所などの連絡先情報の入力など)。この検証により、エラーが減り、ユーザーの時間を節約できます。
1 つのテキスト文字列に複数のリンクをサポート
Updated 2025年2月22日
1 つのテキスト文字列に複数のリンクをサポートして、ユーザーに選択肢を提供し、エンゲージメントを高めることができます。
画像を読み込んで表示する
Updated 2025年2月22日
コンテンツやユーザー アクションへのレスポンスとしてアプリに画像を表示するには、ディスクまたはインターネット上の外部ソースから画像を読み込みます。
Compose のアニメーション
Updated 2025年2月6日
Compose アニメーション API を使用して、状態値をアニメーション化する方法、遷移を使用する方法、可視性やサイズの変更をアニメーション化する方法、クロスフェードをアニメーション化する方法について学びます。
ユーザーの切り替えに基づいてパスワードを表示または非表示にする
Updated 2025年2月6日
ユーザーの切り替えに基づいてパスワードを非表示または表示するアイコンを作成することで、セキュリティを強化し、ユーザー エクスペリエンスを向上させることができます。
アニメーション画像を表示する
Updated 2025年2月6日
ドローアブル ファイルを読み込んでアニメーション画像を表示することで、アプリでよりインタラクティブで魅力的なユーザー エクスペリエンスを実現できます。アニメーション画像は、読み込みインジケーター、成功またはエラーのインジケーター、ゲーム開発の促進、その他のさまざまな UI 機能の作成に役立ちます。
ページング リストを表示する
Updated 2025年2月6日
1 つの画面に収まらない大きさのコンテンツにユーザーがスクロールしてアクセスできるように、ページング リストを作成します。水平方向のページング リストは、画像、スライドショー、商品カルーセルなどのコンテンツをユーザーが移動する際に役立ちます。縦方向のページング リストは、記事など、ユーザーが多数のアイテムをスクロールする必要があるコンテンツが多いアプリに適しています。
Compose でのテスト
Updated 2025年2月6日
最初の Jetpack Compose テストを作成します。Compose のテスト アーティファクトを使用して UI テストを作成し、テストルール、ファインダー、アサーションを使用できるようにします。
ポップアップ メッセージやユーザー入力のリクエストを表示する
Updated 2025年2月6日
ダイアログは、ポップアップ メッセージを表示したり、メインのアプリ コンテンツの上のレイヤでユーザー入力をリクエストしたりします。
大きな画面向けに最適化する
Updated 2025年2月6日
タブレット、折りたたみ式デバイス、ChromeOS デバイスで最適化されたユーザー エクスペリエンスをサポートするようにアプリを有効にします。
Compose の高度なレイアウト
Updated 2025年2月6日
レイアウト フェーズと制約、サブコンポーズ レイアウト、固有の測定に重点を置いて、Compose レイアウトの複雑なデザインを作成する方法を確認します。
UI をまとめるスキャフォールド コンポーネントを作成する
Updated 2025年2月6日
スキャフォールドは、アプリバーやフローティング アクション ボタンなど、UI のさまざまな部分をまとめ、アプリに統一感のある外観と操作性をもたらします。
スクロール可能なグリッドを作成する
Updated 2025年2月6日
遅延読み込みグリッドを使用すると、大規模なデータセットと動的コンテンツを管理し、アプリのパフォーマンスを向上させることができます。Lazy グリッド コンポーザブルを使用すると、複数の列または行にまたがって、スクロール可能なコンテナにアイテムを表示できます。