[Android] Wear と Handheld のData Sync、DataApi

Data layer は Message API あるいは Data API を使って同期してやりとりできます。Message Api はテキストデータを送り、相手側を制御するように使いますが、DataApi は DataMap を使って Key. Value のように複数のデータを扱えます。
 
Wear からデータを変更して Handheld との Data Sync を試してみました。

wear_dataapi_1
wear_dataapi_2

Android Studio 2.1
Android 6.0

 

sponsored link

DataApi

 
projectの作成、Handheldとwearの接続は Android Wear簡単なウェアラブル アプリを作る を参照してください。
 

Wearの設定

 
例として TestWearDataApi というprojectを作成しましたがその構成は

  • mobile
    • AndroidManifest.xml
    • MainActivity.java
    • ReceiveService.java
    • res
      • activity_main.xml
  • wear
    • AndroidManifest.xml
    • WearMainActivity.java
    • res
      • activity_wear_main.xml
      • rect_activity_wear_main.xml
      • round_activity_wear_main.xml

Wear側からGoogleAPIClientを使ってdata layerにデータを送ります。
“/path” が共通のパスです

WearMainActivity.java

 
rect_activity_wear_main.xml
round_activity_wear_main.xml

 
Androidmanifest.xml

 

handheld の設定

 

Wearからのデータを受け取るserviceを作成する

ReceiveService.java

 
MainActivity.java

 
activity_main.xml

 
AndroidManifest.xml

 
com.google.android.gms.wearable.BIND_LISTENER が非推奨になりましたが、代わりの設定は確かにデータ送信は良くなっている気がします。以前は何度も通信を繰り返さないとデータが届かない感じでしたので。