wake-up-neo.com

Unterschied zwischen Android-support-v7-appcompat und Android-support-v4

Ich wollte den Unterschied zwischen Android-support-v4.jar und Android-support-v7-appcompat.jar kennen. Wenn ich die appcompat-Aktionsleiste in meine Anwendung einfügen möchte, muss ich beide hinzufügen Android-support-v7-appcompat.jar und Android-support-v4.jar oder nur Android-support-v7-appcompat.jar.

Hat Android-support-v13.jar auch appcompat?

144
Tarun

[~ # ~] Update [~ # ~]

In der Support-Bibliothek wurden viele Änderungen vorgenommen, seit diese Frage beantwortet wurde. Gut ist, dass es auch sehr gut dokumentiert ist. Sie müssen also Support Library Documentation lesen, um weitere Details und eine bessere Verfügbarkeit der Support-Bibliothek zu erhalten.

Ab Support Library Release 26.0.0 (Juli 2017) wurde die unterstützte API-Mindeststufe in den meisten Support-Bibliotheken für die meisten Bibliothekspakete auf Android 4.0 (API-Stufe 14) erhöht.


Unten ist der Unterschied zu Support Library Packages :

v4 Support Library

Diese Bibliothek wurde für die Verwendung mit entwickelt Android 1.6 (API Level 4)Android 2.3 (API Level 9) Android 4.0 (API-Version 14) und höher. Enthält den größten Satz an APIs im Vergleich zu den anderen Bibliotheken, einschließlich Unterstützung für Anwendungskomponenten, Benutzeroberflächenfunktionen, Zugänglichkeit, Datenverarbeitung, Netzwerkkonnektivität, und Programmierdienstprogramme.

v7-Bibliotheken

Es gibt mehrere Bibliotheken, die für die Verwendung mit entwickelt wurden Android 2.1 (API-Level 7)Android 2.3 (API Level 9) Android 4.0 (API-Version 14) und höher. Diese Bibliotheken bieten bestimmte Funktionssätze und können unabhängig voneinander in Ihre Anwendung aufgenommen werden.

v7 appcompat library

Diese Bibliothek bietet Unterstützung für das Entwurfsmuster der Aktionsleisten-Benutzeroberfläche.

Hinweis: Diese Bibliothek ist abhängig von der v4 Support Library. Wenn Sie Ant oder Eclipse verwenden, stellen Sie sicher, dass Sie die v4-Unterstützungsbibliothek als Teil des Klassenpfads dieser Bibliothek einschließen.

Also ja, Sie brauchen beide Gläser, wenn Sie v7 verwenden möchten.


Update für Android-support-v13.jar

v13 Support Library

Diese Schnittstelle wurde in API-Version 27.1.0 als veraltet eingestuft. Verwenden Sie Fragment anstelle des Framework-Fragments.

v13 Support Library

Diese Bibliothek wurde für Android 3.2 (API-Version 13) und höher entwickelt. Sie unterstützt das Fragment-Benutzeroberflächenmuster mit der Klasse (FragmentCompat) und zusätzlichen Fragment-Unterstützungsklassen

Wenn Sie das Paketdetails sehen, hat es eine Klasse FragmentCompat wie in der Definition angegeben. Es gibt also nicht alle Klassen der AppCompat-Bibliothek.

168
Pankaj Kumar

Was ist eine Support-Bibliothek?

Unterstützungsbibliotheken sind Codebibliotheken (Sammlung von Klassen), die eine neu hinzugefügte Funktion für die Arbeit mit älteren Geräten darstellen.
Zum Beispiel wurde Material Design in API 21 (Android 5.0 - Lolipop) eingeführt, aber
Die v7-Support-Bibliothek stellt sie für API 7 (Android 2.1.x -Eclair) und höher zur Verfügung.

Was sind verschiedene Support-Bibliotheken?

Einige der wichtigsten Support-Bibliotheken sind

  • V4-Unterstützungsbibliothek

  • V7-Unterstützungsbibliothek

  • V8-Unterstützungsbibliothek

  • v13 Support-Bibliothek

Wofür steht 7 in der v7 Support Library?

Dies bedeutet, dass diese Bibliothek über Funktionen verfügt, die für die Verwendung mit API Level 7 und höher ausgelegt sind. Gleiches gilt für V4 (enthält Funktionen für API 4 und höher) und so weiter.

Unterschied zwischen der v7 Support Library und der v7 AppCompat Library?

Nur wenige Leute, darunter ich, werden mit diesen beiden Begriffen verwechselt. Tatsächlich ist die AppCompat-Bibliothek von Version 7 Teil der Support-Bibliothek von Version 7. Die v7-Unterstützungsbibliothek wurde hauptsächlich zur Unterstützung des Materialdesigns und des ActionBar-Entwurfsmusters für API 7 und höher entwickelt.
V7 kann in weitere Unterkategorien eingeteilt werden

  • v7 appcompat library

  • v7 cardView-Bibliothek

  • v7 recyclerView library
  • palettenbibliothek v7 etc

die AppCompat-Bibliothek der Version 7 verfügt über die folgenden Schlüsselklassen: ActionBar, ActionBarActivity, ShareActionProvider.

Also Hinzufügen,

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

importiert die oben genannten Klassen.

Bonus

Andere Unterstützungsbibliotheken

Multidex Support Library (Zum Erstellen von Apps mit mehr als 65.000 Methoden)
v17 Leanback-Unterstützungsbibliothek (Eine Unterstützungsbibliothek, die wichtige Widgets für Android TV) enthält.)

