Dies hängt von der App ab, die Sie erstellen. Ich habe mehrere Apps mit beiden Ansätzen erstellt und kann nicht sagen, dass ein Weg immer besser ist als der andere. In der neuesten App, die ich erstellt habe, habe ich den Single- Activity
Ansatz und eine Navigation im Facebook-Stil verwendet. Bei der Auswahl von Elementen aus der Navigationsliste aktualisiere ich einen einzelnen Fragment
Container, um diesen Abschnitt anzuzeigen.
Das heißt, eine Single zu haben, bringt Activity
auch eine Menge Komplexität mit sich. Angenommen, Sie haben ein Bearbeitungsformular, und für einige der Elemente, die der Benutzer auswählen oder erstellen muss, müssen sie zu einem neuen Bildschirm wechseln. Bei Aktivitäten würden wir nur den neuen Bildschirm mit aufrufen, startActivityForResult
aber mit Fragments
gibt es so etwas nicht, sodass Sie am Ende den Wert auf dem speichern Activity
und das Hauptbearbeitungsfragment überprüfen lassen Activity
, ob Daten ausgewählt wurden und dem Benutzer angezeigt werden sollen.
Was Aravind über das Festhalten an einem einzigen Activity
Typ sagt, ist ebenfalls wahr, aber nicht wirklich so einschränkend. Ihre Aktivität wäre eine FragmentActivity und solange Sie keine benötigen, MapView
gibt es keine wirklichen Einschränkungen. Wenn Sie zwar Karten anzeigen möchten, können Sie dies tun, aber Sie müssen entweder die Android-Kompatibilitätsbibliothek ändern, um sie zu FragmentActivity
erweitern, MapActivity
oder die öffentlich verfügbaren Android-Support-v4-Google-Karten verwenden .
Letztendlich sind die meisten Entwickler, von denen ich weiß, dass sie den einen Activity
Weg gegangen sind, zu mehreren Aktivitäten zurückgekehrt, um ihren Code zu vereinfachen. In Bezug auf die Benutzeroberfläche stecken Sie auf einem Tablet manchmal fest, wenn Sie Activity
nur eine verwenden, um die verrückte Interaktion zu erreichen, die Ihre Designer sich einfallen lassen :)
- BEARBEITEN -
Google hat endlich MapFragment
die Kompatibilitätsbibliothek freigegeben , sodass Sie den android-support-v4-googlemaps-Hack nicht mehr verwenden müssen. Lesen Sie hier mehr über das Update: Google Maps Android API v2
- BEARBEITEN 2 -
Ich habe gerade diesen großartigen Beitrag über den modernen Zustand von Fragmenten (2017) gelesen und mich an diese alte Antwort erinnert. Ich dachte, ich würde teilen: Fragmente: Die Lösung für alle Probleme von Android