我正在将用户信息存储在本地会议室数据库中。在活动和片段中,我使用AndroidViewModel和LiveData侦听对数据库所做的更改并更新UI。
现在,我想分析所有过去的用户数据,以便为将来的决策提供建议。我的建议会针对用户对数据库所做的每一次更改而更改,因此我需要经常更新自己的建议,同时一遍又一遍地执行相同的计算。
我当时正在考虑在应用程序启动时启动一项服务,该服务通过ViewModel和LiveData侦听数据库更改并更新我的建议(这些建议也存储在同一数据库中)。但是某种方式服务不能
viewModel = ViewModelProviders.of(this).get(DataViewModel.class);基本上,每次数据库内容更改时,我只需要从数据库中读取所有条目,分析数据并更新5-10个值即可。
如果不在服务中,我应该如何以及在哪里进行计算?也许我陷入了一个错误的想法,而服务却不是正确的方法,因此非常感谢您提供有关如何执行此操作的任何想法!