Différence entre android-support-v7-appcompat et android-support-v4

147

Je voulais connaître la différence entre android-support-v4.jar et android-support-v7-appcompat.jar . Si je veux ajouter la barre d'action appcompat dans mon application, dois-je ajouter à la fois android-support-v7-appcompat.jar et android-support-v4.jar ou uniquement android-support-v7-appcompat.jar .

De plus, android-support-v13.jar a -t-il appcompat?

Tarun
la source

Réponses:

170

METTRE À JOUR

De nombreux changements ont été apportés à la bibliothèque de support depuis la réponse à cette question. La bonne chose est qu'elle est également très bien documentée. Vous devez donc lire la documentation de la bibliothèque de support pour plus de détails et une bibliothèque de support plus disponible.

À partir de la version 26.0.0 de la bibliothèque de support (juillet 2017), le niveau d'API minimum pris en charge dans la plupart des bibliothèques de support est passé à Android 4.0 (niveau d'API 14) pour la plupart des packages de bibliothèque.


Voici la différence avec les packages de bibliothèque de support :

Bibliothèque de support v4

Cette bibliothèque est conçue pour être utilisée avec Android 1.6 (niveau d'API 4) Android 2.3 (niveau d'API 9) Android 4.0 (niveau d'API 14) et supérieur. Il comprend le plus grand ensemble d'API par rapport aux autres bibliothèques, y compris la prise en charge des composants d'application, des fonctionnalités d'interface utilisateur, de l'accessibilité, de la gestion des données, de la connectivité réseau et des utilitaires de programmation.

Bibliothèques v7

Il existe plusieurs bibliothèques conçues pour être utilisées avec Android 2.1 (niveau API 7) Android 2.3 (niveau API 9) Android 4.0 (niveau API 14) et supérieur. Ces bibliothèques fournissent des ensembles de fonctionnalités spécifiques et peuvent être incluses dans votre application indépendamment les unes des autres.

bibliothèque appcompat v7

Cette bibliothèque ajoute la prise en charge du modèle de conception d'interface utilisateur de la barre d'action.

Remarque: cette bibliothèque dépend de la bibliothèque de support v4. Si vous utilisez Ant ou Eclipse, assurez-vous d'inclure la bibliothèque de support v4 dans le chemin de classe de cette bibliothèque.

Alors oui, vous avez besoin des deux bocaux si vous souhaitez utiliser la v7.


Mise à jour pour android-support-v13.jar

Bibliothèque de support v13

Cette interface était obsolète au niveau d'API 27.1.0. Utilisez Fragment au lieu du framework Fragment.

Bibliothèque de support v13

Cette bibliothèque est conçue pour être utilisée pour Android 3.2 (niveau d'API 13) et supérieur. Il ajoute la prise en charge du modèle d'interface utilisateur Fragment avec la classe (FragmentCompat) et des classes de prise en charge de fragment supplémentaires

Lorsque vous voyez les détails du package, il a une classe FragmentCompat comme indiqué dans la définition. Il n'a donc pas toutes les classes de la bibliothèque appcompat.

Pankaj Kumar
la source
2
Si vous développez une application à partir de l'api min 19. En avez-vous besoin?
2
Bibliothèques de support v4 - Ces bibliothèques sont conçues pour être utilisées avec Android 2.3 (niveau d'API 9) et supérieur.
Vadik
1
Et bibliothèques de support v7 - Il existe plusieurs bibliothèques conçues pour être utilisées avec Android 2.3 (niveau d'API 9) et supérieur.
Vadik
@ user5366495 Probablement oui. La plupart des bonnes choses sont pour API21 and above et si vous voulez l'utiliser plus bas, vous devez utiliser la bibliothèque de support pour cela. Vous pourriez donc en avoir encore besoin API19.
Mahdi-Malv
48

Qu'est-ce qu'une bibliothèque de support?

Les bibliothèques de support sont des bibliothèques de code (collection de classes) qui permettent à une fonctionnalité nouvellement ajoutée de fonctionner avec les anciens appareils.
Par exemple, Material Design a été introduit dans l'API 21 (Android 5.0 - Lolipop) mais
la bibliothèque de support v7 le rend disponible pour l'API 7 (Android 2.1.x -Eclair) et versions ultérieures.

Quelles sont les différentes bibliothèques de support?

Certaines des principales bibliothèques de support sont

  • Bibliothèque de support V4

  • Bibliothèque de support V7

  • Bibliothèque de support V8

  • Bibliothèque de support v13

Que signifie 7 dans la bibliothèque de support v7?

Cela signifie que cette bibliothèque a des fonctionnalités conçues pour être utilisées avec l'API niveau 7 et supérieur. Il en va de même avec la V4 (contient des fonctionnalités destinées à l'API 4 et supérieures) et ainsi de suite.

Différence entre la bibliothèque de support v7 et la bibliothèque appcompat v7?

Peu de gens, dont moi, se confondent avec ces deux termes. En fait, la bibliothèque appcompat v7 fait partie de la bibliothèque de support v7. La bibliothèque de support v7 a été principalement développée pour prendre en charge la conception de matériaux et le modèle de conception ActionBar pour API 7 et versions ultérieures.
La V7 peut être classée en plusieurs sous-catégories

  • bibliothèque appcompat v7

  • bibliothèque cardView v7

  • bibliothèque recyclerView v7

  • bibliothèque de palettes v7, etc.

La bibliothèque appcompat v7 comprend les classes de clés suivantes: ActionBar, ActionBarActivity, ShareActionProvider.

Donc en ajoutant,

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

dépendance dans votre fichier gradle, importe les classes mentionnées ci-dessus.

Prime

Autres bibliothèques de support

Bibliothèque de support Multidex (pour créer des applications avec plus de
65 000 méthodes) Bibliothèque de support v17 Leanback (Une bibliothèque de support qui fournit des widgets importants pour Android TV)

Liens pertinents

Rohit Singh
la source
6
Cela devrait être la réponse acceptée, explique clairement tout avec des mots simples.
gegobyte
44

Bibliothèque de support requise uniquement si votre version SDK minimale est inférieure au niveau d'API 11. Sinon, vous n'avez pas besoin d'ajouter une bibliothèque de support à votre projet pour le niveau d'API 11 ou supérieur.

android-support-v4.jar:android.app classes de support pour aider au développement d'applications pour Android API niveau 4 ou supérieur. Pour que vous puissiez rendre compatible le backword de votre application,

android-support-v7.jar Il a été récemment ajouté dans la dernière mise à jour de la bibliothèque de support. ActionBar pour permettre la mise en œuvre du modèle de conception de l'interface utilisateur de la barre d'action vers Android 2.1 (niveau d'API 7) et supérieur. L'utilisation de cette classe nécessite que vous implémentiez votre activité en étendant la nouvelle ActionBarActivityclasse.

Si je veux ajouter la barre d'action appcompat dans mon application, dois-je ajouter à la fois android-support-v7-appcompat.jar et android-support-v4.jar ou uniquement android-support-v7-appcompat.jar.

Oui, vous devez ajouter la référence des deux bibliothèques si vous souhaitez l'utiliser.

android-support-v13.jar a-t-il appcompat?

Non, il inclut FragmentCompat de sorte que si une partie de la fonctionnalité Fragment est ajoutée après la version 13, vous pouvez la rendre compatible avec l'API niveau 11. de sorte que l'API de ciblage d'applications 11 ou supérieure puisse utiliser la fonctionnalité ajoutée sur les versions plus récentes.

Bhavesh Patadiya
la source
9
DrawerLayout/ NavigationDrawern'existe actuellement que dans les bibliothèques de support.
Kiran
3
Il existe d'autres composants que vous pouvez utiliser dans votre application Android, basés sur l'une des bibliothèques de support qui n'est pas incluse par défaut dans les API plus de 11, telles que com.android.support:multidex:1.0.0 et com.android. support: conception: 23.1.0. vérifiez ceci pour plus d'informations: developer.android.com/tools/support-library/features.html
aselims
comme google le dit dans developer.android.com/topic/libraries/support-library/ ... il n'y a pas de différence entre le support v4 et le support v7. les deux sont pour api 9 et au-dessus. Est-ce vrai?!
Mahdi
Kenji, oui c'est vrai. Google shift min support de 4 à 9 et de 7 à 9 et les deux bibliothèques se dupliquent maintenant.
Yaroslav Havrylovych
Si vous développez une application à partir de l'api min 19. En avez-vous besoin?
10

Tout d'abord, nous devons comprendre, qu'est-ce que la bibliothèque de support Android ?

La bibliothèque de support Android a été initialement publiée en 2011, vous pouvez dire qu'en tant que bibliothèque de compatibilité Android, la bibliothèque de support Android fournit des API plus récentes pour les versions plus anciennes, mais l'histoire ne suffit pas.

cela peut être peu déroutant que les bibliothèques de support avec des numéros de version plus élevés incluent les fonctionnalités des bibliothèques précédentes (vous pourriez penser que v7-appcompat s'améliore et inclut toutes les fonctionnalités de la v4). Dans la plupart des cas, cela est incorrect, mais les bibliothèques elles-mêmes ont un numéro de révision. Par exemple, «AppCompat v21» fait en fait référence à la bibliothèque de support v7-appcompat, révision 21.

La bibliothèque de support Android n'est pas une bibliothèque unique, mais elle peut être divisée en deux groupes: la compatibilité et les bibliothèques de composants.

1-Les bibliothèques de compatibilité se concentrent sur les fonctionnalités de rétroportage des nouvelles versions du framework afin que les appareils exécutant les versions précédentes puissent profiter des nouvelles API. Les principales bibliothèques de compatibilité sont v4 et v7-appcompat.

Bibliothèque v4 : elle inclut de nombreuses fonctionnalités et, comme son nom l'indique, prend en charge l'API 4. En outre, pour prendre en charge les implémentations de classes majeures telles que Fragment et Loader (qui ont toutes deux été introduites dans le framework de l'API 11), vous trouver plusieurs classes largement utilisées qui ne sont pas du tout présentes dans le framework, telles que ViewPager et DrawerLayout.

v7-appcompat : la bibliothèque v7-appcompat fournit des implémentations de support pour ActionBar (introduite dans l'API 11) et Toolbar (introduite dans l'API 21) pour les versions de l'API 7. Elle nécessite la bibliothèque v4 mais ne l'inclut pas. Ainsi, toute fonctionnalité dépendant de v7-appcompat dépend également de v4.

Bibliothèques à 2 composants la bibliothèque de support Android fournit également des bibliothèques de composants plus petites et plus modulaires qui permettent aux développeurs d'ajouter des fonctionnalités qui autrement ne font pas partie du cadre standard. Ces bibliothèques autonomes peuvent être facilement ajoutées ou supprimées d'un projet sans se soucier des dépendances. Il existe plusieurs bibliothèques de composants utiles à prendre en compte:

v7-recyclerview : fournit le composant RecyclerView, qui affiche et anime efficacement de grandes quantités de données et est conçu pour remplacer ListView

v7-cardview : fournit le composant CardView, activant le modèle de conception de l'interface utilisateur des cartes

v7-gridlayout : fournit la classe GridLayout, qui permet d'organiser les éléments de l'interface utilisateur dans une grille rectangulaire. Etc..

Autres bibliothèques La bibliothèque de support Android contient également quelques autres bibliothèques qui sont moins utilisées, mais qui méritent tout de même d'être mentionnées:

v8: fournit la prise en charge de RenderScript (introduit dans l'API 11) vers l'API 8

v13 : fournit une compatibilité supplémentaire pour le modèle d'interface utilisateur Fragment et regroupe la bibliothèque v4

v17 : prend en charge la création d'interfaces TV

Quand dois-je utiliser la bibliothèque d'assistance Android?

Vous devez utiliser l'une des bibliothèques de prise en charge lorsque vous avez besoin de fonctionnalités de framework spécifiques plus récentes que la minSdkVersion de votre application ou qui ne sont pas disponibles dans le framework standard.

et je renvoie ce tutoriel

Farhana
la source
5

Cette réponse est pertinente pour les clients des bibliothèques de support dont leur version est> = 26.0.0:

Attention : à partir de la version 26.0.0 de la bibliothèque de support (juillet 2017), le niveau d'API minimum pris en charge dans la plupart des bibliothèques de support est passé à Android 4.0 (niveau d'API 14) pour la plupart des packages de bibliothèque.

Par exemple, les packages support-v4 et support-v7 prennent tous deux en charge un niveau d'API minimum de 14, pour les versions de la bibliothèque de support à partir de 26.0.0 et versions ultérieures .

Pour plus d'informations, consultez Bibliothèque de support - Prise en charge des versions et noms des packages .

Eido95
la source