Ich entwickle eine App, die Android> = 4.0 unterstützt. Es werden Fragmente aus dem android.app
Paket verwendet. Da ich Probleme mit der älteren Fragmentimplementierung in 4.0 wie dieser habe , die bereits in der Supportbibliothek behoben sind, denke ich darüber nach, von der Supportbibliothek zurück zur Fragmentimplementierung zu wechseln, um eine zuverlässigere und konsistentere Implementierung zu erhalten.
Wie ist Ihre Meinung dazu? Verwenden Sie Fragmente aus der Support-Bibliothek, obwohl sie bereits verfügbar sind, wenn Sie für Android 4 entwickeln?
android
android-fragments
android-support-library
brillenheini
quelle
quelle
Antworten:
Aus meiner Erfahrung ist die Verwendung derselben Fragmentimplementierung auf allen Android-Geräten ein großer Vorteil. Ich konnte nicht alle NullPointerExceptions loswerden, wenn der Status unter Android 4.0 mit nativen Fragmenten gespeichert wurde. Mit der Support-Bibliothek sind alle verschwunden. Auch konnte ich bei diesem Ansatz bisher keinen Nachteil feststellen.
Meine Antwort auf meine eigene Frage lautet nun: Bei der Entwicklung für Android 4.x ist es eine gute Idee, die Fragmente aus der Support-Bibliothek zu verwenden. In der Support-Bibliothek wurden Fehler behoben, die in älteren Fragmentimplementierungen noch vorhanden sind, und sie werden häufig mit weiteren Fehlerkorrekturen aktualisiert.
quelle
android.app.Fragment
dann? Wenn Sie dies Ihrer Antwort hier mit etwas mehr Erklärung hinzufügen können , wäre ich voll und ganz zufrieden. Vielen Dank!objectAnimator
, selbst wenn das eigentliche Zielbetriebssystem dies unterstützt). Welche, falls Sie verwendenViewPager
, bedeutet , dass Sie Adapter von v13 Support - Bibliothek verwenden, sonst kann man nicht beide viewpager und Flipping Animation haben.Ein wichtiger Grund, sich
SupportFragment
für eine Weile an die zu halten, ist, dass SieChildFragmentManager
bis zur API 17 keinen Zugriff auf die API haben. Die Support-Bibliothek bietet Ihnen eine Support-Version des untergeordneten Fragment-Managers.Dies wird zu einer großen Sache, wenn Sie Fragmente haben, die andere Fragmente enthalten. Dies ist bei Tablet-Anwendungen mit hoher Komplexität üblich und / oder Ihre Gesamtarchitektur basiert entweder auf einem Layout mit Registerkarten oder verwendet die Navigationsleiste.
quelle
Ich war auch frustriert darüber, dass ich die Support-Bibliotheken einbinden musste, obwohl ich auf Android 4.0+ abzielte - aber es scheint, dass dies offiziell empfohlen wird:
http://developer.android.com/tools/support-library/features.html
quelle
IMHO, wenn Sie planen, nur für 4.0 zu entwickeln, würde ich empfehlen, mit den nativen Bibliotheken zu gehen, da die ausführbare Datei kleiner wird. Es ist wahr, dass Sie in früheren Versionen möglicherweise auf Probleme mit Fehlern stoßen, aber ich denke, die meisten davon sollten ziemlich trivial sein, um sie zu umgehen. Außerdem sollte die Kompatibilitätsbibliothek den nativen Fragmenten zugeordnet werden, falls Sie ohnehin mit 4.0 oder höher arbeiten. Sie könnten also ohnehin mit solchen Problemen zu kämpfen haben. Das Problem mit den Support-Bibliotheken ist, dass viele Klassen zweimal angezeigt werden (einmal in der Support-Paketstruktur und einmal in der "nativen" Paketstruktur), was die Entwicklung etwas umständlicher macht.
Wenn Sie jedoch auch Ihre App vor 4.0 veröffentlichen möchten, führt kein Weg an der Support-Bibliothek vorbei. Da es ungefähr 38% aller Benutzer in 2.3 gibt, kann es wirtschaftlich sinnvoll sein, diese Betriebssystemversion einzuschließen. In einem solchen Fall können Sie die Support-Bibliothek in Kombination mit Jake Wartons ActionBarSherlock verwenden (oder mit der Googles-Support-ActionBar-Bibliothek, sobald sie endgültig freigegeben ist).
quelle
Es scheint, dass es jetzt besser ist, die Support-Bibliothek zu verwenden, da ich die Anweisung hier https://developer.android.com/reference/android/app/Fragment.html gesehen habe
quelle