[英]How do I use Architecture Components with MediaBrowserService?
我正在尝试制作一个使用MediaBrowserService播放音频的应用程序,但同时也使用新的Architecture Components来构建整个应用程序。 我之前曾将MediaBrowserService用于另一个应用程序( https://github.com/willhwongwork/PodCast ),但在该应用程序中,我没有使用OnGetRoot()和OnGetChildren()方法加载数据,而只是使用loader或asynctask加载数据来自网络(该应用程序中没有体系结构)。
因此,现在如果我想使用LiveData和ViewModel,应该如何构造代码? 我是否应该在MediaBrowserService中使用它们,并通过OnGetRoot()和OnGetChildren()方法将数据提供给UI?
与AppCompatActivity
或支持作为LifecycleOwner
Fragment
由于我们可以使用ViewModelProviders
并observe
LiveData
,该Service
未实现LifecycleOwner
接口。
就是说,有LifecycleService实现LifecycleOwner
接口。 我不认为MediaBrowserService
实现了LifecycleOwner
因此您需要使用ServiceLifecycleDispatcher并创建一个自定义MediaBrowserService
。
注意:还请看一下Florina关于生命周期服务的看法: https : //github.com/googlesamples/android-architecture-components/issues/137
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.