我是整个ViewModel应用程序架构的新手,我一直在研究一个简单的问题,想知道我是否走了正确的道路。
我有一个MainActivity
和一个Service
类(扩展了Service)。在服务类中,我生成一些数据,并且需要将其发送到main活动以显示它。
这一切做得很好,并通过简单的广播工作。但是我想知道是否应该在这里使用ViewModels。例如,不是将数据通过广播发送回去,我是否应该在Service类中使用ViewModel并在其中填充它,然后从MainActivity
中的ViewModel中检索它? (我仍然不确定如何在服务类和MainAcitivity
中获取相同的ViewModel实例)。
我所做的:
在Service
类中:
viewModel = new BasicViewModel(getApplication());
viewModel.fillWithRandomData();
在MainActivity
类中:
viewModel = ViewModelProviders.of(this).get(BasicViewModel.class);
viewModel.getData();
这对我不起作用。我什至使用同一个viewmodel实例吗?
这是否是解决此问题的正确方法,还是简单的“通过广播发送回数据”更好?任何帮助表示赞赏!