Transforming LiveData
Sometimes, the LiveData you pass from the ViewModel to the UI layer needs to be processed first before displaying. For example, you can only select a part of the data or do some processing on it first. In the previous exercise, you filtered the data to only select popular movies from the current year.
To modify LiveData, you can use the Transformations class. It has two functions, Transformations.map and Transformations.switchMap, that you can use.
Transformations.map modifies the value of LiveData into another value. This can be used for tasks like filtering, sorting, or formatting the data. For example, you can transform movieLiveData into string LiveData from the movie's title:
private val movieLiveData: LiveData<Movie>
val movieTitleLiveData : LiveData<String> =
Transformations.map(movieLiveData) { it.title }
When movieLiveData changes value, movieTitleLiveData will also change based on the movie's title...