web-dev-qa-db-ja.com

Android-support-v7-appcompatとAndroid-support-v4の違い

Android-support-v4.jarAndroid-support-v7-appcompat.jarの違いを知りたかった。アプリケーションにappcompatアクションバーを追加する場合、Android-support-v7-appcompat.jarAndroid-support-の両方を追加する必要がありますv4.jarまたはAndroid-support-v7-appcompat.jarのみ。

また、Android-support-v13.jarにはappcompatがありますか?

144
Tarun

UPDATE

この質問に対する回答があったため、サポートライブラリに多くの変更が加えられました。良いことは、それも非常によく文書化されています。したがって、詳細と利用可能なサポートライブラリについては、 サポートライブラリドキュメント を読む必要があります。

サポートライブラリリリース26.0.0(2017年7月)以降、ほとんどのサポートライブラリでサポートされる最小APIレベルは、ほとんどのライブラリパッケージでAndroid 4.0(APIレベル14)に増加しました。


以下は Support Libraries Packages との違いです:

v4サポートライブラリ

このライブラリは、 Android 1.6(APIレベル4)Android 2.3(APIレベル9) Android 4.0(APIレベル14)以降。アプリケーションコンポーネント、ユーザーインターフェイス機能、アクセシビリティ、データ処理、ネットワーク接続、プログラミングユーティリティのサポートなど、他のライブラリと比較して最大のAPIセットが含まれています。

v7ライブラリ

で使用するように設計されたいくつかのライブラリがあります Android 2.1(APIレベル7)Android 2.3(APIレベル9) Android 4.0(APIレベル14)以降。これらのライブラリは特定の機能セットを提供し、互いに独立してアプリケーションに含めることができます。

v7 appcompatライブラリ

このライブラリは、アクションバーのユーザーインターフェイスデザインパターンのサポートを追加します。

注:このライブラリは、v4サポートライブラリに依存しています。 AntまたはEclipseを使用している場合、v4サポートライブラリをこのライブラリのクラスパスの一部として含めるようにしてください。

そのため、v7を使用する場合は両方のjarが必要です。


Android-support-v13.jarの更新

v13サポートライブラリ

このインターフェイスは、APIレベル27.1.0で廃止されました。フレームワークFragmentの代わりに Fragment を使用します。

v13サポートライブラリ

このライブラリは、Android 3.2(APIレベル13)以降で使用するように設計されています。 (FragmentCompat)クラスと追加のフラグメントサポートクラスを使用して、フラグメントユーザーインターフェイスパターンのサポートを追加します。

パッケージの詳細 を見ると、定義にあるようにクラス FragmentCompat があります。そのため、appcompatライブラリのすべてのクラスがありません。

168
Pankaj Kumar

サポートライブラリとは何ですか?

サポートライブラリはコードライブラリ(クラスのコレクション)であり、新しく追加された機能を古いデバイスで使用できるようにします。
たとえば、Material DesignはAPI 21(Android 5.0-Lolipop)で導入されましたが、
v7-support libraryは、API 7(Android 2.1.x -Eclair)以降で使用できるようにします。

異なるサポートライブラリとは何ですか?

主なサポートライブラリの一部は

  • V4サポートライブラリ

  • V7サポートライブラリ

  • V8サポートライブラリ

  • v13サポートライブラリ

V7サポートライブラリで7は何を表していますか?

このライブラリには、APIレベル7以降で使用するように設計された機能があることを意味します。 V4(API 4以降を対象とした機能を含む)などについても同様です。

V7サポートライブラリとv7 appcompatライブラリの違いは?

私を含め、これらの2つの用語を混同する人はほとんどいません。実際、v7 appcompatライブラリはv7サポートライブラリの一部です。 v7サポートライブラリは、主にAPI 7以降のマテリアルデザインとActionBarデザインパターンをサポートするために開発されました。
V7はより多くのサブカテゴリに分類できます

  • v7 appcompatライブラリ

  • v7 cardViewライブラリ

  • v7 recyclerViewライブラリ
  • v7パレットライブラリなど

v7 appcompatライブラリには、次の主要なクラスActionBar、ActionBarActivity、ShareActionProviderがあります。

だから、

com.Android.support:appcompat-v7:21.0.+

gradleファイルの依存関係は、上記のクラスをインポートします。

ボーナス

その他のサポートライブラリ

Multidexサポートライブラリ(65,000以上のメソッドを持つアプリの作成用)
v17 Leanbackサポートライブラリ(Android TV用の重要なウィジェットを提供するサポートライブラリ)

関連リンク

45
Rohit Singh

サポートライブラリは、最小SDKバージョンがAPIレベル11未満の場合にのみ必要です。それ以外の場合は、Apiレベル11以降のプロジェクトにサポートライブラリを追加する必要はありません。

