【问题标题】:Can I share a ViewModel between an activity and a service?我可以在活动和服务之间共享 ViewModel 吗?
【发布时间】:2018-05-20 21:35:14
【问题描述】:

我有一个运行服务的应用程序,即使应用程序关闭,它也应该继续工作。我需要在他们之间共享信息,并且我想尝试使用 ViewModel 执行此操作。我知道如何在片段之间共享 ViewModel,但在活动和服务之间却让我无法理解。有人知道吗?

【问题讨论】:

  • _view_model 与服务结合的作用是什么?
  • 我有一个类可以跟踪需要由 MainActivity 和服务访问的传感器数据。我可以创建两个对象,但由于它是相同的数据,所以它是多余的,我不得不担心正确启动/停止每个对象。共享 ViewModel 将是首选
  • 当然,您只存储一次数据。但我无法想象服务可能想用视图模型做什么。我宁愿将数据放在(经典,非安卓)服务中,并从你的(安卓)服务和你的视图模型中访问。

标签: android android-activity mvvm service viewmodel


【解决方案1】:

@Elliptica

我的解决方案:

1) 您的活动和服务必须在同一进程上运行!

2) 创建一个具有ViewModelStoreBaseSupportViewModelService 类来存储您的ShareViewModel

3) 您的ViewModel 必须是可共享的!如何在两个活动(可能三个)或服务之间共享ViewModel

这是link1

这是link2

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    相关资源
    最近更新 更多