$30 off During Our Annual Pro Sale. View Details »

Activities Vs. Fragments

Bryan Herbst
December 11, 2014

Activities Vs. Fragments

An exploration of when to use Activities and when to use Fragments

Bryan Herbst

December 11, 2014
Tweet

More Decks by Bryan Herbst

Other Decks in Programming

Transcript

  1. Activities vs. Fragments Bryan Herbst – Senior Software Engineer, The

    Nerdery
  2. Activity “An activity is a single, focused thing that the

    user can do.” - Android API documentation
  3. Fragment “A Fragment represents a behavior or a portion of

    user interface in an Activity.” “[…] You can think of a fragment as a modular section of an activity.” -Android API documentation
  4. IO

  5. Activity- What it is  Entry point to the application

     Set of Fragments with related purpose  Easy to manage navigation
  6. Activity- What it isn’t  Scary or evil  Super

    lightweight  Reusable
  7. Fragment- What it is  A specific piece of functionality

     Reusable  Relatively lightweight
  8. Fragment- What it isn’t  The only option for displaying

    content in an application  Easy to manage navigation
  9. Where to start?  Create a navigation map of app

     Focus on hierarchy  Clearly identify sibling screens (e.g. top level nav items) and descendant screens  Determine entry points to the application
  10. Choose your weapon  Is this screen a potential entry

    point?  Yes: Activity  No: Maybe Fragment  Is this screen a hierarchical child of another screen (or: should it provide up navigation)?  Yes: Probably Activity  No: Maybe Fragment  Will this UI component be used elsewhere?  Yes: Fragment
  11. Case study: Cartwheel  Deep linking  All links route

    through MainActivity  Should have let the framework do the work  Scoreboard  Re-used throughout the app  Event bus for updating
  12. The Navigation Drawer Navigation hub vs. replacement for tabs =>

    Activity vs Fragment “Use navigation drawers if:  You don't want to give up the vertical screen real estate for a dedicated tab bar. “ -- Android documentation- App Structure
  13. Multi-fragment layouts  AKA “tablet layouts”  Doesn’t play nice

    with the single activity navigation drawer!