Was ist die Steigerung von AppCompatActivity über ActionBarActivity?
android.support.v7.app.AppCompatActivity
war Hinzugefügt in der aktuellen v7-support-Bibliothek als neues feature gestern.
Es wird gesagt, dass ActionBarActivity
worden ist veraltet, zu Gunsten der neuen AppCompatActivity
und dass AppCompatActivity
ist die Basisklasse für Aktivitäten, die über das support-Bibliothek-action-bar. Also, was sind die neuen features von AppCompatActivity
über ActionBarActivity
? Welche Verbesserungen tun AppCompatActivity
haben über ActionBarActivity
? Und was sind die Vorteile AppCompatActivity
? Kann jemand liefern ein paar Beispiele?
Irgendwelche Tipps sind willkommen. Und vielen Dank im Voraus.
PS: was mich am meisten überrascht ist, dass AppCompatActivity
die extended von android.support.v4.app.FragmentActivity
ist die direkte parent-Klasse ActionBarActivity
! Ich meine jetzt eigentlich, dass ActionBarActivity
alles tun, dass AppCompatActivity
tun können, warum Android drängten das letztere?
Mittlerweile, sah ich einen blog-post, die besagt: "Es ist kein umbenennen von ActionBarActivity
zu AppCompatActivity
, die interne Logik AppCompat
ist über AppCompatDelegate
", also, was ist die "interne Logik" von AppCompat
? Was kann AppCompatDelegate
tun? Könnte jemand posten einige codes dazu?
Ich habe es gelesen, es ist eine Einführung, zu flach.
AppCompatActivity ist Eltern Klasse des ActionBarActivity. Und die weitere Idee, die Sie brauchen, um sich in den code.
Ja, ich bemerkte dies.
InformationsquelleAutor SilentKnight | 2015-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie Chris schrieb, neue veralteten version von
ActionBarActivity
(derjenige, derAppCompatActivity
Klasse) ist sicher zu verwenden Abwärtskompatibilität Klasse. Seine Missbilligung ist nur ein Hinweis für Sie Fragen zur Verwendung der neuenAppCompatActivity
direkt statt.AppCompatActivity
ist eine neue, generische Implementierung verwendetAppCompatDelegate
- Klasse intern.Wenn Sie beginnen eine neue Entwicklung ist, dann sollten Sie lieber neue
AppCompatActivity
Klasse sofort. Wenn Sie eine chance haben, aktualisieren Sie Ihren app, dann ersetzen veraltetActionBarActivity
durch die neue Tätigkeit als gut. Ansonsten können Sie bleiben, mit der veralteten Aktivität und wird es keinen Unterschied im Verhalten überhaupt.Bezüglich
AppCompatDelegate
, die es Ihnen erlaubt, neue Getönte widgets in einer Tätigkeit, die wederAppCompatActivity
nochActionBarActivity
.Zum Beispiel, Erben Sie eine Aktivität aus einer externen Bibliothek, die, wiederum, hat nicht Erben von
AppCompatActivity
aber Sie wollen diese Tätigkeit zu haben, Getönte Materialien widgets (Ansichten). Es geschehen zu lassen, müssen Sie erstellen eine Instanz vonAppCompatDelegate
innerhalb Ihrer Tätigkeit, überschreiben von Methoden, die Aktivität wieaddContentView()
,setContentView()
etc. (sieheAppCompatDelegate
javadoc für die vollständige Liste der Methoden), und innerhalb dieser überschriebenen Methoden weiterleiten der Anrufe auf die innereAppCompatDelegate
Instanz.AppCompatDelegate
wird den rest erledigen und Ihre "old-fashion" - Aktivität wird "materialisiert".Kann u bitte sagen Sie mir, was passiert, wenn ich verwenden Aktivität statt Appcompactivity? Ich habe gesucht aber nicht die Lösung zu erhalten.Bitte helfen Sie mir
InformationsquelleAutor sergej shafarenka
Es ist hauptsächlich eine Namensänderung:
ActionBarActivity
nicht wirklich beschreiben, was es jetzt tut. Sie können sicher verwendenActionBarActivity
wenn Sie es wünschen. Es ist wie bei einem symlink.AppCompatActivity
ist die direkte parent-KlasseActionBarActivity
jetzt, dassActionBarActivity
alles tun, dassAppCompatActivity
tun können, warumAndroid
schob sich das später?Wie Chris schon schrieb, es ist vor allem ein name zu ändern. Zitiert die Android-Entwickler-Blog: "Die AppCompat-Support-Bibliothek begann mit bescheidenen, aber wichtigen Anfänge: eine einheitliche Aktionsleiste für alle API-7 und höher Geräte. In revision 21, nahm Sie auf neue Aufgabe: bringt material Farbe palette, widget Tönung, Symbolleiste-Unterstützung und vieles mehr zu allen API-7+ Geräte. Mit, dass, der name ActionBarActivity nicht wirklich decken den vollen Umfang von dem, was er wirklich getan hat."
Es ist nicht sicher zu verwenden deprecated Klassen, da Sie unter Entfernung in zukünftigen Versionen. Zwar können Sie leicht ersetzen Sie alle Verweise auf
ActionBarActivity
wenn es fallen gelassen wird von der Bibliothek unterstützt (z.B. bei der Aktualisierung Ihrer app) ich würde empfehlen, um zu vermeiden, mit der es von nun an.InformationsquelleAutor Chris Banes
http://android-developers.blogspot.it/2015/04/android-support-library-221.html
InformationsquelleAutor AndroidGecko
AppCompatActivity
wurde in Android-SDK seit der Veröffentlichung von android-Unterstützung appcompat-Bibliothek.AppCompatActivity
ist die direkte Kindklasse vonFragmentActivity
support v4 und die direkte parent-KlasseActionBarActivity
.AppCompatActivity
ist die Basisklasse für Tätigkeiten, bei denen die support library action bar Funktionen.Können Sie eine
ActionBar
auf Ihre Aktivität bei der Ausführung auf API level 7 oder höher durch die Erweiterung dieser Klasse für Ihre Aktivität und Einstellung der Aktivität Thema zu Thema.AppCompat oder einem ähnlichen Thema.Als für support-v7-appcompat-Bibliothek, die Unterstützung für die Action Bar user-interface-design-Muster. Diese Bibliothek enthält Unterstützung für material design user interface-Implementierungen.
Hier sind ein paar der wichtigsten Klassen enthalten in der v7-appcompat-Bibliothek:
ActionBar
- Stellt eine Implementierung der action bar Benutzerinterface-pattern.
AppCompatActivity
- Fügt eine Anwendung activity-Klasse werden könnenals Basisklasse verwendet für Tätigkeiten, bei denen die Support Library
action bar Umsetzung.
AppCompatDialog
- Fügt eine dialog-Klasse, die kann als Basis verwendet werdenKlasse für AppCompat Themen-Dialoge.
ShareActionProvider
- Fügt die Unterstützung für einen standardisierten Austausch-Aktion(wie E-Mail oder posten in sozialen Anwendungen)
in einer action-bar.
Nachdem Sie downloaden die Android Support Libraries, diese Bibliothek befindet sich in der /extras/android/support/v7/appcompat/ - Verzeichnis.
android.support.v4.app.ActivityCompat
? Ist das einfach nur der alte nameAppCompatActivity
?InformationsquelleAutor SilentKnight
Bisher der einzige Einstiegspunkt in
AppCompat
wurde durch die jetzt veraltetActionBarActivity
Klasse. Leider ist dieser gezwungen, Sie in einem set Aktivität Hierarchie, die Dinge gemacht, wie mitPreferenceActivity
unmöglich.sehen, chris Dämonen ist support-Bibliotheken-v22-1-0 für mehr info
InformationsquelleAutor null pointer
Die neueste Version der android support Bibliothek, 22.1, deprecates die
ActionBarActivity
zu Gunsten vonAppCompatActivity
, die verspricht, um eine einzige konsistenteActionBar
für alle Geräte ab API-Level 7 und höherInformationsquelleAutor Arpit Gandhi