Es gibt viele Diskussionen darüber, ob Sie Activities
oder 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 Fragments
Anfangsphase sollten sie in Apps verwendet werden, um Tablets und Smartphones gleichzeitig auf komfortable Weise zu unterstützen.
So haben Sie beispielsweise eine, ListView
die View
beim Klicken auf ein Element ein Detail öffnen kann . Auf einem Smartphone würden wir das ersetzen ListView
und View
stattdessen das Detail anzeigen. Während ein Tablet anstelle des Ersetzens der Liste durch die Detailansicht beide Views
gleichzeitig anzeigen kann .
Jetzt mit verschachtelt Fragments
gibt es viele andere Möglichkeiten. Wenn Sie eine einzelne verwenden möchten Activity
, können Sie allgemeine Informationen in der speichern Activity
und jeder Fragment
hat Zugriff darauf.
Außerdem könnten Fragments
diejenigen Fragments
, die verschachtelt haben , auch Informationen für ihre Kinder speichernFragments
.
Mit Fragments
kann ich das einfach wiederverwenden Views
, ich kann mehrere Fragment
gleichzeitig 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 Activities
stattdessen 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 Fragments
machen 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 Activities
sinnvoller 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
, ActionBar
falls 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