Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从服务访问ViewModel_Android_Mvvm - Fatal编程技术网

Android 从服务访问ViewModel

Android 从服务访问ViewModel,android,mvvm,Android,Mvvm,我想使用MVVM创建一个音乐播放器应用程序。互联网上的大多数示例都没有使用这种体系结构。我在服务中运行MediaPlayer。我有两个问题。我可以直接访问Fragment中的服务以更改MediaPlayer状态或音乐吗?我可以从服务访问ViewModel以获取音乐文件、删除文件或其他内容吗 我可以直接访问Fragment中的服务以更改MediaPlayer状态或音乐吗 我可以从服务访问ViewModel以获取音乐文件、删除文件或其他文件吗 我的意思是,我想你可以-这是你的代码,你可以做任何你想

我想使用MVVM创建一个音乐播放器应用程序。互联网上的大多数示例都没有使用这种体系结构。我在服务中运行MediaPlayer。我有两个问题。我可以直接访问Fragment中的服务以更改MediaPlayer状态或音乐吗?我可以从服务访问ViewModel以获取音乐文件、删除文件或其他内容吗

我可以直接访问Fragment中的服务以更改MediaPlayer状态或音乐吗

我可以从服务访问ViewModel以获取音乐文件、删除文件或其他文件吗


我的意思是,我想你可以-这是你的代码,你可以做任何你想做的事。但你可能不应该。根据定义,“视图模型”是视图图层的模型。服务不在视图层中。您可能希望通过存储库访问和操作文件。谷歌“Android存储库模式”。然后,您的ViewModel还将使用存储库来操作来自视图层的数据(片段/活动)

谢谢,不,单击“通知转发”操作时,我想获取下一个音乐文件。文件位于viewmodel中,通知操作目标为serviceOK。这并没有改变我的答案。将文件从视图模型移动到存储库,然后从视图模型和服务访问存储库。