So che Activities
sono progettati per rappresentare una singola schermata della mia applicazione, mentre Fragments
sono progettati per essere riutilizzabili layout dell'interfaccia utente con logica incorporata al loro interno.
Fino a non molto tempo fa, ho sviluppato un'applicazione in quanto diceva che dovevano essere sviluppati. Ho creato un Activity
per rappresentare una schermata della mia applicazione e ho usato Frammenti per ViewPager
o Google Maps
. Raramente ho creato un'interfaccia ListFragment
utente o altra che può essere riutilizzata più volte.
Recentemente sono incappato in un progetto che contiene solo 2 Activities
uno è un SettingsActivity
e l'altro è il MainActivity
. Il layout del MainActivity
è popolato con molti frammenti nascosti dell'interfaccia utente a schermo intero e ne viene mostrato solo uno. Nella Activity
logica ce ne sono molti FragmentTransitions
tra le diverse schermate dell'applicazione.
Quello che mi è piaciuto di questo approccio è che, poiché l'applicazione utilizza un ActionBar
, rimane intatta e non si muove con l'animazione di commutazione dello schermo, che è ciò che accade con la Activity
commutazione. Questo dà una sensazione più fluida a quelle transizioni dello schermo.
Quindi suppongo che quello che ti sto chiedendo sia quello di condividere le tue attuali modalità di sviluppo riguardo a questo argomento, so che potrebbe sembrare una domanda basata sull'opinione a prima vista ma la guardo come una domanda di architettura e design Android ... Non proprio una basato sull'opinione.
AGGIORNAMENTO (01.05.2014): A seguito di questa presentazione di Eric Burke di Square , (che devo dire è un'ottima presentazione con molti strumenti utili per gli sviluppatori Android. E non sono in alcun modo correlato a Square)
http://www.infoq.com/presentations/Android-Design/
Dalla mia esperienza personale degli ultimi mesi, ho scoperto che il modo migliore per costruire le mie applicazioni è creare gruppi di frammenti che arrivano a rappresentare un flusso nell'applicazione e presentare tutti quei frammenti in uno Activity
. Quindi in pratica avrai lo stesso numero di Activities
nella tua applicazione del numero di flussi. In questo modo la barra delle azioni rimane intatta su tutti gli schermi del flusso, ma viene ricreata cambiando un flusso che ha molto senso. Come afferma Eric Burke e come ho anche capito, la filosofia di usare il minor numero Activities
possibile non è applicabile a tutte le situazioni perché crea un disastro in quella che chiama l'attività "Dio".