Relevante Links

45
Rohit Singh

Unterstützungsbibliothek nur erforderlich, wenn Ihre Mindest-SDK-Version unter API Level 11 liegt. Andernfalls müssen Sie Ihrem Projekt keine Unterstützungsbibliothek für Api Level 11 oder höher hinzufügen.

Android-support-v4.jar: Support Android.app Klassen zur Unterstützung bei der Entwicklung von Anwendungen für Android API Level 4 oder höher. Damit Sie Ihr Anwendungs-Backword kompatibel machen können,

Android-support-v7.jar Es wurde kürzlich in die neueste Aktualisierung der Support-Bibliothek aufgenommen. ActionBar, um die Implementierung des Entwurfsmusters für die Benutzeroberfläche der Aktionsleiste wieder auf Android 2.1 (API-Version 7) und höher zu ermöglichen. Für die Verwendung dieser Klasse müssen Sie Ihre Aktivität implementieren, indem Sie das neue ActionBarActivity Klasse.

Wenn ich meiner Anwendung eine AppCompat-Aktionsleiste hinzufügen möchte, muss ich sowohl Android-support-v7-appcompat.jar als auch Android-support-v4.jar oder nur Android-support-v7-appcompat.jar hinzufügen.

Ja, Sie müssen die Referenz beider Bibliotheken hinzufügen, wenn Sie sie verwenden möchten.

hat Android-support-v13.jar appcompat?

Nein, es enthält FragmentCompat. Wenn also einige der nach Version 13 hinzugefügten Fragmentfeatures hinzugefügt wurden, können Sie das Backword mit API-Level 11 kompatibel machen, sodass die API 11 oder höher für das Anwendungs-Targeting die hinzugefügten Features verwenden kann auf neueren Versionen.

44

Zunächst müssen wir verstehen, Was ist die Android Support Library?

Die Android Support Library wurde ursprünglich im Jahr 2011 veröffentlicht. Sie können sagen, dass die Android Compatibility Library.the Android Support Library bietet neuere APIs für ältere Releases. Die Story reicht jedoch nicht aus.