Android-support-v4.jar: Android AP​​Iレベル4以降のアプリケーションの開発を支援するAndroid.appクラスをサポートします。アプリケーションのバックワード互換性を確保できるように、

Android-support-v7.jarこれは最近、最新のサポートライブラリの更新に追加されました。アクションバーユーザーインターフェイスのデザインパターンをAndroid 2.1(APIレベル7)以降に実装できるようにするActionBar。このクラスを使用するには、新しいActionBarActivityクラスを拡張してアクティビティを実装する必要があります。

アプリケーションにappcompatアクションバーを追加する場合、Android-support-v7-appcompat.jarとAndroid-support-v4.jarの両方、またはAndroid-support-v7-appcompat.jarのみを追加する必要があります。

はい、使用したい場合は両方のライブラリの参照を追加する必要があります。

android-support-v13.jarにはappcompatがありますか?

いいえ、これにはFragmentCompatが含まれているため、バージョン13の後にフラグメント機能を追加すると、Apiレベル11とバックワード互換にすることができるため、API 11以降をターゲットとするアプリケーションで追加された機能を使用できます新しいバージョン。

44

まず、理解する必要があります、Androidサポートライブラリとは

Androidサポートライブラリは2011年に最初にリリースされました。Android互換性ライブラリとして言うことができます。Androidサポートライブラリは古いリリース用の新しいAPIを提供します。物語は十分ではありません。

これは、バージョン番号の大きいサポートライブラリが以前のライブラリの機能を含むという混乱を招く可能性があります(v7-appcompatはv4のすべての機能を改善し、含むと思われるかもしれません)。ほとんどの場合、これは正しくありませんが、ライブラリ自体にはリビジョン番号があります。たとえば、「AppCompat v21」は実際にはサポートライブラリv7-appcompat、リビジョン21を指します。

Androidサポートライブラリは、単一のライブラリではありませんが、互換性ライブラリとコンポーネントライブラリの2つのグループに大きく分けることができます。

1-Compatibility Librariesは、以前のリリースを実行しているデバイスが新しいAPIを利用できるように、新しいフレームワークリリースからのバックポート機能に焦点を当てています。主要な互換性ライブラリはv4およびv7-appcompatです。

v4ライブラリ:多くの機能が含まれ、その名前が示すように、API 4に戻ります。さらに、Fragmentやローダー(どちらもAPI 11のフレームワークで導入されました)には、ViewPagerやDrawerLayoutなど、フレームワークにまったく存在しない、広く使用されているクラスもいくつかあります。

v7-appcompat:v7-appcompatライブラリは、ActionBar(API 11で導入)およびToolbar(API 21で導入)のサポート実装を提供します。 API7。v4ライブラリが必要ですが、含まれていません。したがって、v7-appcompatに依存する機能もv4に依存します。

2-Component LibrariesAndroid Support Libraryは、開発者がそうでない機能を追加できる、より小さく、よりモジュール式のコンポーネントライブラリも提供します。標準フレームワークの一部。これらの自己完結型ライブラリは、依存関係を気にせずにプロジェクトに簡単に追加または削除できます。考慮すべきいくつかの貴重なコンポーネントライブラリがあります。

v7-recyclerview:大量のデータを効率的に表示およびアニメーション化し、ListViewを置き換えるように設計されたRecyclerViewコンポーネントを提供します

v7-cardview:CardViewコンポーネントを提供し、カードUIデザインパターンを有効にします

v7-gridlayout:GridLayoutクラスを提供します。これにより、UI要素を長方形のグリッドに整理できます。等..

その他のライブラリAndroidサポートライブラリには、あまり使用されないが言及する価値のある他のライブラリもいくつか含まれています。

v8:は、API 8に戻るRenderScript(API 11で導入)のサポートを提供します

v13:フラグメントUIパターンの追加の互換性サポートを提供し、v4ライブラリーをバンドル

v17:TV UIの構築をサポートします

いつAndroidサポートライブラリを使用する必要がありますか?

アプリのminSdkVersionより新しい特定のフレームワーク機能が必要な場合、または標準フレームワークで利用できない特定のフレームワーク機能が必要な場合は、サポートライブラリのいずれかを使用する必要があります。

私はこれを参照します チュートリアル

10
Farhana

この回答は、バージョンが26.0.0以上のサポートライブラリのクライアントに関連しています。

注意:サポートライブラリリリース26.0.0(2017年7月)以降、ほとんどのサポートライブラリでサポートされる最小APIレベルはAndroid 4.0(APIレベル14)ほとんどのライブラリパッケージ用。

たとえば、26.0.0以降のサポートライブラリのリリースでは、support-v4およびsupport-v7パッケージは両方とも14の最小APIレベルをサポートします

詳細については、 サポートライブラリ-バージョンサポートとパッケージ名 を参照してください。

5
Eido95