Skip to content

Most visited

Recently visited

navigation

Support Library

Android Support Library は、フレームワークに組み込まれていない多数の機能を提供します。これらのライブラリは、新しい機能の下位互換バージョン、フレームワークに含まれていない有用な UI 要素、アプリで利用できる幅広いユーティリティを提供します。

概要

多くのアプリ デベロッパーにとって有益な機能でも、Android フレームワーク自体に含めるのは適切ではないことが多々あります。たとえば、さまざまなバージョンの Android システム間の移行を円滑にする機能など、アプリが特殊なユースケースに対応した機能のみを必要としている場合があります。

このような状況に対処するため、Android SDK には複数のライブラリが含まれており、これらをまとめて Android Support Library と呼びます。アプリのデベロッパーは、アプリにライブラリ機能を組み込みたい場合は、これらの中から任意のライブラリを追加することができます。

Support Library には多種多様な機能があります。

下位互換性

図 1. このアプリは Support Library の UI 要素を使用しているため、マテリアル デザインのネイティブ サポートのない Android 4.4 で実行しても、インターフェースにマテリアル デザインの原則が組み込まれます。

Support Library を使用すると、以前のバージョンの Android プラットフォーム上で実行しているアプリでも、新しいバージョンのプラットフォームで利用できる機能に対応させることができます。たとえば、5.0(API レベル 21)より前のバージョンの Android で実行しており、フレームワークのクラスに依存してるアプリは、マテリアル デザイン要素を表示できません。その Android フレームワークのバージョンがマテリアル デザインをサポートしていないためです。ただし、アプリに Support Library の appcompat ライブラリを組み込むと、アプリは API レベル 21 で対応している多くの機能を利用できるようになり、マテリアル デザインのサポートもこれに含まれています。その結果、幅広いプラットフォームのバージョンで、アプリの操作性に一貫性を持たせることができます。

クラスの Support Library のバージョンによっては、フレームワークが提供する機能をなるべく利用しようとすることがあります。このような場合、アプリがサポート クラスのメソッドを呼び出すと、アプリを実行している Android のバージョンに応じて Support Library の動作が異なります。必要な機能をフレームワークが提供している場合、Support Library はフレームワークの機能を呼び出してタスクを実行します。アプリが以前のバージョンの Android で実行されており、フレームワークで必要な機能が公開されていない場合、Support Library 自体でその機能の提供を試みるか、何も実行しないものとして動作します。いずれにせよ、アプリは通常、実行している Android のバージョンを確認する必要はありません。その代わり、アプリはバージョン確認と適切な動作の選択を Support Library に任せることができます。一般に、クラス名の末尾が …Compat の場合(例: ActivityCompat)、このように動作します。

別のケースでは、フレームワーク API の使用可能状況に関係なく、Support Library のクラスが完全なスタンドアロン版のフレームワーク クラスを提供していることがあります。これらのメソッドは、すべてのサポート対象プラットフォームで一貫した動作を実現します。

いずれにせよ、アプリは実行時にシステムのバージョンを確認する必要はありません。アプリはシステムの確認と必要に応じた動作の変更を Support Library クラスに任せることができます。

一般的なレイアウト パターンのサポート

Support Library は、Android フレームワークで提供されていないユーザー インターフェース要素を提供します。たとえば、Android Support Library では、DrawerLayout のような追加のレイアウト クラスを提供しています。これらのクラスは、推奨される Android の設計プラクティスに従います。たとえば、Design Library は、Android の多数のバージョンで機能する方法を使ってマテリアル デザインの原則に従います。

これらの Support Library クラスを使用すると、無駄な労力を省くことができます。アプリのユーザー インターフェースに特定の要件がある場合、既にユーザーにとってなじみ深いユーザー インターフェースを提供する既存のコードを活用できます。このような要素は、Android エコシステムで一般的なルック アンド フィールのアプリを構築する場合にも役立ちます。たとえば、多くのアプリは任意の長い要素のリストを表示する必要があり、リストが変更されるとこれらの要素をすばやく効率的に再利用する必要があります。たとえばメール、連絡先、音楽アルバムなどのリストが考えられます。このようなアプリは、Support Library の RecyclerView ウィジェットを使用してリストを表示できます。これにより、アプリのデベロッパーはリストを一から作成する手間を省くことができ、他のアプリのリストと同じような外観と動作のリストを表示することができます。

さまざまなフォームファクタのサポート

Android SDK では、TV やウェアラブルなど、さまざまなフォームファクタ向けのライブラリを提供しています。アプリは適切な Support Library を活用し、幅広いバージョンのプラットフォームで機能を提供し、外部の画面、スピーカー、その他の配信先端末でコンテンツを提供できます。

一般的なユーティリティ

Android Support Library は、下位互換ユーティリティ機能を提供しています。アプリはユーティリティ機能を使用して、幅広い Android システム バージョンで適切なユーザー エクスペリエンスを実現できます。たとえば、Support Library のパーミッション メソッドは、アプリが実行されているプラットフォーム バージョンに応じて適切に動作します。プラットフォームが実行時パーミッション モデルをサポートしている場合、パーミッション メソッドが適切なパーミッションをユーザーにリクエストします。実行時パーミッション モデルをサポートしていないプラットフォームでは、メソッドは適切なパーミッションが付与されているかどうかをインストール時に確認します。

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.