Architecture Components: LiveData and Lifecycle

Published on November 12, 2017

LiveData is part of the Lifecycle library which was designed to help you solve common Android Lifecycle challenges and to make your apps more maintainable and testable.

LiveData is a lifecycle-aware observable. LiveData makes it easy to keep what’s showing on screen in sync with the data. Benefits include:

* Lifecycle awareness: LiveData works well with the android lifecycle by only sending updates to UI components that are on screen and automatically removing listeners when a UI component is destroyed.
* Supports proper encapsulation using a combination of LiveData and MutableLiveData
* Can be returned by Room
* Includes basic transformations map and switchMap and MediatorLiveData

LiveData is usually created in a ViewModel class:

The Lifecycle library includes other classes that LiveData works with, including Lifecycle, LifecycleOwner and LifecycleObservable. To learn more about the Lifecycle library, check out:

Gradle dependencies:

Also check out:
Exposing error and loading state via LiveData:
ViewModels and LiveData – Patterns and Antipatterns:
Subclassing LiveData:
Using LifecycleObserver:
Lifecycle codelab:
Guide to app architecture:

Check out the rest of the playlist here:

Subscribe to the Android Developers channel here:

Enjoyed this video?
"No Thanks. Please Close This Box!"