Fragments provide our applications with a level of user interface flexibility that would be difficult to achieve otherwise. By properly designing our application to use fragments and associating the fragment resources with the appropriate device characteristics, we're able to build apps that contain a rich user interface that automatically adapts to the wide variety of Android device form factors that exist. We get all of these capabilities while writing only minimal code.
In the next chapter, we will dig into the life cycle of fragments and explore how we can leverage the fragment life cycle to create more responsive user interfaces and how we can leverage specialized Fragment
classes.