SlideShare a Scribd company logo
1 of 32
ヘルスケアデータ収集の簡易化
Android Wear
FiNC Inc Yuki Nanri
自己紹介
Android Wear
デモ
実装の注意点
今後の展開
まとめ
~table of contents~
自己紹介
• 南里勇気 (@neonankiti)
• FiNC Android エンジニア
• FiNCのAndroidアプリ立ち上げから参画
• Androidのアーキテクチャの検討、実装
• UI・UXの検討、導入
• バイソン
FiNC Appとは
• データ収集→分析→ソリューション→EC
• 行動変容と継続のためのウェルネスバリューチェーン
ウェルネス
サーベイ
遺伝子・
血液検査
食事指導
サーベイ+
各種検査
分析結果
レポート
パーソナライズ
ソリューション&コンテンツ
専門家の
アドバイス SNS
ヘルスケア
の知識・智恵
レシピ
豆知識
理想の食事
腕を大きくふって歩く
背伸びを3回する
肩甲骨を3回す
野菜を毎食食べる
1日1ℓ以上水を飲む
朝ヨーグルトを食べる
• 総合結果
• 心身の状態
• 解決すべき行動
• 生活習慣病リスク
• お勧めプラン etc.
フィットネスタスク
FiNC
STORE
ポイント
獲得
• オーダメイド・ パ
ーソナル・ サプ
リメント
• 酵素ドリンク
• スムージー
etc.
タスク実行や
食事投稿で
貯まるポイン
ト
ポイント適用
可
サーベイ結
果
ヘルスケア
ツーリズム
健康食
コンテンツ
etc.
食事タスク
スクワットを10回x3
継続して10分歩く ライスを半分に控える
毎食野菜から食べる
自己紹介
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
Solutions
今日のゴール
全体像
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)に以下を追記
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'
環境設定
Google API Clientの利用してBluetooth通信を可能に
Google API Clientインスタンス
mGoogleApiClient = new GoogleApiClient
.Builder(this)
.addConnectionCallbacks(this)
.addApi(Wearable.API)
.build();
mGoogleApiClient.connect();
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 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);
}
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);
}
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.
}
});
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();
}
Wear App
Ⅲ. スマホデバイス側にデータ送信
4. スマホデバイスに送信
final byte[] bs = (jsonObject.toString()).getBytes();
PendingResult<MessageApi.SendMessageResult> messageResult =
Wearable.MessageApi.sendMessage(
mGoogleApiClient,
node.getId(),
"/messagesample",
bs);
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());
}
});
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 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();
}
}
}
自己紹介
Android Wear
デモ
実装の注意点
今後の展開
まとめ
~table of contents~
実装はわかったけど
Wearable Appって実用的?
• つぶやきだけでなくより多くのデータを自動収集
• 体重投稿
• 睡眠投稿
• 食事投稿
• 他のWearable, Google Fitとの連携
• Beaconを利用した健康促進
今後の展開
自己紹介
Android Wear
デモ
実装の注意点
今後の展開
まとめ
~table of contents~
• Android Wearが提供するのは、ユーザーの欲しいタ
イミングで、即座に情報を提供する体験。
• 多様なセンサーで情報を収集できるためヘルスケアと
の相性は良い。
• 開発コストが低く、すぐに実装できる。
• ただ具体的にサービスの設計が出来ていないとデータ
を貯めるだけの無駄な機能になる。
まとめ
ありがとうございました!

More Related Content

Similar to Android Wear

iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までYuki Tanabe
 
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Yuki Higuchi
 
Amazon SNS Mobile Push を使ってみる
Amazon SNS Mobile Push を使ってみるAmazon SNS Mobile Push を使ってみる
Amazon SNS Mobile Push を使ってみる崇之 清水
 
Android Lecture #02 @PRO&BSC Inc.
Android Lecture #02 @PRO&BSC Inc.Android Lecture #02 @PRO&BSC Inc.
Android Lecture #02 @PRO&BSC Inc.Yuki Higuchi
 
DevLOVE関西(No.62) 知っておいて損はないエンタープライズiOS導入のいろは
DevLOVE関西(No.62) 知っておいて損はないエンタープライズiOS導入のいろはDevLOVE関西(No.62) 知っておいて損はないエンタープライズiOS導入のいろは
DevLOVE関西(No.62) 知っておいて損はないエンタープライズiOS導入のいろはfeedtailor
 
モバイルアプリケーション管理(MAM) 自社アプリ開発手法
モバイルアプリケーション管理(MAM)自社アプリ開発手法モバイルアプリケーション管理(MAM)自社アプリ開発手法
モバイルアプリケーション管理(MAM) 自社アプリ開発手法Dai Matsui
 
Android test tutorial
Android test tutorialAndroid test tutorial
Android test tutorialKazuaki Ueda
 
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourceMashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourcecmutoh
 
iPhoneコンシェルジュアプリ
iPhoneコンシェルジュアプリiPhoneコンシェルジュアプリ
iPhoneコンシェルジュアプリKato Shingo
 
