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
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
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
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
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