Eu sei que Activities
são projetados para representar uma única tela do meu aplicativo, enquanto Fragments
são projetados para serem layouts de UI reutilizáveis com lógica incorporada dentro deles.
Até pouco tempo atrás, desenvolvi um aplicativo que dizia que eles deveriam ser desenvolvidos. Criei um Activity
para representar uma tela do meu aplicativo e usei Fragments para ViewPager
or Google Maps
. Eu raramente criei uma ListFragment
ou outra interface do usuário que pode ser reutilizada várias vezes.
Recentemente me deparei com um projeto que contém apenas 2 Activities
um é um SettingsActivity
e outro é o MainActivity
. O layout do MainActivity
é preenchido com muitos fragmentos de interface do usuário ocultos em tela cheia e apenas um é mostrado. Na Activity
lógica, existem muitos FragmentTransitions
entre as diferentes telas do aplicativo.
O que eu gostei dessa abordagem é que, como o aplicativo usa um ActionBar
, ele permanece intacto e não se move com a animação de alternância de tela, que é o que acontece com a Activity
alternância. Isso dá uma sensação mais fluente a essas transições de tela.
Acho que o que estou pedindo é compartilhar sua maneira atual de desenvolvimento com relação a esse tópico. Sei que pode parecer uma pergunta baseada em opinião à primeira vista, mas a considero uma questão de design e arquitetura do Android ... opinião baseada em um.
UPDATE (01.05.2014): Após esta apresentação de Eric Burke da Square , (que devo dizer que é uma ótima apresentação com muitas ferramentas úteis para desenvolvedores de Android. E não tenho nenhuma relação com Square)
http://www.infoq.com/presentations/Android-Design/
De minha experiência pessoal nos últimos meses, descobri que a melhor maneira de construir meus aplicativos é criar grupos de fragmentos que representam um fluxo no aplicativo e apresentam todos esses fragmentos em um Activity
. Então, basicamente, você terá o mesmo número de Activities
em seu aplicativo que o número de fluxos. Dessa forma, a barra de ação permanece intacta em todas as telas do fluxo, mas está sendo recriada na alteração de um fluxo que faz muito sentido. Como Eric Burke afirma e como eu também percebi, a filosofia de usar o mínimo Activities
possível não é aplicável a todas as situações, porque cria uma confusão no que ele chama de atividade de "Deus".