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?
70
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 dieActionBar
s-Funktionalität auf jeder API-Ebene> = 7Activity
Sie vermeiden, Ihrem Projekt zusätzliche Projekte / Bibliotheken hinzuzufügen, aber es fehlen dieActionBar
API-Ebenen unter 11bearbeiten : Weitere Details:
ActionBarActivity
ist Teil der Support Library . Support-Bibliotheken werden verwendet, um neuere Funktionen auf älteren Plattformen bereitzustellen. Zum BeispielActionBar
wurde das in API 11 eingeführt und istActivity
standardmäßig Teil des (abhängig vom eigentlichen Thema). Im Gegensatz dazu gibt esActionBar
auf den älteren Plattformen keine . Daher fügt die Support-Bibliothek eine untergeordnete Klasse vonActivity
(ActionBarActivity
) hinzu, die dieActionBar
Funktionalität und die Benutzeroberfläche des Systems bereitstelltedit2 : Update April 2015 - es sieht so aus, als ob das
ActionBarActivity
inrevision 22.1.0
der Support-Bibliothek veraltet ist .AppCompatActivity
sollte stattdessen verwendet werden.edit3: Update Aug 2017 - LifecycleActivity ist ein LifecycleOwner, aber:
(kopiert aus der Richtlinie für Architekturkomponenten)
quelle
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.
quelle
Die
ActionBarActivity
oder dieSupportActionBarActivity
haben zusätzliche Methoden und Eigenschaften, die nicht generisch sindActivity
. Beispielsweise sind Methoden zum Hinzufügen von Registerkarten in derActionBarActivity
und nicht in einer generischen vorhandenActivity
.Der Hauptunterschied besteht darin, dass Sie kein
ActionBar
Generikum erhaltenActivity
.quelle
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. "
quelle
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
quelle