Android 發(fā)送并同步數(shù)據(jù)

2018-08-02 17:53 更新

編寫:wly2014 - 原文: http://developer.android.com/training/wearables/data-layer/index.html

可穿戴數(shù)據(jù)層API(The Wearable Data Layer API),Google Play services 的一部分,為手持與可穿戴應(yīng)用提供了一個(gè)交流通道。此API包括一系列的數(shù)據(jù)對(duì)象,其可由系統(tǒng)通過網(wǎng)絡(luò)和能告知應(yīng)用數(shù)據(jù)層重要事件的監(jiān)聽器發(fā)送并同步:

Data Items

DataItem提供了手持設(shè)備與可穿戴設(shè)備間的自動(dòng)同步的數(shù)據(jù)儲(chǔ)存。

Messages

MessageApi類可以發(fā)送消息和善于處理遠(yuǎn)程過程調(diào)用協(xié)議(RPC),比如,從可穿戴設(shè)備上控制手持設(shè)備的媒體播放器,或在可穿戴設(shè)備上啟動(dòng)一個(gè)來自手持設(shè)備的intent。消息還適合單向請(qǐng)求或者請(qǐng)求/響應(yīng)通信模型。如果手持設(shè)備與可穿戴設(shè)備成功連接,那么系統(tǒng)會(huì)將傳遞的消息放進(jìn)隊(duì)列并返回一個(gè)成功的結(jié)果碼。否則,會(huì)返回一個(gè)錯(cuò)誤。成功碼并不代表成功地傳遞消息,這是因?yàn)樵O(shè)備可能在收到結(jié)果碼之后斷開連接。

Asset

Asset對(duì)象用于發(fā)送如圖像這樣的二進(jìn)制數(shù)據(jù)。將資源附加到數(shù)據(jù)元,系統(tǒng)會(huì)自動(dòng)負(fù)責(zé)傳遞,并通過緩存大的資源來避免重復(fù)傳送以保護(hù)藍(lán)牙帶寬。

WearableListenerService (for services)

拓展的 WearableListenerService 能夠監(jiān)聽一個(gè)service中重要的數(shù)據(jù)層事件。系統(tǒng)控制 WearableListenerService 的生命周期,并當(dāng)需要發(fā)送數(shù)據(jù)元或消息時(shí),將其與service綁定,否則解除綁定。

DataListener (for foreground activities)

在一個(gè)前臺(tái)activity中實(shí)現(xiàn)DataListener能夠監(jiān)聽重要的數(shù)據(jù)通道事件。只有當(dāng)用戶頻繁地使用應(yīng)用時(shí),用此代替WearableListenerService來監(jiān)聽事件變化。

Channel

使用 ChannelApi 類來從手持設(shè)備傳輸大的數(shù)據(jù)項(xiàng)到可穿戴設(shè)備,例如音樂和電影。Channel API 用于傳輸數(shù)據(jù)有如下的好處:

  • 當(dāng)使用Asset對(duì)象附加于DataItem對(duì)象時(shí),在兩個(gè)或兩個(gè)以上已連接的設(shè)備間傳輸大的數(shù)據(jù)文件是不會(huì)自動(dòng)同步。不像DataApi,Channel API 節(jié)省磁盤空間,而DataApi類是在同步已連接設(shè)備之前,就在本地設(shè)備上創(chuàng)建一份資源的拷貝。
  • 可靠地傳輸對(duì)于使用MessageApi類太大的文件。
  • 傳輸數(shù)據(jù)流,例如從網(wǎng)絡(luò)服務(wù)器下載的音樂或者從麥克風(fēng)傳進(jìn)來的聲音。

Warning: 因?yàn)檫@些Api是為手持設(shè)備與可穿戴設(shè)備間通信設(shè)計(jì),所以我們只能使用這些Api來建立這些設(shè)備間的通信。例如,不能試著打開底層sockets來創(chuàng)建通信通道。

Android Wear支持多個(gè)可穿戴設(shè)備連接到一個(gè)手持式設(shè)備。例如,當(dāng)用于在手持設(shè)備上保存了一個(gè)筆記,它會(huì)自動(dòng)出現(xiàn)在用戶的Wear設(shè)備上。為了在設(shè)備之間同步數(shù)據(jù),Google的服務(wù)器在設(shè)備的網(wǎng)絡(luò)上設(shè)置了一個(gè)云節(jié)點(diǎn)。系統(tǒng)將數(shù)據(jù)同步到直連的設(shè)備、云節(jié)點(diǎn)和通過Wi-Fi連接到云節(jié)點(diǎn)的可穿戴設(shè)備。

Figure 1. 一個(gè)包含手持和可穿戴設(shè)備節(jié)點(diǎn)的實(shí)例網(wǎng)絡(luò)

Lessons

訪問可穿戴數(shù)據(jù)層

這節(jié)課展示了如何創(chuàng)建一個(gè)客戶端來訪問數(shù)據(jù)層API。

同步數(shù)據(jù)單元

數(shù)據(jù)元是存儲(chǔ)在一個(gè)復(fù)制而來的數(shù)據(jù)倉(cāng)庫中的對(duì)象,該倉(cāng)庫可自動(dòng)由手持設(shè)備同步到可穿戴設(shè)備。

傳輸資源

Asset是典型地用來傳輸圖像和媒體二進(jìn)制數(shù)據(jù)。

發(fā)送與接收消息

消息被設(shè)計(jì)為自動(dòng)跟蹤的消息,可以在手持與可穿戴設(shè)備間來回傳送。

處理數(shù)據(jù)層的事件

獲知數(shù)據(jù)層的變化與事件。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)