如何使用LiveData代替LocalBroadcastManager

时间:2020-06-04 13:52:32

标签: java android kotlin

更早之前,使用LocalBroadcastManager在服务和活动之间进行通信。但是现在不推荐使用,官方文档建议改为使用LiveData。那么如何使用LiveData将数据从服务传递到活动?

1 个答案:

答案 0 :(得分:2)

一个不错的选择是:

  1. 将要在存储库对象内读取/写入的数据定义为LiveData
  2. 让您的活动观察LiveData(甚至最好在Repo和Activity之间使用ViewModel https://developer.android.com/topic/libraries/architecture/viewmodel
  3. 使您的服务调用某些存储库的saveXXX()或updateXXX()方法来更新您的数据,活动将自动获取更新!

您还可以按照本指南构建良好的应用程序架构 https://developer.android.com/jetpack/docs/guide