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 ...
Get Head First Android Development, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.