Book Image

Creating Dynamic UIs with Android Fragments - Second Edition

By : Jim Wilson
Book Image

Creating Dynamic UIs with Android Fragments - Second Edition

By: Jim Wilson

Overview of this book

Today’s users expect mobile apps to be dynamic and highly interactive, with rich navigation features. These same apps must look fantastic whether running on a medium-resolution smartphone or high-resolution tablet. Fragments provide the toolset we need to meet these user expectations by enabling us to build our applications out of adaptable components that take advantage of the rich capabilities of each individual device and automatically adapt to their differences. This book looks at the impact fragments have on Android UI design and their role in both simplifying many common UI challenges and in providing best practices for incorporating rich UI behaviors. We look closely at the roll of fragment transactions and how to work with the Android back stack. Leveraging this understanding, we explore several specialized fragment-related classes such as ListFragment and DialogFragment. We then go on to discuss how to implement rich navigation features such as swipe-based screen browsing, and the role of fragments when developing applications that take advantage of the latest aspects of Material Design. You will learn everything you need to provide dynamic, multi-screen UIs within a single activity, and the rich UI features demanded by today’s mobile users.
Table of Contents (13 chapters)

Understanding the fragment life cycle


One of the challenges of developing Android applications is to ensure that our applications effectively handle the life cycle of the application's activities. During the lifetime of an application, a given activity may be created, destroyed, and recreated many times. A simple action, such as a user rotating a device from the portrait to landscape orientation or vice-versa, normally causes the visible activity to be completely destroyed and recreated using the appropriate resources for the new orientation. Applications that do not cooperate effectively with this natural life cycle often crash or behave in some other undesirable manner.

Each fragment instance exists within a single activity; therefore, this fragment must cooperate in some way with the activity life cycle. In fact, not only do fragments cooperate with the activity life cycle, but also they are intimately connected.

In the setup and display phases, as well as in the hide and teardown phases...