Se si parla di Activity
, AppcompactActivity
, ActionBarActivity
ecc ecc ..
Dobbiamo parlare delle classi Base che stanno estendendo. Innanzitutto dobbiamo capire la gerarchia delle super classi.
Tutto parte da un contesto che è una super classe per tutte queste classi.
Il contesto è una classe astratta la cui implementazione è fornita dal sistema Android. Permette l'accesso a risorse e classi specifiche dell'applicazione, nonché up-call per operazioni a livello di applicazione come l'avvio di attività, la trasmissione e la ricezione di intenti, ecc.
Context
è seguito o esteso da ContextWrapper
Il ContextWrapper è una classe che si estendono al contesto classe che semplicemente i delegati di tutti i suoi chiamate verso un altro contesto. Può essere suddiviso in sottoclassi per modificare il comportamento senza cambiare il contesto originale.
Ora raggiungiamo Activity
L' attività è una classe che estende ContextThemeWrapper che è una singola cosa focalizzata che l'utente può fare. Quasi tutte le attività interagiscono con l'utente, quindi la classe Activity si occupa di creare una finestra per te
Le Classi di seguito sono limitate all'estensione ma sono estese internamente dal loro discensore e forniscono supporto per specifiche API
Il SupportActivity è una classe che estende attività che è una classe di base per la composizione di funzionalità compatibilità insieme
Il BaseFragmentActivityApi14 è una classe che estende SupportActivity
che è una classe di base è limitato classe ma si estendono da
BaseFragmentActivityApi16 per supportare la funzionalità di V14
Il
BaseFragmentActivityApi16 è una classe che estende
BaseFragmentActivityApi14 che è una classe base per {@code
FragmentActivity } per essere in grado di utilizzare V16 API. Ma è anche classe limitata ma è estesa da FragmentActivity per supportare la funzionalità di V16.
ora FragmentActivty
Il FragmentActivity è una classe che estende
BaseFragmentActivityApi16 e che vuole utilizzare il frammento e Loader API supporto-based.
Quando si utilizza questa classe anziché il frammento integrato della nuova piattaforma e il supporto del caricatore, è necessario utilizzare rispettivamente i metodi getSupportFragmentManager()
e getSupportLoaderManager()
per accedere a tali funzionalità.
ActionBarActivity fa parte della libreria di supporto. Le librerie di supporto vengono utilizzate per fornire funzionalità più recenti su piattaforme meno recenti. Ad esempio, ActionBar è stato introdotto in API 11 e fa parte dell'attività per impostazione predefinita (a seconda del tema effettivamente). Al contrario, non c'è ActionBar sulle piattaforme meno recenti . Quindi la libreria di supporto aggiunge una classe figlio di attività ( ActionBarActivity ) che fornisce la funzionalità e l' interfaccia utente di ActionBar
Nel 2015 ActionBarActivity è obsoleto nella revisione 22.1.0 della libreria di supporto. In alternativa, è necessario utilizzare AppCompatActivity .
L'AppcompactActivity è una classe che estende
FragmentActivity che è di classe di base per le attività che utilizzano la libreria di supporto caratteristiche barra delle operazioni.
Puoi aggiungere una ActionBar alla tua attività quando esegui a livello API 7 o superiore estendendo questa classe per la tua attività e impostando il tema dell'attività su Theme.AppCompat
o un tema simile
Mi riferisco a questi due uno , due
FragmentActivity
i. Ospiti solo messaggi di posta elettronicaFragment
. Nelle versioni Android più recenti laActivity
classe stessa è stata aggiornata per ospitarle direttamente. Per supportare le versioni precedenti èFragmentActivity
stata introdotta.