Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.

Support Library の機能

Android Support Library パッケージには、アプリに含めることができる複数のライブラリが含まれています。各ライブラリは、特定の範囲の Android プラットフォーム バージョンと機能セットをサポートしています。

このガイドでは、アプリに含めるべきライブラリを判断できるように、Support Library で提供される重要な機能とバージョンのサポートについて説明します。一般に、v4 support ライブラリと v7 appcompat ライブラリを含めることをお勧めします。これらのライブラリは幅広い Android バージョンをサポートし、推奨されるユーザー インターフェース パターンの API を提供します。

次のライブラリのうちいずれかを使用するには、Android SDK インストールにライブラリ ファイルをダウンロードする必要があります。Support Library のセットアップに記載された Support Library のダウンロード方法に従って、このステップを完了してください。特定の Support Library をアプリに含めるには、追加のステップを実行する必要があります。アプリにライブラリを含める方法に関する重要情報については、各ライブラリ セクションの最後をご覧ください。

v4 Support Library

このライブラリは、Android 2.3(API レベル 9)以上で使用するよう設計されています。他のライブラリに比べ、このライブラリにはかなり大規模な API セットが含まれています。たとえば、アプリ コンポーネント、ユーザー インターフェース機能、ユーザー補助機能、データ処理、ネットワーク接続、プログラミング ユーティリティなどがサポートされています。

v4 Support Library で提供されるクラスとメソッドに関するすべての詳細情報は、API リファレンスの android.support.v4 パッケージをご覧ください。

注: Support Library リビジョン 24.2.0 の前には、単独の v4 Support Library がありました。効率を高めるため、そのライブラリが複数のモジュールに分割されました。下位互換性のため、Gradle スクリプトで support-v4 を追加すると、APK にはすべての v4 モジュールが含まれます。ただし、APK のサイズを削減するには、アプリで必要な特定のモジュールのみを追加することを推奨します。

v4 compat ライブラリ

多数のフレームワーク API の互換性ラッパーを提供します。Context.obtainDrawable()View.performAccessibilityAction() などがあります。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:support-compat:24.2.0

v4 core-utils ライブラリ

AsyncTaskLoaderPermissionChecker など、多数のユーティリティ クラスを提供します。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:support-core-utils:24.2.0

v4 core-ui ライブラリ

ViewPagerNestedScrollViewExploreByTouchHelper、など、さまざまな UI 関連のコンポーネントを実装します。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:support-core-ui:24.2.0

v4 media-compat ライブラリ

media フレームワークのバックポート部分です。MediaBrowserMediaSession などが含まれます。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:support-media-compat:24.2.0

v4 fragment ライブラリ

fragment によるユーザー インターフェースと機能のカプセル化のサポートを追加し、アプリで小さい画面と大きい画面のデバイス間のレイアウトを調整できるようにします。このモジュールは、compatcore-utilscore-uimedia-compat と依存関係があります。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:support-fragment:24.2.0

Multidex Support Library

このライブラリは、複数の Dalvik Executable(DEX)ファイルでアプリを構築するためのサポートを提供します。65,536 を超えるメソッドを参照するアプリは、multidex 構成を使う必要があります。multidex の使用の詳細については、64K を超えるメソッドを使用するアプリの構築に関する記事をご覧ください。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:multidex:1.0.0

v7 Support Library

ライブラリには、Android 2.3(API レベル 9)以上で使用するよう設計されているものがいくつかあります。特定の機能セットを提供するこれらのライブラリは、それぞれ個別にアプリに含めることができます。

v7 appcompat ライブラリ

このライブラリは、アクションバー ユーザー インターフェースのデザイン パターンのサポートを追加します。また、マテリアル デザインのユーザー インターフェースの実装のサポートが含まれています。

注: このライブラリは、v4 Support Library に依存しています。

v7 appcompat ライブラリに含まれている主なクラスは次のとおりです。

  • ActionBar - アクションバー ユーザー インターフェース パターンの実装を可能にします。アクションバーの使用の詳細については、アクションバーのデベロッパー ガイドをご覧ください。
  • AppCompatActivity - アプリのアクティビティ クラスを追加します。このクラスは、Support Library のアクションバーの実装を利用するアクティビティ クラスのベース クラスとして使用できます。
  • AppCompatDialog - AppCompat テーマのダイアログのベース クラスとして使用できる dialog クラスを追加します。
  • ShareActionProvider - アクションバーに含めることができる標準化された共有アクション(メール、ソーシャル アプリへの投稿など)のサポートを追加します。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:appcompat-v7:24.2.0

v7 cardview ライブラリ

このライブラリは、CardView ウィジェットのサポートを追加します。これにより、カード内の情報を一貫性のある外観でアプリに表示することができます。これらのカードは、マテリアル デザインの実装に便利で、TV アプリのレイアウトでは幅広く利用されています。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:cardview-v7:24.2.0

v7 gridlayout ライブラリ

Android Support Library をダウンロードすると、このライブラリは GridLayout クラスのサポートを追加します。これにより、長方形のセルのグリッドを使用してユーザー インターフェース要素を配置できます。v7 gridlayout ライブラリの API の詳細については、API リファレンスの android.support.v7.widget パッケージをご覧ください。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:gridlayout-v7:24.2.0

v7 mediarouter ライブラリ

このライブラリは、MediaRouterMediaRouteProvider、および Google Cast をサポートする関連メディア クラスを提供します。

一般に、v7 mediarouter ライブラリの API は、現在のデバイスから外部のスクリーン、スピーカー、その他配信先デバイスへのメディア チャンネルおよびストリームのルーティングを制御する手段を提供します。このライブラリには、アプリ固有のメディア ルート プロバイダの公開、配信先デバイスの検出および選択、メディア ステータスのチェックなどを行う API が含まれています。v7 mediarouter ライブラリの API の詳細については、API リファレンスの android.support.v7.media パッケージをご覧ください。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:mediarouter-v7:24.2.0

