I know that
Activities are designed to represent a single screen of my application, while
Fragments are designed to be reusable UI layouts with logic embedded inside of them.
Until not long ago, I developed an application as it said that they should be developed.
I created an
Activity to represent a screen of my application and used Fragments for
Google Maps. I rarely created a
ListFragment or other UI that can be reused several times.
Recently I stumbled on a project that contains only 2
Activities one is a
SettingsActivity and other one is the
MainActivity. The layout of the
MainActivity is populated with many hidden full screen UI fragments and only one is shown. In the
Activity logic there are many
FragmentTransitions between the different screens of the application.
What I like about this approach is that because the application uses an
ActionBar, it stays intact and does not move with the screen switching animation, which is what happens with
Activity switching. This give a more fluent feel to those screen transitions.
So I guess what I'm asking is to share your current development manner regarding this topic, I know it might look like an opinion based question at first look but I look at it as an Android design and architecture question… Not really an opinion based one.
UPDATE (01.05.2014): Following this presentation by Eric Burke from Square, (which I have to say is a great presentation with a lot of useful tools for android developers. And I am not related in any way to Square)
From my personal experience over the past few months, I found that the best way to construct my applications is to create groups of fragments that come to represent a flow in the application and present all those fragments in one
Activity. So basically you will have the same number of
Activities in your application as the number of flows.
That way the action bar stays intact on all the flow's screens, but is being recreated on changing a flow which makes a lot of sense. As Eric Burke states and as I have come to realize as well, the philosophy of using as few
Activities as possible is not applicable for all situations because it creates a mess in what he calls the "God" activity.