Was ist in Android der Hauptunterschied zwischen der Erweiterung der Lifecycler-Aktivität, Aktivität, ActionBarActivity und AppCompactActivity? Wie unterscheiden sich diese Klassen in Bezug auf die Verwendung?
Was ist in Android der Hauptunterschied zwischen der Erweiterung der Lifecycler-Aktivität, Aktivität, ActionBarActivity und AppCompactActivity? Wie unterscheiden sich diese Klassen in Bezug auf die Verwendung?
Antworten:
ActionBarActivity
Sie die ActionBar
s-Funktionalität auf jeder API-Ebene> = 7Activity
Sie vermeiden, Ihrem Projekt zusätzliche Projekte / Bibliotheken hinzuzufügen, aber es fehlen die ActionBar
API-Ebenen unter 11bearbeiten : Weitere Details:
ActionBarActivity
ist Teil der Support Library . Support-Bibliotheken werden verwendet, um neuere Funktionen auf älteren Plattformen bereitzustellen. Zum Beispiel ActionBar
wurde das in API 11 eingeführt und ist Activity
standardmäßig Teil des (abhängig vom eigentlichen Thema). Im Gegensatz dazu gibt es ActionBar
auf den älteren Plattformen keine . Daher fügt die Support-Bibliothek eine untergeordnete Klasse von Activity
( ActionBarActivity
) hinzu, die die ActionBar
Funktionalität und die Benutzeroberfläche des Systems bereitstellt
edit2 : Update April 2015 - es sieht so aus, als ob das ActionBarActivity
in revision 22.1.0
der Support-Bibliothek veraltet ist . AppCompatActivity
sollte stattdessen verwendet werden.
edit3: Update Aug 2017 - LifecycleActivity ist ein LifecycleOwner, aber:
"Da sich die Architekturkomponenten im Alpha-Stadium befinden, können Fragment- und AppCompatActivity-Klassen sie nicht implementieren (da wir einer instabilen API keine Abhängigkeit von einer stabilen Komponente hinzufügen können). Bis Lifecycle stabil ist, werden LifecycleActivity- und LifecycleFragment-Klassen zur Vereinfachung bereitgestellt Das Lifecycles-Projekt wird veröffentlicht. Unterstützungsbibliotheksfragmente und -aktivitäten implementieren die LifecycleOwner-Schnittstelle. LifecycleActivity und LifecycleFragment sind zu diesem Zeitpunkt veraltet. "
(kopiert aus der Richtlinie für Architekturkomponenten)
Wenn Sie genau hinschauen, werden Sie dies sehen
public class ActionBarActivity extends FragmentActivity
implements ActionBarDrawerToggle.DelegateProvider TaskStackBuilder.SupportParentable
Hier können Sie über FragmentActivity lesen: http://developer.android.com/reference/android/support/v4/app/FragmentActivity.html
Und Unterschiede zwischen Aktivität und Fragmentaktivität: Unterschied zwischen Aktivität und Fragmentaktivität
Außerdem gibt es einige neue Themen für das Styling von actionBar ... https://developer.android.com/training/basics/actionbar/styling.html
Actionbar wird in API Level 11 eingeführt. Com.android.support:appcompat-v7:+ ist eine Support-Bibliothek, mit der Sie eine ActionBar in Ihrer App für Geräte haben können, die unter Android 3.0 oder niedriger ausgeführt werden. Wenn Sie also eine Aktionsleiste unterhalb von API-Level 11 benötigen, muss Ihre Aktivität ActionBarActivity erweitern.
Wenn Sie auf API-Level 11 und höher abzielen, müssen Sie ActionBarActivity nicht erweitern und AppCompat referenzieren. Sie können die Aktivität einfach erweitern und haben standardmäßig actionabr.
Das Standardprojekt von Android Studio schließt es automatisch in Abhängigkeiten ein und erweitert ActionbarActivity anstelle von Activity, um es zu verwenden.
Die ActionBarActivity
oder die SupportActionBarActivity
haben zusätzliche Methoden und Eigenschaften, die nicht generisch sind Activity
. Beispielsweise sind Methoden zum Hinzufügen von Registerkarten in der ActionBarActivity
und nicht in einer generischen vorhanden Activity
.
Der Hauptunterschied besteht darin, dass Sie kein ActionBar
Generikum erhalten Activity
.
ActionBarActivity bietet nur mehr Unterstützungsbibliotheken und eine bessere Nutzung der neueren Themen, die in API 11 verfügbar sind.
"In ihrer einfachsten Form zeigt die Aktionsleiste links den Titel der Aktivität und das App-Symbol an. Selbst in dieser einfachen Form ist die Aktionsleiste für alle Aktivitäten nützlich, um Benutzer darüber zu informieren, wo sie sich befinden, und um eine konsistente Darstellung zu gewährleisten Identität für Ihre App. "
Sie verwenden die Android-Supportbibliothek, wenn Sie zur Aktionsleiste gelangen. Die Verwendung der Support-Bibliothek ist also, dass Ihre Anwendung für die maximale Anzahl von Geräten unterstützt werden kann. Die Support-Bibliothek bietet Ihrer Anwendung die Möglichkeit der Abwärtskompatibilität. Actionbaractivity bietet Ihnen mehrere Funktionen wie Actionbardrawer-Umschaltung usw. Es stehen weitere Unterstützungsbibliotheken zur Verfügung. Sehen Sie diesen Link .. und teilen Sie ihn Ihren Freunden mit ... https://developer.android.com/tools/support-library/index.html