android - 如何将 WearableActivity 与 LiveData 和 ViewModel 一起使用

标签 android wear-os android-architecture-components

我希望能够在我的可穿戴应用程序中使用新的 Android 架构组件中的生命周期组件(就像我在我的 Android 应用程序中所做的那样)。

在我的主要 Android 应用程序中,我输入了 LiveData ViewModel 中的字段.这ViewModel然后可以从我的 Activity 和我的 fragment 访问/绑定(bind)。为此,我使用方法 ViewModelProviders.of期望 android.support.v4.app.Fragmentandroid.support.v4.app.FragmentActivity .到目前为止一切顺利...

我面临的问题是我的 Wear 应用程序基于 WearableActivityandroid.app.Activity 扩展的类而不是来自 android.support.v4.app.FragmentActivity .这使我无法使用 ViewModelProviders.of在我的可穿戴应用中。

我四处打听并试图找到替代解决方案,但我不了解 ViewModelProviders 的内部结构,所以我现在无法解决这个问题。如果没有答案,我希望从事这些组件工作的人可以看看这个。如果能够在我的应用程序(移动设备和可穿戴设备)中使用 ViewModel 和 LiveData,那就太棒了。

最佳答案

更新: AmbientMode似乎是处理这个问题的新方法。

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


原文:

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

关于android - 如何将 WearableActivity 与 LiveData 和 ViewModel 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46181280/

相关文章:

Android Wear Watch Face - INVALID_ACCOUNT 尝试连接到 Google Services API 时

wear-os - 制作表盘时如何测试低位环境和烧屏保护?

android - 带有 Android Room 的可重用通用基类 DAO

androidTest 中的 Android LiveData 返回 null

android - NumberPicker 在 setValue() 后显示错误值

android - Eclipse 首选项显示 android 选项卡两次

android - 使用 Wea​​r OS Android 拍照

安卓架构组件

java - 如何根据 1 小时间隔获取时间段

java - 安卓交互器测试