15

Android チュートリアルで説明されているように、 Wearable Data Layer Apiをテストしています。

をベースにした低レベル API がありDataItem、ペイロードとしてバイト配列のみを持つことができるため、トレーニングでは を使用することを推奨してPutDataMapRequestBundleます。基本的に、このクラスのインスタンスを作成し、値を入力して送信します。

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()、正しい結果が返されます。しかし、私はそれを作成するためにその部分を使用しただけなので、それを生成する方法についてはわかりません.../testdataPutDataRequest

それとも私は間違ったことをしていますか?

4

1 に答える 1