Wenn Sie darüber reden Activity
, AppcompactActivity
, ActionBarActivity
etc etc ..
Wir müssen über Basisklassen sprechen, die sie erweitern. Zuerst müssen wir die Hierarchie der Superklassen verstehen.
Alle Dinge werden aus dem Kontext gestartet, der für alle diese Klassen eine Superklasse ist.
Context ist eine abstrakte Klasse, deren Implementierung vom Android-System bereitgestellt wird. Es ermöglicht den Zugriff auf anwendungsspezifische Ressourcen und Klassen sowie das Aufrufen von Vorgängen auf Anwendungsebene wie das Starten von Aktivitäten, das Senden und Empfangen von Absichten usw.
Context
wird gefolgt von oder erweitert von ContextWrapper
Der ContextWrapper ist eine Klasse, die die Context- Klasse erweitert und einfach alle Aufrufe an einen anderen Context delegiert. Kann in Unterklassen unterteilt werden, um das Verhalten zu ändern, ohne den ursprünglichen Kontext zu ändern.
Jetzt erreichen wir Activity
Die Aktivität ist eine Klasse, die ContextThemeWrapper erweitert. Dies ist eine einzelne, fokussierte Aufgabe , die der Benutzer ausführen kann. Fast alle Aktivitäten interagieren mit dem Benutzer, daher kümmert sich die Aktivitätsklasse darum, ein Fenster für Sie zu erstellen
Die unten aufgeführten Klassen können nur erweitert werden, werden jedoch von ihrem Nachkommen intern erweitert und bieten Unterstützung für bestimmte APIs
Die SupportActivity ist eine Klasse, die Activity erweitert, eine Basisklasse zum Zusammenstellen von Kompatibilitätsfunktionen
Die BaseFragmentActivityApi14 ist eine Klasse , die sich SupportActivity ,
die eine Basisklasse ist es Klasse beschränkt ist , sondern es ist zu erweitern , indem
BaseFragmentActivityApi16 die Funktionalität zu unterstützen V14
Die
BaseFragmentActivityApi16 ist eine Klasse , die sich
BaseFragmentActivityApi14 , die eine Basisklasse für {@code ist
FragmentActivity } in der Lage sein zu verwenden v16 APIs. Es ist jedoch auch eine eingeschränkte Klasse, wird jedoch von FragmentActivity erweitert, um die Funktionalität von V16 zu unterstützen.
jetzt FragmentActivty
Die FragmentActivity ist eine Klasse, die
BaseFragmentActivityApi16 erweitert und die unterstützungsbasierten Fragment- und Loader-APIs verwenden möchte.
Wenn Sie diese Klasse im Gegensatz zur integrierten Fragment- und Loader-Unterstützung der neuen Plattform verwenden, müssen Sie die Methoden getSupportFragmentManager()
und getSupportLoaderManager()
verwenden, um auf diese Funktionen zuzugreifen.
ActionBarActivity ist Teil der Support Library. Support-Bibliotheken werden verwendet, um neuere Funktionen auf älteren Plattformen bereitzustellen. Beispielsweise wurde die ActionBar in API 11 eingeführt und ist standardmäßig Teil der Aktivität (abhängig vom eigentlichen Thema). Im Gegensatz dazu gibt es auf den älteren Plattformen keine ActionBar . Daher fügt die Support-Bibliothek eine untergeordnete Aktivitätsklasse ( ActionBarActivity ) hinzu, die die Funktionalität und Benutzeroberfläche der ActionBar bereitstellt
Im Jahr 2015 ist ActionBarActivity in Version 22.1.0 der Support Library veraltet. Stattdessen sollte AppCompatActivity verwendet werden.
Die AppcompactActivity ist eine Klasse, die
FragmentActivity als Basisklasse für Aktivitäten erweitert, die die Aktionsleistenfunktionen der Unterstützungsbibliothek verwenden.
Sie können Ihrer Aktivität eine Aktionsleiste hinzufügen , wenn Sie auf API-Ebene 7 oder höher ausgeführt werden, indem Sie diese Klasse für Ihre Aktivität erweitern und das Aktivitätsthema auf Theme.AppCompat
oder ein ähnliches Thema festlegen
Ich beziehe mich auf diese beiden, eins , zwei
FragmentActivity
Hosts hosten . Sie hosten nurFragment
s. Bei neueren Android-Versionen wurde dieActivity
Klasse selbst aktualisiert, um sie direkt zu hosten. Zur Unterstützung älterer VersionenFragmentActivity
wurde eingeführt.