最近我一直在学习 LiveData 上的转换方法
我知道我们可以使用map
orswitchMap
方法来转换 livedata。假设我们有类似下面的 Player 数据类
data class Player(val name: String, val score: Int = 0)
我们使用 map 方法将玩家 livedata 转换为 playerName livedata
val player: LiveData<Player> = ...
val playerName: LiveData<String> =
Transformations.map(player) { it.name }
我的问题是,在观察者函数中这样做有什么区别,因为它们都在主线程中运行?我的意思是,如果我们想获得 playerName,那么我们也可以在观察者函数中获得它。为什么我们声明第二个 LiveData 实例来获得它
我从本指南中获取了示例代码:https ://proandroiddev.com/livedata-transformations-4f120ac046fc