Android チュートリアルで説明されているように、 Wearable Data Layer Apiをテストしています。
をベースにした低レベル API がありDataItem
、ペイロードとしてバイト配列のみを持つことができるため、トレーニングでは を使用することを推奨してPutDataMapRequest
いBundle
ます。基本的に、このクラスのインスタンスを作成し、値を入力して送信します。
private final static String DATA_PATH = "/testdata";
PutDataMapRequest dataMap = PutDataMapRequest.create(DATA_PATH);
dataMap.getDataMap().putInt(...);
PutDataRequest request = dataMap.asPutDataRequest();
PendingResult<DataApi.DataItemResult> pendingResult = Wearable.DataApi.putDataItem(mGoogleApiClient, request);
pendingResult.setResultCallback(...);
ここで、このデータが正しく保存されているかどうかを確認したいと思います (テストのため、ハンドヘルド自体では、今のところウェアラブルについては心配していません)。これに適したメソッドはDataApi
クラスにあるので、次を呼び出すことができます。
PendingResult<DataApi.DataItemResult> pending;
pending = Wearable.DataApi.getDataItem(mGoogleApiClient, uri);
pending.setResultCallback(...);
次にDataMapItem.fromDataItem()
、コールバック内で使用して値を取得します。
問題は、DataItemResult を要求する実際の Uri は何ですか?
データが保存されているのは、保存されているすべてWearable.DataApi.getDataItems(mGoogleApiClient)
のデータを反復処理するために使用すると、実際にそこにあり、Uri は次のとおりであるためです。
"wear://<some guid here>/testdata"
この Uri を使用するとDataApi.getDataItem()
、正しい結果が返されます。しかし、私はそれを作成するためにその部分を使用しただけなので、それを生成する方法についてはわかりません.../testdata
PutDataRequest
それとも私は間違ったことをしていますか?