Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ヘルスケアデータ収集の簡易化
Android Wear
FiNC Inc Yuki Nanri
自己紹介
Android Wear
デモ
実装の注意点
今後の展開
まとめ
~table of contents~
自己紹介
• 南里勇気 (@neonankiti)
• FiNC Android エンジニア
• FiNCのAndroidアプリ立ち上げから参画
• Androidのアーキテクチャの検討、実装
• UI・UXの検討、導入
• バイソン
FiNC Appとは
• データ収集→分析→ソリューション→EC
• 行動変容と継続のためのウェルネスバリューチェーン
ウェルネス
サーベイ
遺伝子・
血液検査
食事指導
サーベイ+
各種検査
分析結果
レポート
パーソナライズ
ソリューション...
自己紹介
Android Wear
デモ
実装の注意点
今後の展開
まとめ
~table of contents~
ユーザーの実世界との隔たりを最小限に
Android Wearって?
実世界
スマホ
https://www.youtube.com/watch?time_continue=62&v=Bl4Qne-RpcM
スマホを触る時間は実世界から隔絶され...
Android Wearとヘルスケア
ヘルスケアで最も重要なことは継続させることであり、
いい生活習慣、運動習慣を行って健康になるのは当たり前
Android Wearとヘルスケア
継続してもらうには、出来るだけ負担を軽くすることが重要
Android Wearとヘルスケア
・Wearableによって
データ収集をより効率的に
ソリュー
ション
分析
データ収集
・現実との隔たりをより
最小限に
FiNCApp
Service
Data collection
Analysis
...
今日のゴール
全体像
Bluetooth通信
音声、テキストデータ
Notification
Http通信
FiNC API
FiNC App
Wearable
FiNC App Server
自己紹介
Android Wear
デモ
実装の注意点
今後の展開
まとめ
~table of contents~
FiNC Appでデモ
つぶやき投稿(※遊びなので、リリースされてません。)
自己紹介
Android Wear
デモ
実装の注意点
今後の展開
まとめ
~table of contents~
I. 環境設定
II. Wear Appの実装
III. FiNC Appの実装
実装上の注意点
環境設定
• OS Ver.4.3以上でBluetooh通信が可能なデバイス
• settings.gradle
• build.gradle(app)に以下を追記
• build.gradle(wear app)に以下を追記
dependen...
環境設定
Google API Clientの利用してBluetooth通信を可能に
Google API Clientインスタンス
mGoogleApiClient = new GoogleApiClient
.Builder(this)
....
Wear App
I. 音声Inputリクエスト処理
II. 音声Inputレスポンス処理
III. デバイス(スマホ)にBluetooth通信
Wear App
I. Intentを投げる
private static final int SPEECH_REQUEST_CODE = 0;
// Create an intent that can start the Speech Rec...
Wear App
II. コールバックで処理データを加工
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if ...
Wear App
Ⅲ. スマホデバイス側にデータ送信
1. Deviceを探索
2. 探索結果のコールバックをセット
// Instance for looking for smart phone device.
PendingResult<N...
Wear App
Ⅲ. スマホデバイス側にデータ送信
3. 送るデータの作成
for (Node node : result.getNodes()) {
JSONObject jsonObject = new JSONObject();
try...
Wear App
Ⅲ. スマホデバイス側にデータ送信
4. スマホデバイスに送信
final byte[] bs = (jsonObject.toString()).getBytes();
PendingResult<MessageApi.Se...
Wear App
Ⅲ. スマホデバイス側にデータ送信
5. コールバックのセット
messageResult.setResultCallback(new ResultCallback<MessageApi.SendMessageResult>(...
FiNC App
I. Google API ClientにListenerの設定
II. CallBackで処理
FiNC App
I. Google API ClientにListenerの設定
Wearable.MessageApi.addListener(mGoogleApiClient, this);
FiNC App
Ⅱ. CallBackで処理
@Override
public void onMessageReceived(MessageEvent messageEvent) {
// already written in wearabl...
自己紹介
Android Wear
デモ
実装の注意点
今後の展開
まとめ
~table of contents~
実装はわかったけど
Wearable Appって実用的?
• つぶやきだけでなくより多くのデータを自動収集
• 体重投稿
• 睡眠投稿
• 食事投稿
• 他のWearable, Google Fitとの連携
• Beaconを利用した健康促進
今後の展開
自己紹介
Android Wear
デモ
実装の注意点
今後の展開
まとめ
~table of contents~
• Android Wearが提供するのは、ユーザーの欲しいタ
イミングで、即座に情報を提供する体験。
• 多様なセンサーで情報を収集できるためヘルスケアと
の相性は良い。
• 開発コストが低く、すぐに実装できる。
• ただ具体的にサービスの設...
ありがとうございました!
Upcoming SlideShare
Loading in …5
×

Android Wear

1,918 views

Published on

This is how to user android wear in FiNC App that is one of the most prominent apps in Japan in healthcare fields.

Published in: Mobile
  • Be the first to comment

  • Be the first to like this

Android Wear

  1. 1. ヘルスケアデータ収集の簡易化 Android Wear FiNC Inc Yuki Nanri
  2. 2. 自己紹介 Android Wear デモ 実装の注意点 今後の展開 まとめ ~table of contents~
  3. 3. 自己紹介 • 南里勇気 (@neonankiti) • FiNC Android エンジニア • FiNCのAndroidアプリ立ち上げから参画 • Androidのアーキテクチャの検討、実装 • UI・UXの検討、導入 • バイソン
  4. 4. FiNC Appとは • データ収集→分析→ソリューション→EC • 行動変容と継続のためのウェルネスバリューチェーン ウェルネス サーベイ 遺伝子・ 血液検査 食事指導 サーベイ+ 各種検査 分析結果 レポート パーソナライズ ソリューション&コンテンツ 専門家の アドバイス SNS ヘルスケア の知識・智恵 レシピ 豆知識 理想の食事 腕を大きくふって歩く 背伸びを3回する 肩甲骨を3回す 野菜を毎食食べる 1日1ℓ以上水を飲む 朝ヨーグルトを食べる • 総合結果 • 心身の状態 • 解決すべき行動 • 生活習慣病リスク • お勧めプラン etc. フィットネスタスク FiNC STORE ポイント 獲得 • オーダメイド・ パ ーソナル・ サプ リメント • 酵素ドリンク • スムージー etc. タスク実行や 食事投稿で 貯まるポイン ト ポイント適用 可 サーベイ結 果 ヘルスケア ツーリズム 健康食 コンテンツ etc. 食事タスク スクワットを10回x3 継続して10分歩く ライスを半分に控える 毎食野菜から食べる
  5. 5. 自己紹介 Android Wear デモ 実装の注意点 今後の展開 まとめ ~table of contents~
  6. 6. ユーザーの実世界との隔たりを最小限に Android Wearって? 実世界 スマホ https://www.youtube.com/watch?time_continue=62&v=Bl4Qne-RpcM スマホを触る時間は実世界から隔絶される時間が長くなる ウェアラブル
  7. 7. Android Wearとヘルスケア ヘルスケアで最も重要なことは継続させることであり、 いい生活習慣、運動習慣を行って健康になるのは当たり前
  8. 8. Android Wearとヘルスケア 継続してもらうには、出来るだけ負担を軽くすることが重要
  9. 9. Android Wearとヘルスケア ・Wearableによって データ収集をより効率的に ソリュー ション 分析 データ収集 ・現実との隔たりをより 最小限に FiNCApp Service Data collection Analysis Solutions
  10. 10. 今日のゴール 全体像 Bluetooth通信 音声、テキストデータ Notification Http通信 FiNC API FiNC App Wearable FiNC App Server
  11. 11. 自己紹介 Android Wear デモ 実装の注意点 今後の展開 まとめ ~table of contents~
  12. 12. FiNC Appでデモ つぶやき投稿(※遊びなので、リリースされてません。)
  13. 13. 自己紹介 Android Wear デモ 実装の注意点 今後の展開 まとめ ~table of contents~
  14. 14. I. 環境設定 II. Wear Appの実装 III. FiNC Appの実装 実装上の注意点
  15. 15. 環境設定 • OS Ver.4.3以上でBluetooh通信が可能なデバイス • settings.gradle • build.gradle(app)に以下を追記 • build.gradle(wear app)に以下を追記 dependencies { wearApp project(':fit') compile 'com.google.android.support:wearable:1.3.0' compile 'com.google.android.gms:play-services-wearable:8.4.0' } apply plugin: 'com.android.application' dependencies { compile 'com.google.android.support:wearable:1.3.0' compile 'com.google.android.gms:play-services-wearable:8.4.0' } include ':fit'
  16. 16. 環境設定 Google API Clientの利用してBluetooth通信を可能に Google API Clientインスタンス mGoogleApiClient = new GoogleApiClient .Builder(this) .addConnectionCallbacks(this) .addApi(Wearable.API) .build(); mGoogleApiClient.connect();
  17. 17. Wear App I. 音声Inputリクエスト処理 II. 音声Inputレスポンス処理 III. デバイス(スマホ)にBluetooth通信
  18. 18. Wear App I. Intentを投げる private static final int SPEECH_REQUEST_CODE = 0; // Create an intent that can start the Speech Recognizer activity private void displaySpeechRecognizer() { Intent intent = new Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); // Start the activity, the intent will be // populated with the speech text startActivityForResult(intent, SPEECH_REQUEST_CODE); }
  19. 19. Wear App II. コールバックで処理データを加工 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == SPEECH_REQUEST_CODE && resultCode == RESULT_OK) { List<String> results = data.getStringArrayListExtra( RecognizerIntent.EXTRA_RESULTS); String spokenText = results.get(0); // Do something with spokenText sendMessage("つぶやき", spokenText); } super.onActivityResult(requestCode, resultCode, data); }
  20. 20. Wear App Ⅲ. スマホデバイス側にデータ送信 1. Deviceを探索 2. 探索結果のコールバックをセット // Instance for looking for smart phone device. PendingResult<NodeApi.GetConnectedNodesResult> nodes = Wearable.NodeApi.getConnectedNodes(mGoogleApiClient); // Sets callback for device. nodes.setResultCallback(new ResultCallback<NodeApi.GetConnectedNodesResult>() { @Override public void onResult(NodeApi.GetConnectedNodesResult result) { // write what you want to do for your host app. } });
  21. 21. Wear App Ⅲ. スマホデバイス側にデータ送信 3. 送るデータの作成 for (Node node : result.getNodes()) { JSONObject jsonObject = new JSONObject(); try { jsonObject.put("title", title); jsonObject.put("message", message); } catch (JSONException e) { e.printStackTrace(); }
  22. 22. Wear App Ⅲ. スマホデバイス側にデータ送信 4. スマホデバイスに送信 final byte[] bs = (jsonObject.toString()).getBytes(); PendingResult<MessageApi.SendMessageResult> messageResult = Wearable.MessageApi.sendMessage( mGoogleApiClient, node.getId(), "/messagesample", bs);
  23. 23. Wear App Ⅲ. スマホデバイス側にデータ送信 5. コールバックのセット messageResult.setResultCallback(new ResultCallback<MessageApi.SendMessageResult>() { @Override public void onResult( MessageApi.SendMessageResult sendMessageResult) { Status status = sendMessageResult.getStatus(); Log.d("TAG", "Status: " + status.toString()); } });
  24. 24. FiNC App I. Google API ClientにListenerの設定 II. CallBackで処理
  25. 25. FiNC App I. Google API ClientにListenerの設定 Wearable.MessageApi.addListener(mGoogleApiClient, this);
  26. 26. FiNC App Ⅱ. CallBackで処理 @Override public void onMessageReceived(MessageEvent messageEvent) { // already written in wearable app if (messageEvent.getPath().equals("/messagesample")) { final String messagePayload = new String(messageEvent.getData()); JSONObject jsonObject = null; try { jsonObject = new JSONObject(messagePayload); } catch (JSONException e) { e.printStackTrace(); } Log.d("TAG + message", messagePayload); try { // implement API execution sendNotificationToOpenCustomActivity(getBaseContext(), jsonObject); } catch (JSONException e) { e.printStackTrace(); } } }
  27. 27. 自己紹介 Android Wear デモ 実装の注意点 今後の展開 まとめ ~table of contents~
  28. 28. 実装はわかったけど Wearable Appって実用的?
  29. 29. • つぶやきだけでなくより多くのデータを自動収集 • 体重投稿 • 睡眠投稿 • 食事投稿 • 他のWearable, Google Fitとの連携 • Beaconを利用した健康促進 今後の展開
  30. 30. 自己紹介 Android Wear デモ 実装の注意点 今後の展開 まとめ ~table of contents~
  31. 31. • Android Wearが提供するのは、ユーザーの欲しいタ イミングで、即座に情報を提供する体験。 • 多様なセンサーで情報を収集できるためヘルスケアと の相性は良い。 • 開発コストが低く、すぐに実装できる。 • ただ具体的にサービスの設計が出来ていないとデータ を貯めるだけの無駄な機能になる。 まとめ
  32. 32. ありがとうございました!

×