3 android fusedlocationproviderapi android-livedata android-viewmodel android-architecture-components
我有一个项目,在其中我已经成功实现了位置跟踪功能,并且运行良好。我每 30 秒使用融合位置提供程序跟踪用户当前位置。(跟踪在 MainActivity 启动时开始)。
现在我计划使用新引入的 Android 架构组件来更新该项目。但我不知道如何使用视图模型实现位置跟踪。在MainActivity 或 Application类中,哪里是开始位置跟踪的正确位置?我应该使用ViewModel 还是 AndroidViewModel?如何实现这一目标。
正确的方法是TrackingRepository在设备位置的后台线程中进行所有计算。创建一个MutableLiveData您将分配位置的位置。postValue()然后使用或更新其值setValue()。为此编写一个公共吸气剂MutableLiveData。该存储库将是您的位置 API。
然后您ViewModel应该调用存储库的方法并将其结果分配LiveData给ViewModel. 然后在您的片段/活动中观察您的ViewModel. 正如应用程序架构指南所做的那样。
请记住使用依赖注入,这对新架构确实有帮助。
| 归档时间: |
|
| 查看次数: |
6195 次 |
| 最近记录: |