iPhoneコンシェルジェアプリの紹介
iPhoneコンシェルジェアプリの紹介iPhoneコンシェルジェアプリの紹介
iPhoneコンシェルジェアプリの紹介Kato Shingo
 
エンタープライズにおける iOSアプリ開発・導入のいろは
エンタープライズにおける iOSアプリ開発・導入のいろはエンタープライズにおける iOSアプリ開発・導入のいろは
エンタープライズにおける iOSアプリ開発・導入のいろはfeedtailor
 
フィードテイラー紹介(2014.11.15版)
フィードテイラー紹介(2014.11.15版)フィードテイラー紹介(2014.11.15版)
フィードテイラー紹介(2014.11.15版)feedtailor
 
Feedtailor portfolio 20141115
Feedtailor portfolio 20141115Feedtailor portfolio 20141115
Feedtailor portfolio 20141115feedtailor
 
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装de:code 2017
 
Getting started with Handoff
Getting started with HandoffGetting started with Handoff
Getting started with HandoffYuichi Yoshida
 
クラウドスキルチャレンジの概要と進め方 for ALGYAN
クラウドスキルチャレンジの概要と進め方 for ALGYANクラウドスキルチャレンジの概要と進め方 for ALGYAN
クラウドスキルチャレンジの概要と進め方 for ALGYANYasuhiroHanda2
 
モバイル開発を支えるAWS Mobile Services
モバイル開発を支えるAWS Mobile Servicesモバイル開発を支えるAWS Mobile Services
モバイル開発を支えるAWS Mobile ServicesKeisuke Nishitani
 
Windows Phone 超入門
Windows Phone 超入門Windows Phone 超入門
Windows Phone 超入門Akira Hatsune
 
ANCSとAndroid Wear徹底比較
ANCSとAndroid Wear徹底比較ANCSとAndroid Wear徹底比較
ANCSとAndroid Wear徹底比較Akira Sasaki
 

Similar to Android Wear (20)

iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
 
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
 
Android Wear Apps
Android Wear AppsAndroid Wear Apps
Android Wear Apps
 
Amazon SNS Mobile Push を使ってみる
Amazon SNS Mobile Push を使ってみるAmazon SNS Mobile Push を使ってみる
Amazon SNS Mobile Push を使ってみる
 
Android Lecture #02 @PRO&BSC Inc.
Android Lecture #02 @PRO&BSC Inc.Android Lecture #02 @PRO&BSC Inc.
Android Lecture #02 @PRO&BSC Inc.
 
DevLOVE関西(No.62) 知っておいて損はないエンタープライズiOS導入のいろは
DevLOVE関西(No.62) 知っておいて損はないエンタープライズiOS導入のいろはDevLOVE関西(No.62) 知っておいて損はないエンタープライズiOS導入のいろは
DevLOVE関西(No.62) 知っておいて損はないエンタープライズiOS導入のいろは
 
モバイルアプリケーション管理(MAM) 自社アプリ開発手法
モバイルアプリケーション管理(MAM)自社アプリ開発手法モバイルアプリケーション管理(MAM)自社アプリ開発手法
モバイルアプリケーション管理(MAM) 自社アプリ開発手法
 
Android test tutorial
Android test tutorialAndroid test tutorial
Android test tutorial
 
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourceMashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
 
iPhoneコンシェルジュアプリ
iPhoneコンシェルジュアプリiPhoneコンシェルジュアプリ
iPhoneコンシェルジュアプリ
 
iPhoneコンシェルジェアプリの紹介
iPhoneコンシェルジェアプリの紹介iPhoneコンシェルジェアプリの紹介
iPhoneコンシェルジェアプリの紹介
 
エンタープライズにおける iOSアプリ開発・導入のいろは
エンタープライズにおける iOSアプリ開発・導入のいろはエンタープライズにおける iOSアプリ開発・導入のいろは
エンタープライズにおける iOSアプリ開発・導入のいろは
 
フィードテイラー紹介(2014.11.15版)
フィードテイラー紹介(2014.11.15版)フィードテイラー紹介(2014.11.15版)
フィードテイラー紹介(2014.11.15版)
 
Feedtailor portfolio 20141115
Feedtailor portfolio 20141115Feedtailor portfolio 20141115
Feedtailor portfolio 20141115
 
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
 
Getting started with Handoff
Getting started with HandoffGetting started with Handoff
Getting started with Handoff
 
クラウドスキルチャレンジの概要と進め方 for ALGYAN
クラウドスキルチャレンジの概要と進め方 for ALGYANクラウドスキルチャレンジの概要と進め方 for ALGYAN
クラウドスキルチャレンジの概要と進め方 for ALGYAN
 
モバイル開発を支えるAWS Mobile Services
モバイル開発を支えるAWS Mobile Servicesモバイル開発を支えるAWS Mobile Services
モバイル開発を支えるAWS Mobile Services
 
Windows Phone 超入門
Windows Phone 超入門Windows Phone 超入門
Windows Phone 超入門
 
ANCSとAndroid Wear徹底比較
ANCSとAndroid Wear徹底比較ANCSとAndroid Wear徹底比較
ANCSとAndroid Wear徹底比較
 

Android Wear