Android Jetpack

Jetpack は、高品質の Android アプリをデベロッパーが簡単に作成するための一連のライブラリ、ツール、およびガイダンスです。これらのコンポーネントにより、ボイラープレート コードを作成する手間を省き、おすすめの方法に沿って開発を進めながら、複雑なタスクを簡素化できるので、コードの重要な部分に集中することができます。

Jetpack は androidx.* パッケージ ライブラリで構成されており、プラットフォーム API から独立しています。これは、Jetpack が下位互換性を備えており、Android プラットフォームよりも頻繁に更新されることを意味します。つまり、最新かつ最高のバージョンの Jetpack コンポーネントを常に利用することができます。

開発を加速させる

コンポーネントは個別に導入できますが、連動させることも可能です。さらに、各コンポーネントではユーザーの生産性を高める Kotlin 言語機能が活用されています。

ボイラープレート コードを排除する

Android Jetpack がバックグラウンド タスク、ナビゲーション、ライフサイクル管理などの退屈なアクティビティを管理するため、デベロッパーはアプリの機能向上に集中することができます。

高品質で堅牢なアプリを作成する

下位互換性を備え、最新の設計プラクティスに基づいて構築された Android Jetpack コンポーネントを使用することで、クラッシュやメモリリークの発生を抑えることができます。

Android Jetpack コンポーネント

Android Jetpack コンポーネントはライブラリのコレクションです。各コンポーネントは個別に導入できますが、連動させることも可能です。さらに、Jetpack コンポーネントではユーザーの生産性を高める Kotlin 言語機能が利用されています。これらをすべて使用するか、うまく組み合わせて使用してください。

基盤


基盤コンポーネントは、下位互換性、テスト、Kotlin 言語サポートなどの分野横断的な機能を提供します。

  • Android KTX

    より簡潔でナチュラルな Kotlin コードを記述する

  • AppCompat

    古いバージョンの Android でグレースフル デグラデーションを行う

  • Auto

    Android Auto 用のアプリの開発をサポートするコンポーネント

  • ベンチマーク

    Kotlin ベースのコードでも Java ベースのコードでも Android Studio からすぐにベンチマーク テストを行う

  • Multidex

    複数の DEX ファイルを使用するアプリをサポートする

  • セキュリティ

    セキュリティに関するおすすめの方法に沿って、暗号化ファイルと共有の環境設定に対して読み取り、書き込みを行う

  • テスト

    単体テストおよびランタイム UI テスト用の Android テスト フレームワーク

  • TV

    Android TV 用のアプリの開発をサポートするコンポーネント

  • Wear OS by Google

    Wear 用のアプリの開発をサポートするコンポーネント

アーキテクチャ


アーキテクチャ コンポーネントを使用することで、堅牢でテストとメンテナンスが簡単なアプリを設計できます。

  • データ バインディング

    監視可能なデータを UI 要素に宣言的にバインドする

  • Lifecycle

    アクティビティとフラグメントのライフサイクルを管理する

  • LiveData

    基盤となるデータベースが変更されたときにビューに通知する

  • Navigation

    アプリ内ナビゲーションに必要な処理をすべて行う

  • Paging

    データソースからオンデマンドで情報を徐々に読み込む

  • Room

    SQLite データベースにスムーズにアクセスする

  • ViewModel

    ライフサイクルを意識した方法で UI 関連のデータを管理する

  • WorkManager

    Android のバックグラウンド ジョブを管理する

動作


動作コンポーネントを使用すると、アプリを標準的な Android サービス(通知、アクセス許可、共有、アシスタントなど)と統合することができます。

  • CameraX

    アプリにカメラの機能を簡単に追加する

  • ダウンロード マネージャー

    大規模なダウンロードのスケジュール設定と管理を行う

  • メディアと再生

    メディアの再生とルーティング(Google Cast を含む)用の下位互換性を備えた API

  • 通知

    Wear と Auto に対応した、下位互換性を備えた通知 API を提供する

  • 権限

    アプリの権限の確認とリクエストを行うための互換性 API

  • 設定

    インタラクティブな設定画面を作成する

  • 共有

    アプリのアクションバーに適した共有アクションを提供する

  • スライス

    アプリデータをアプリの外部で表示できる柔軟な UI 要素を作成する

UI


UI コンポーネントが提供するウィジェットやヘルパーを使用すると、アプリの使いやすさだけでなく、快適さを向上させることができます。UI の開発を簡略化できる Jetpack Compose についてご確認ください。

  • アニメーションと遷移

    ウィジェットの移動と画面間の遷移を行う

  • 絵文字

    古いプラットフォームで最新の絵文字フォントを使用できるようにする

  • フラグメント

    構成可能な UI の基本単位

  • レイアウト

    さまざまなアルゴリズムを使用してウィジェットをレイアウトする

  • Palette

    カラーパレットから有益な情報を取り出す

最新のニュースと動画

デベロッパーの事例

体験談

「WorkManager を利用して redBus アプリがバックエンド サーバーに情報を配信する方法を簡素化できました。WorkManager ライブラリには、ネットワーク接続、電池などのパラメータの処理機能があり、AlarmManager、JobScheduler などの適切なハンドラが使用されているので、当社はビジネス ロジックの構築に専念し、実行の複雑さを WorkManager に肩代わりさせることができました。」

redBus.in、Android リード、Dinesh Shanmugam 氏

体験談

「Android Jetpack Navigation は使いやすく設計されており、自由に設定できます。カスタムビューを使って、以前のナビゲーション ドロワーをリファクタリングし、アンチパターンをすべて取り除くことができました。アプリ全体でさらに幅広く、このナビゲーションを採用する予定です。」

ホームアウェイ、Android リード、Emery Coxe 氏

体験談

「豊富な静的チェックを備えた Android Studio の強力なサポートのおかげで、Room を使った作業を快適に進めることができます。」

Strava、エンジニア、Adam Simek 氏

体験談

「Room を使い始めるのは簡単でした。Room のおかげでクリーンなコードを記述できるようになり、さまざまなエラーの発生を最初から回避できるようになりました。」

iHeartRadio、Android エンジニア、Sergio Teran 氏

人気のアプリから信頼される

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