Ich weiß, dass Activities
sie einen einzelnen Bildschirm meiner Anwendung darstellen sollen, während Fragments
sie als wiederverwendbare UI-Layouts mit darin eingebetteter Logik konzipiert sind.
Bis vor kurzem habe ich eine Anwendung entwickelt, die besagt, dass sie entwickelt werden sollte. Ich habe ein erstellt Activity
, um einen Bildschirm meiner Anwendung darzustellen, und Fragmente für ViewPager
oder verwendet Google Maps
. Ich habe selten eine ListFragment
oder andere Benutzeroberfläche erstellt, die mehrmals wiederverwendet werden kann.
Kürzlich bin ich auf ein Projekt gestoßen, das nur 2 enthält, Activities
eines ist ein SettingsActivity
und das andere ist das MainActivity
. Das Layout der MainActivity
ist mit vielen versteckten Vollbild-UI-Fragmenten gefüllt und nur eines wird angezeigt. In der Activity
Logik gibt es viele FragmentTransitions
zwischen den verschiedenen Bildschirmen der Anwendung.
Was mir an diesem Ansatz gefallen hat, ist, dass die Anwendung, da sie eine verwendet ActionBar
, intakt bleibt und sich nicht mit der Bildschirmwechselanimation bewegt, was beim Activity
Umschalten der Fall ist . Dies verleiht diesen Bildschirmübergängen ein flüssigeres Gefühl.
Ich denke, ich bitte Sie, Ihre aktuelle Entwicklungsweise zu diesem Thema mitzuteilen. Ich weiß, dass es auf den ersten Blick wie eine meinungsbasierte Frage aussehen könnte, aber ich betrachte es als eine Frage zu Android-Design und -Architektur ... Nicht wirklich eine Meinungsbasierte.
UPDATE (01.05.2014): Nach dieser Präsentation von Eric Burke von Square (was ich sagen muss, ist eine großartige Präsentation mit vielen nützlichen Tools für Android-Entwickler. Und ich bin in keiner Weise mit Square verwandt).
http://www.infoq.com/presentations/Android-Design/
Aus meiner persönlichen Erfahrung in den letzten Monaten habe ich herausgefunden, dass der beste Weg, meine Anwendungen zu erstellen, darin besteht, Gruppen von Fragmenten zu erstellen, die einen Fluss in der Anwendung darstellen und alle diese Fragmente in einem präsentieren Activity
. Sie haben also im Grunde die gleiche Activities
Anzahl von Flows in Ihrer Anwendung wie die Anzahl der Flows. Auf diese Weise bleibt die Aktionsleiste auf allen Bildschirmen des Flusses intakt, wird jedoch beim Ändern eines Flusses neu erstellt, was sehr sinnvoll ist. Wie Eric Burke feststellt und wie ich auch festgestellt habe, ist die Philosophie, so wenig Activities
wie möglich zu verwenden, nicht für alle Situationen anwendbar, da sie die von ihm als "Gott" bezeichnete Aktivität durcheinander bringt.