Es gibt viele Diskussionen darüber, ob Sie Activitiesoder verwenden sollten Fragments. Zum Beispiel:
- Zu fragmentieren oder nicht zu fragmentieren
- Eine Aktivität und alle anderen Fragmente
- Wie viele Aktivitäten vs. Fragmente
- Verwenden Sie Aktivität oder Fragment in der Android-Anwendung
Die meisten Diskussionen, die ich fand, wurden vor Android 4.2 veröffentlicht.
Mit Android 4.2 hat Google verschachtelte Fragmente erfunden .
Daher sehe ich eigentlich keinen Grund mehr, mehr als einen zu verwenden Activity.
In der FragmentsAnfangsphase sollten sie in Apps verwendet werden, um Tablets und Smartphones gleichzeitig auf komfortable Weise zu unterstützen.
So haben Sie beispielsweise eine, ListViewdie Viewbeim Klicken auf ein Element ein Detail öffnen kann . Auf einem Smartphone würden wir das ersetzen ListViewund Viewstattdessen das Detail anzeigen. Während ein Tablet anstelle des Ersetzens der Liste durch die Detailansicht beide Viewsgleichzeitig anzeigen kann .
Jetzt mit verschachtelt Fragmentsgibt es viele andere Möglichkeiten. Wenn Sie eine einzelne verwenden möchten Activity, können Sie allgemeine Informationen in der speichern Activityund jeder Fragmenthat Zugriff darauf.
Außerdem könnten Fragmentsdiejenigen Fragments, die verschachtelt haben , auch Informationen für ihre Kinder speichernFragments .
Mit Fragmentskann ich das einfach wiederverwenden Views, ich kann mehrere Fragmentgleichzeitig anzeigen und ich kann einfach einen Dialog aus einem bilden Fragment. Dies alles würde mich wahrscheinlich nicht mehr als nur einige Aktionen zum Kopieren und Einfügen erfordern.
Wenn ich Activitiesstattdessen benutze, muss ich ernsthaft viel ändern, um dies zu erreichen.
Ich habe kürzlich eine Anwendung implementiert, in der ich leicht zwei verwenden kann Fragment-ViewPager, um Dinge wirklich schön und dynamisch zu machen (eine Art: Informationen von heute - Informationen von gestern). Meiner Meinung nach Fragmentsmachen Sie unser Leben viel einfacher :)
Fragen:
- Warum sollte ich mehr als eine verwenden
Activity?
Könnten Sie ein gutes Beispiel nennen, in dem die Verwendung von mehreren Activitiessinnvoller ist als die Verwendung Fragments?
- Gibt es gute Beispiele, bei denen Sie keine andere Wahl haben, als sie zu verwenden
Activities?
Ich denke, die meisten größeren Frameworks wie Maps , YouTube und Co unterstützen bereits Fragments. Wir müssen uns also nicht darauf verlassen Activities. Auch ist es ganz einfach zu bewältigen NavigationBar, TabHosts, ViewPager, ActionBarfalls Sie verwenden Fragments.
Von Udacity:
Warum nicht immer eine Aktivität mit vielen Fragmenten erstellen?
- Erhöhte Komplexität
- Härtere Absichtsbehandlung
- Schwer zu lesen, zu warten und zu testen
- Gefahr einer engen Kupplung
- Sicherheitsbedenken