Я создаю часы, которые могут иметь цвет, настроенный через приложение, которое находится на телефоне.Как вызвать сохраненный файл данных в Android Wear?
Я видел примеры использования DataApi
и DataItem
для сохранения/загрузки настроек.
Проблема я встречая что когда я изменяю к другому и изменить циферблат назад, все значения внутри DataMap
, кажется, сбрасывается в нуль или 0.
Вот пример моего 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();
}
});
Обратите внимание, что mSelectedColor = dataMap...
линии будет возвращать 0.
Вот пример кода из мобильного приложения, будет хранить эти данные:
PutDataMapRequest dataMap = PutDataMapRequest.create(COLOR_PATH);
dataMap.getDataMap().putInt(COLOR_KEY, mSelectedColor);
Отправка/retreiving значение цвета работы во время работы, и onDestroy()
или onStop()
не изменяем данные обратно в 0.
ли dataItems автоматически «расположены», когда деятельность/watchface закрыт, или я реализую эту вещь неправильно?
Спасибо за помощь!
О, человек ... не могу поверить, что совершил такую очевидную ошибку:/ Огромное вам спасибо! – JTY