Chapter 11. View Models: Model Behavior
As apps grow more complex, fragments have more to juggle.
And if you’re not careful, this can lead to bloated code that tries to do everything. Business logic, navigation, controlling the UI, dealing with configuration changes…you name it, it’s in there. In this chapter, you’ll learn how to deal with this kind of situation using view models. You’ll discover how they simplify your activity and fragment code. You’ll find out how they survive configuration changes, keeping your app’s state safe and sound. Finally, we’ll show you how to build a view model factory, and when this might be needed.
Configuration changes revisited
As you learned in Chapter 5, Bad Things can happen when you rotate the screen while running an app. Changing the screen orientation is a configuration change, which causes Android to destroy and recreate the current activity. As a result, views and properties can lose their state and get reset:
In Chapter 5, you learned how to handle this using the activity’s onSaveInstanceState method. This method gets triggered before the activity gets destroyed, and it’s used to save any values that may get lost in a Bundle. When the activity gets recreated, you can use these saved values to restore the state of the activity’s views ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access