Android 如何将WearableActivity与LiveData和ViewModel结合使用

Android 如何将WearableActivity与LiveData和ViewModel结合使用,android,wear-os,android-architecture-components,Android,Wear Os,Android Architecture Components,我希望能够在我的可穿戴应用程序中使用新安卓体系结构组件中的生命周期组件(与我在安卓应用程序中所做的相同) 在我的主Android应用程序中,我将字段放在。然后可以从“我的活动”和“我的片段”中访问/绑定它。要做到这一点,我使用的方法期望或。到目前为止还不错 我面临的问题是,我的Wear应用程序基于从扩展而不是从扩展的类。这会阻止我在我的可穿戴应用程序中使用 我四处询问并试图找到替代解决方案,但我不知道ViewModelProviders的内部结构,因此我现在无法回避这个问题。如果没有答案,我希望

我希望能够在我的可穿戴应用程序中使用新安卓体系结构组件中的生命周期组件(与我在安卓应用程序中所做的相同)

在我的主Android应用程序中,我将字段放在。然后可以从“我的活动”和“我的片段”中访问/绑定它。要做到这一点,我使用的方法期望或。到目前为止还不错

我面临的问题是,我的Wear应用程序基于从扩展而不是从扩展的类。这会阻止我在我的可穿戴应用程序中使用


我四处询问并试图找到替代解决方案,但我不知道ViewModelProviders的内部结构,因此我现在无法回避这个问题。如果没有答案,我希望在这些组件上工作的人可以看看这个。能够在我的整个应用程序(移动和穿戴)中使用ViewModel和LiveData将非常棒。

这还不可能,因为
ViewModel
依赖于支持片段(即
FragmentActivity

请在

更新处提交一份功能请求,以获得与之相当的
WearableFragmentActivity
似乎是处理这个问题的新方法

正如@codingjeremy在他的帖子中提到的,他们现在已经在Android支持库27.0.0中引入了这一功能


原件:


我通过将WearableActivity中的实现逐字复制到我自己的项目中定义的新WearableFragmentActivity类中,然后将其更改为扩展FragmentActivity来解决这个问题。直接获得谷歌的支持将是理想的解决方案,但如果您同时正在寻找解决方案,这应该会起作用。

我使用
AmbientMode.AmbientCallbackProvider
而不是WearableActivity来实现它

这是新的首选方法,它仍然为您提供了
onenteranbient()
onAmbientUpdate()
、和
onexitanbient()
,但也允许您使用
活动(或任何子类…FragementActivity等)。。。它允许您支持体系结构组件


.

您可以使用此架构组件的移植:

我发现已经有一个相关问题:我在该问题的链接中添加了一条注释。很好的解决方案,也很容易实现。希望这将是谷歌在未来的支持,但现在这似乎工作感谢!