How many Activities vs Fragments?

Intro:

The basic “Fragments Tutorial” pattern goes something like this:

  1. On a tablet, have a list on the left, details on the right.
  2. Both are Fragments and both reside in the same Activity.
  3. On a phone, have a
    list Fragment in one Activity.
  4. Launch a new Activity with the details Fragment.

(e.g. Android 3.0 Fragments API by Dianne Hackborn and the Fragments API Guide)

On both devices, functionality is in the Fragments. (simple)

On the Tablet, the whole app is 1 Activity, on the phone, there are many Activities.


Questions:

  • Is there a reason to split the phone app into many Activities?

One problem with this method, is that you duplicate a lot of the logic in the main Tablet Activity, and in the separate Phone Activities.

  • Would it not be easier to retain the 1 Activity model in both cases,
    using the same logic of switching Fragments in and out (just using a different layout)?

This way most of the logic resides in the Fragments themselves, and there is only a single Activity – less duplication of code.

Also what I have read about the ActionBarSherlock is that it seems to work best with Fragments instead of Activities (but I have not worked with it yet).

Are the tutorials oversimplified, or have I missed something major in this approach?


We have tried both approaches successfully in the office – but I am about to start a bigger project and want to make things as easy for myself as possible.

Some links to related questions:

  • Dilemma: when to use Fragments vs Activities:
  • Patterns when to use Activity Transition vs Dynamic Fragments
  • Android – I need some clarifications of fragments vs activities and views
  • Activities or fragments in Android?
  • Multiple fragments and activities interaction design
  • So what are the exact advantages of Fragments in Android 3.0?

Updates

Started bounty on question – still not convinced about why I need to duplicate my app logic in my tablet activity and in each phone activity.

Also found an interesting article by the guys at Square, which is well worth reading:

  • Advocating Against Android Fragments

5 Answers
5

Leave a Comment