Ответ 1
С помощью этого кода вы пытаетесь создать второй запрос на размещение, не считая ранее сохраненные данные. Вот почему он пуст.
Способ доступа к ранее сохраненным данным относится к методам DataApi
.. Например, вы можете получить все сохраненные данные с помощью Wearable.DataApi.getDataItems()
:
PendingResult<DataItemBuffer> results = Wearable.DataApi.getDataItems(mGoogleApiClient);
results.setResultCallback(new ResultCallback<DataItemBuffer>() {
@Override
public void onResult(DataItemBuffer dataItems) {
if (dataItems.getCount() != 0) {
DataMapItem dataMapItem = DataMapItem.fromDataItem(dataItems.get(0));
// This should read the correct value.
int value = dataMapItem.getDataMap().getInt(COUNT_KEY);
}
dataItems.release();
}
});
Я использовал это, и он работает. Однако у меня сама проблема, так как я не знаю, как Uri может получить доступ к определенному элементу данных с помощью Wearable.DataApi.getDataItem()
. Поэтому я разместил этот вопрос. Если вы просто тестируете, DataApi.getDataItems()
должно быть достаточно.
Другой вариант - использовать DataApi.addListener()
, чтобы получать уведомления об изменениях в хранилище.