如何在Android Wear中调用保存的数据项?
我正在创建一个手表,可以通过手机上的应用程序定制颜色 我见过一些示例使用如何在Android Wear中调用保存的数据项?,android,wear-os,android-wear-data-api,Android,Wear Os,Android Wear Data Api,我正在创建一个手表,可以通过手机上的应用程序定制颜色 我见过一些示例使用DataApi和DataItem保存/加载设置 我遇到的问题是,当我换到另一个手表并换回来时,DataMap中的所有值似乎都重置为null或0 下面是我的Wear watchface的onCreate()方法示例,它将尝试加载上次使用的颜色: PendingResult<DataItemBuffer> results = Wearable.DataApi.getDataItems(mGoogleApiCl
DataApi
和DataItem
保存/加载设置
我遇到的问题是,当我换到另一个手表并换回来时,DataMap
中的所有值似乎都重置为null或0
下面是我的Wear watchface的onCreate()
方法示例,它将尝试加载上次使用的颜色:
PendingResult<DataItemBuffer> results = Wearable.DataApi.getDataItems(mGoogleApiClient);
results.setResultCallback(new ResultCallback<DataItemBuffer>() {
@Override
public void onResult(DataItemBuffer dataItems) {
if (dataItems.getCount() != 0) {
for (int i = 0; i < dataItems.getCount(); i++) {
DataMapItem dataMapItem = DataMapIfromDataItem(dataItems.get(i));
if (dataMapItem.getDataMap().containsKey(COLOR_KEY)) {
mSelectedColor = dataMapItem.getDataMap().getInt(COLOR_PATH);
}
}
}
dataItems.release();
}
});
发送/检索颜色值在运行时起作用,并且ondestory()
或onStop()
不会将数据修改回0
当活动/监视面关闭时,数据项是否会自动“处理”,或者我的实现是否有误
谢谢你的帮助 我想你在
getInt
调用中得到了错误的常量COLOR\u PATH
是URI路径,COLOR\u KEY
是您试图检索的int
的键。你应该:
mSelectedColor = dataMapItem.getDataMap().getInt(COLOR_KEY);
哦,老兄。。。真不敢相信我犯了这么明显的错误:/非常感谢!
mSelectedColor = dataMapItem.getDataMap().getInt(COLOR_KEY);