Wear OS 資料層 API 包含多種不同類型的用戶端,可用於不同類型的資料和不同連線情況。
本頁面會介紹各個用戶端類型,並提供比較不同用戶端功能的表格。您可以根據這項資訊,選取最適合應用程式的用戶端類型組合。
資料用戶端
DataClient
物件可讓您讀取或寫入 DataItem
或 Asset
:
每個
DataItem
都是資訊單位,會在使用者擁有的所有鄰近裝置上播送及同步。DataItem
會持續儲存,裝置可以讀取其內容,直到資料項目遭到刪除為止。Asset
適用於較大的資料酬載,例如圖片或媒體檔案。
訊息用戶端
MessageClient
物件可傳送訊息,且適用於遠端程序呼叫 (RPC),例如使用 Wear OS 裝置控制手持裝置上安裝的應用程式版本。
訊息非常適合用於使用 sendMessage()
的單向要求,或是使用 sendRequest()
的要求/回應通訊模型。與資料用戶端不同,訊息用戶端需要節點連線至網路,才能傳送訊息。
sendMessage()
方法會盡力將資料傳送至遠端節點,但不包含任何內建重試機制。如果目標裝置在網路轉移作業開始前中斷連線,方法會傳回 TARGET_NODE_NOT_CONNECTED
。
管道用戶端
ChannelClient
物件可在裝置之間提供以串流為導向的通訊。管道是兩個節點之間的雙向通訊管道,可用於下列用途:
- 在網路無法使用的情況下,於多個已連接的裝置間傳輸資料檔案。
ChannelClient
比DataClient
更節省磁碟空間,後者會在與連結的裝置同步處理前,在本機裝置建立資產副本。 - 使用
MessageClient
穩定傳送因太大而無法傳送的檔案。 - 傳輸串流資料,例如來自麥克風的語音資料。
開啟管道後,您可以以連續位元組串流傳送及接收資料,而非使用資料用戶端所需的個別 DataItem
單位。
您必須負責管理資料流程,並確保資料一致性。管道用戶端提供的自動資料同步功能,不如資料用戶端的功能完善。
用戶端比較
下表比較不同用戶端的功能:
用戶端類型 | 資料持續性 | 是否支援超過 100 KB 的資料? | 要使用的網路 | 擴充功能可以離線作業嗎? |
---|---|---|---|---|
資料用戶端 | 資料會無限期保留 | 是 (使用 Asset 物件) |
建議使用藍牙。資料會備份至雲端;如果可使用藍牙,這項備份作業會以非同步方式執行 | 是,讀取和寫入皆可 |
訊息用戶端 | 不保留且不重試 | 否 | 建議使用藍牙,但如果 Wi-Fi 是唯一可用的連線類型,也可以使用 Wi-Fi | 否 |
管道用戶端 | 不保留 (連線導向) | 是 | 建議使用藍牙,但如果 Wi-Fi 是唯一可用的連線類型,也可以使用 Wi-Fi | 否 |