Dies kann ein wenig verwirrend sein, da Unterstützungsbibliotheken mit höheren Versionsnummern die Funktionen früherer Bibliotheken enthalten (Sie denken möglicherweise, dass v7-appcompat die Funktionen von v4 verbessert und alle Funktionen enthält). In den meisten Fällen ist dies falsch. Die Bibliotheken selbst haben jedoch eine Versionsnummer. Beispielsweise bezieht sich "AppCompat v21" tatsächlich auf die Unterstützungsbibliothek v7-appcompat, Revision 21.

Die Android Support Library ist keine einzelne Library, sondern kann grob in zwei Gruppen unterteilt werden: Kompatibilitäts- und Komponentenbibliotheken.

1-Compatibility Libraries konzentrieren sich auf Backporting-Funktionen aus neueren Framework-Releases, damit Geräte, auf denen frühere Releases ausgeführt werden, die neueren APIs nutzen können. Die wichtigsten Kompatibilitätsbibliotheken sind v4 und v7-appcompat.

v4-Bibliothek : Sie enthält viele Funktionen und unterstützt, wie der Name schon sagt, API 4. Außerdem werden Implementierungen für Hauptklassen wie Fragment und unterstützt Mit Loader (beide wurden in das Framework in API 11 eingeführt) finden Sie auch mehrere häufig verwendete Klassen, die im Framework überhaupt nicht vorhanden sind, wie z. B. ViewPager und DrawerLayout.

v7-appcompat : Die v7-appcompat-Bibliothek bietet Support-Implementierungen für ActionBar (eingeführt in API 11) und Toolbar (eingeführt in API 21) für Releases zurück zu API 7. Es erfordert die v4-Bibliothek, enthält diese jedoch nicht. Daher ist jede von v7-appcompat abhängige Funktion auch von v4 abhängig.

2-Komponenten-Bibliotheken Die Android Support Library bietet auch kleinere, modularere Komponenten-Bibliotheken, mit denen Entwickler Funktionen hinzufügen können, die dies ermöglichen stellen ansonsten keinen Teil des Standardframeworks dar. Diese eigenständigen Bibliotheken können problemlos zu einem Projekt hinzugefügt oder daraus entfernt werden, ohne dass Abhängigkeiten berücksichtigt werden müssen.

v7-recyclerview : Stellt die RecyclerView-Komponente bereit, die große Datenmengen effizient anzeigt und animiert und ListView ersetzt

v7-cardview : Stellt die CardView-Komponente bereit, mit der das Entwurfsmuster der Karten-Benutzeroberfläche aktiviert wird

v7-gridlayout : Stellt die GridLayout-Klasse bereit, mit der Benutzeroberflächenelemente in einem rechteckigen Raster angeordnet werden können. Etc..

Andere Bibliotheken Die Android Support Library enthält auch einige andere Bibliotheken, die seltener verwendet werden, aber dennoch erwähnenswert sind:

v8: bietet Unterstützung für RenderScript (eingeführt in API 11) zurück zu API 8

v13 : Bietet zusätzliche Kompatibilitätsunterstützung für das Fragment-UI-Muster und bündelt die v4-Bibliothek

v17 : Bietet Unterstützung für die Erstellung von TV-Benutzeroberflächen

Wann sollte ich die Android Support Library?

Sie sollten eine der Support-Bibliotheken verwenden, wenn Sie bestimmte Framework-Funktionen benötigen, die neuer als die minSdkVersion Ihrer App sind oder die im Standard-Framework nicht verfügbar sind.

und ich verweise auf diese Tutorial

10
Farhana

Diese Antwort ist relevant für Kunden von Support-Bibliotheken, deren Version> = 26.0.0 ist:

Achtung : Ab Support Library Release 26.0.0 (Juli 2017) wurde die unterstützte API-Mindeststufe in den meisten Support-Bibliotheken auf Android 4.0 (API erhöht Level 14) für die meisten Bibliothekspakete.

Zum Beispiel unterstützen das Paket support-v4 und support-v7 eine API-Mindeststufe von 14 für Releases der Support Library ab 26.0.0 .

Weitere Informationen finden Sie unter Support Library - Versionsunterstützung und Paketnamen .

5
Eido95