FusedLocationProviderClient在Android上的MVVM中的位置如何?

FusedLocationProviderClient在Android上的MVVM中的位置如何?,android,android-mvvm,fusedlocationproviderclient,Android,Android Mvvm,Fusedlocationproviderclient,我正在开发一个Android应用程序,当用户启动应用程序时,我必须向他们显示天气数据。我遵循MVVM体系结构,在我实现的所有用例中都成功地遵循了MVVM,包括向用户显示数据和操作设置屏幕的SharedReferences。我正在使用FusedLocationProviderClient获取用户位置,但它需要Context进行实例化。在遵守MVVM体系结构的同时,使用什么样的方法来处理这个问题 我无法从ViewModel实例化它,因为它将导致Context被传递到ViewModel,从而导致潜在的

我正在开发一个Android应用程序,当用户启动应用程序时,我必须向他们显示天气数据。我遵循MVVM体系结构,在我实现的所有用例中都成功地遵循了MVVM,包括向用户显示数据和操作设置屏幕的SharedReferences。我正在使用
FusedLocationProviderClient
获取用户位置,但它需要
Context
进行实例化。在遵守MVVM体系结构的同时,使用什么样的方法来处理这个问题

我无法从
ViewModel
实例化它,因为它将导致
Context
被传递到
ViewModel
,从而导致潜在的内存泄漏


目前,我正在使用我的
片段中的
FusedLocationProviderClient
,并从中更新数据,但这是一种非常幼稚的方法,显然违反了MVVM。

您可以通过从AndroidViewModel扩展您的ViewModel来获得上下文,然后您可以在不违反MVVM模式的情况下在那里做与共享引用相关的事情。

在活动中实例化它,然后将其传递给ViewModel(就像你应该处理所有依赖项一样)。查看ViewModelFactory我无法从ViewModel中实例化它技术上说你可以如果你使用AndroidViewModelViewModel不应该包含android框架特定的代码为什么不?ViewModel本身是“android框架特定的”是的,默认情况下它属于jetpack,所以我会相应地更改我的答案。我对如何适应MVVM有点困惑。我想接收关于纬度和经度的实时更新,我想我可以在
ViewModel
中使用`
FusedLocationProviderClient
来完成,但我不知道生命周期的方法是什么有可能。你能帮我@ZaferCelaloglu吗?我正在学习Android,这是我的第一个项目。