2017-09-01 5 views
-3

Lorsque j'ai écrit ma première application Android pour Android 2.2, mes activités devaient utiliser extends AppCompatActivity car des fragments n'étaient pas disponibles dans Android 2.2.Pourquoi devrais-je étendre AppCompatActivity au lieu de Activity pour Android 4.0 et Up?

Aujourd'hui de nombreuses applications écrites pour Android 4.0 et plus récent utilisent extends AppCompatActivity au lieu de extends Activity. Depuis Android 4 prend en charge les fragments et les styles est-il toujours nécessaire d'utiliser AppCompatActivity? L'assistant Android Studio génère également le code AppCompatActivity.

Note: cette question est pas de "AppCompat" en général (comme Android 6 support d'autorisation, il est seulement sur l'activité et la manipulation des fragments

[mise à jour] ma question était vraiment concreate. exemples de ce qu'est une activité AppCompatActivity sous Android 4.0 peut faire qu'un Android 4.0 Actrivity avec if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.XXX) ne peut pas faire. Tout ce que je trouve que AppCompatActivity ajoute Interroge/setSupportXXXX

Le seul exemple concret, je suis donc utiliser beaucoup est matériel vue design .

+1

Par exemple, implémente des vues et des fonctionnalités Material Design non disponibles dans 4.0. Donc, c'est toujours une bonne pratique de l'utiliser. –

+0

des explications pour les downvotes? qui reformuler la question à "quels sont les inconvénients de ne pas utiliser AppCompatActivity" mieux? – k3b

+0

Aujourd'hui, de nombreuses applications écrites pour Android 4.0 et une utilisation plus récente étend AppCompatActivity. Êtes-vous sûr??? –

Répondre

3

AppCompatActivity obtient régulièrement des améliorations (prise en charge des mises à jour de bibliothèque). La classe d'activité normale est statique, le code a été écrit une fois et n'a jamais été mis à jour.

Ainsi, quelle que soit la version Android, AppCompatActivity est presque toujours meilleur, plus rapide, plus récent.

En outre, d'autres fonctionnalités sont ajoutées plus tard, dans la version Android 5 etc. qui doivent être portées vers l'arrière 4.0. `AppCompatActivity` active de nombreuses fonctionnalités de rétrocompatibilité d'une manière transparente.

+2

vous avez manqué la partie où AppCompat est rétrocompatible, et les thèmes appcompat nécessitent AppCompatActivity au lieu de Activity – Zoe