Support Library r18 で導入された v7 mediarouter ライブラリの API は、以降の Support Library のリビジョンで変更される可能性があります。現時点では、Google Cast との接続にのみ、このライブラリを使用することをお勧めします。

v7 palette ライブラリ

v7 palette Support Library には、画像から代表色を抽出できる Palette クラスが含まれています。たとえば、音楽アプリは Palette オブジェクトを使用して、アルバムのジャケットから代表色を抽出し、その色を使って曲のタイトルカードの配色を決めることができます。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:palette-v7:24.2.0

v7 recyclerview ライブラリ

recyclerview ライブラリは、RecyclerView クラスを追加します。このクラスは、RecyclerView ウィジェットのサポートを提供します。このビューは、限定された範囲のデータアイテムを提供することで、大規模なデータセットを効率良く表示できます。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:recyclerview-v7:24.2.0

v7 Preference Support Library

preference パッケージは、CheckBoxPreferenceListPreference など、ユーザーが UI の設定を変更できるプリファレンス オブジェクトの追加をサポートするための API を提供します。

v7 Preference ライブラリは、Preference.OnPreferenceChangeListenerPreference.OnPreferenceClickListener などのインターフェース、および CheckBoxPreferenceListPreference などのクラスのサポートを追加します。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:preference-v7:24.2.0

v8 Support Library

このライブラリは、Android 2.3(API レベル 9)以上で使用するよう設計されています。特定の機能セットを提供するこれらのライブラリは、他のライブラリからは独立して個別にアプリに含めることができます。

v8 renderscript ライブラリ

このライブラリは、Android 2.3(API レベル 9)以上で使用するよう設計されています。これは、RenderScript 演算フレームワークのサポートを追加します。これらの API は、android.support.v8.renderscript パッケージに含まれています。アプリにこれらの API を含めるステップは、その他の Support Library API とは大きく異なる点に注意してください。アプリでこれらの API を使用する方法については、RenderScript のデベロッパー ガイドをご覧ください。

注: Support Library での RenderScript の使用は、Android Studio と Gradle ベースのビルドでサポートされています。renderscript ライブラリは、build-tools/$VERSION/renderscript/ フォルダにあります。

Gradle ビルド スクリプトでこのライブラリのプロパティは次のように記述します。

defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
}

v13 Support Library

このライブラリは、Android 3.2(API レベル 13)以上で使用するよう設計されています。これは(FragmentCompat)クラスと追加の fragment サポート クラスによる、Fragment ユーザー インターフェース パターンのサポートを追加します。fragment の詳細については、Fragments のデベロッパー ガイドをご覧ください。13 Support Library の API の詳細については、API リファレンスの android.support.v13 パッケージをご覧ください。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:support-v13:24.2.0

v14 Preference Support Library

android.support.v14.preference パッケージは、PreferenceFragment.OnPreferenceStartFragmentCallbackPreferenceFragment.OnPreferenceStartScreenCallback などのプリファレンス インターフェースと MultiSelectListPreference クラスや PreferenceFragment クラスのサポートを追加するための API を提供します。v14 Preference Support Library の API の詳細については、API リファレンスの preference パッケージをご覧ください。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:preference-v14:24.2.0

v17 Preference Support Library for TV

android.support.v17.preference パッケージは、TV 端末上でプリファレンス インターフェースを使用するための API を提供します。これには、BaseLeanbackPreferenceFragmentLeanbackPreferenceFragment など、LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener インターフェースおよびクラスのサポートが含まれています。v17 Preference Support Library の API の詳細については、API リファレンスの preference パッケージをご覧ください。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:preference-leanback-v17:24.2.0

v17 Leanback Library

android.support.v17.leanback パッケージは、TV 端末上のユーザー インターフェースの構築をサポートする API を提供します。TV アプリ用の重要なウィジェットが多数含まれています。注目すべきクラスをいくつかご紹介します。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:leanback-v17:24.2.0

Annotations Support Library

Annotation パッケージは、アプリへのアノテーション メタデータの追加をサポートするための API を提供します。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:support-annotations:24.2.0

Design Support Library

Design パッケージは、アプリへのマテリアル デザイン コンポーネントおよびパターンの追加をサポートするための API を提供します。

Design Support library は、アプリのデベロッパーがアプリ構築のベースとして使用できる、各種マテリアル デザインのコンポーネントおよびパターンのサポートを追加します。たとえば、ナビゲーションドロワー、フローティング アクションボタン(FAB)、snackbar、タブなどがあります。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:design:24.2.0

Custom Tabs Support Library

Custom Tabs パッケージは、アプリでカスタムタブの追加および管理をサポートするための API を提供します。

Custom Tabs Support Library は、Custom Tabs Service や各種クラス(Custom Tabs Callback など)のサポートを追加します。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:customtabs:24.2.0

Percent Support Library

Percent パッケージは、アプリのディメンションに基づくパーセンテージの追加および管理をサポートするための API を提供します。

Percent Support Library は、PercentLayoutHelper.PercentLayoutParams インターフェースと各種クラス(PercentFrameLayout PercentRelativeLayout など)のサポートを追加します。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:percent:24.2.0

App Recommendation Support Library for TV

App Recommendation パッケージは、TV 端末で実行するアプリに、コンテンツのおすすめの追加をサポートするための API を提供します。

App ライブラリは、ContentRecommendation.ContentMaturity と各種クラス(ContentRecommendationRecommendationExtender など)のアノテーションのサポートを追加します。

Gradle ビルド スクリプトで、このライブラリの依存関係識別子は次のように記述します。

com.android.support:recommendation:24.2.0