Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 訪問Android Wear數據層Api——同步Data Items

Android 訪問Android Wear數據層Api——同步Data Items

編輯:關於Android編程

Data Items是用於同步手機和wear的數據接口,一個Date Items通常包括下面幾部分:

Payload

一個字節數組,你可以設置任何需要的數據類型,允許進行對象的序列化與反序列化,大小不能超過100k。

Path

唯一的字符串,必須以正斜槓開始(例如,“/path/to/ data”)

通常不需要直接實現DataItem,只需要:

1、創建PutDataRequest對象,指定一個路徑字符串區別該item

2、調用setData()設置payload

3、調用DataApi.putDataItem(),請求系統創建一個data item

4、當請求data item時候,系統會返回一個正確的實現了接口的data item對象

使用setData()使用原始字節,建議使用一個data map,可以暴露一個易於使用的類似於bundle的數據


使用Data Map同步數據

如果可以的話,使用DataMap類,可以使用data items類似Bundle,而且兌現序列化和反序列化幫你完成,你可以操作數據使用鍵值對。

使用data map 的步驟

1 創建PutDataMapRequest對象,設置data item的路徑

2 調用 PutDataMapRequest.getDataMap()創建data map,可以設置數據

3 設置需要的數據使用put...()方法,如putString()

4 調用 PutDataMapRequest.asPutDataRequest()創建 PutDataRequest對象

5 調用 DataApi.putDataItem() 請求系統創建data item

如果手機與wear沒有連接,則緩存等到連接後同步

如下代碼所示

PutDataMapRequest dataMap = PutDataMapRequest.create("/count");
dataMap.getDataMap().putInt(COUNT_KEY, count++);
PutDataRequest request = dataMap.asPutDataRequest();
PendingResult pendingResult = Wearable.DataApi
        .putDataItem(mGoogleApiClient, request);

監聽Data Item時間

如果一方數據層使data item發生變化,你可能需要去通知任何變化的數據連接,你可以實現這些通過時間一個監聽data item的事件,下面是個例子。


@Override
public void onDataChanged(DataEventBuffer dataEvents) {
    for (DataEvent event : dataEvents) {
        if (event.getType() == DataEvent.TYPE_DELETED) {
            Log.d(TAG, "DataItem deleted: " + event.getDataItem().getUri());
        } else if (event.getType() == DataEvent.TYPE_CHANGED) {
             Log.d(TAG, "DataItem changed: " + event.getDataItem().getUri());
        }
    }
}


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved