Skip to content

Instantly share code, notes, and snippets.

@shunirr
Last active August 29, 2015 14:07
Show Gist options
  • Select an option

  • Save shunirr/3bdcf52d7a16a899b907 to your computer and use it in GitHub Desktop.

Select an option

Save shunirr/3bdcf52d7a16a899b907 to your computer and use it in GitHub Desktop.

最近買った腕時計の話

LG G Watch 買いました

(LG G Watch の画像)

Android Wear について

Android と連携して良い感じにしてくれる腕時計型デバイス。

  • 通知転送してくれて便利
  • 通知や着信をスルーすることが減る
  • Yo ができる
  • 音声入力できてわりと精度がいい

Android Wear の仕組み

  • Android のサブセット OS が動いてる
  • Wear アプリは電話機アプリと別プロジェクトで開発するし apk も別になる
  • インストールやデバッグも独立して行う
  • なのでアプリのアンインストールができない (adb uninstall hoge とかすると消せる)

アプリの配布

  • しかし単体で配布できない
    • 単体で Google Play にアクセスできないので
  • アプリを配布する場合は電話機アプリと一緒に配布する

アプリの起動

  • 通知からの返信
  • 音声入力
  • ランチャーアプリを入れればタッチでアプリ起動ができる

Twitter とかのデモ

開発について

買ってからあまり時間が経っていないので Hello World 動かしたくらいだけどザックリ調べたことを紹介します。

開発環境

  • Wear アプリは独立して動いているので PC と直接 adb で繋がりたい
  • PC と USB などで接続された電話機を経由して Bluetooth でデバッグ接続できる
  • IDE とかがよしなに繋いでくれたりはしないので自分でコマンドを叩いて接続する
adb forward tcp:4444 localabstract:/adb-hub; adb connect localhost:4444

Notification

Android の通知が全部転送されてくるけど、 Wear 用にフラグを立てると、その通知に返信とかの機能を付けることが出来る。 PendingIntent を作って起動する Activity を定義しておく。

Notification n = new NotificationCompat.Builder(context)
  .setContentTitle("新着メッセージがあります")
  .setContentText("xxさんからメッセージが届いています")
  .setSmallIcon(R.drawable.ic_launcher)
  .setContentIntent(pIntent)
  .addAction(R.drawable.ic_launcher, "返信", pendingIntent)
  .build();

RemoteInput

  • 返信のメニューを作ったところで返信する内容をユーザは入力する必要がある
  • RemoteIntent を使うと音声入力できるようになる
  • これで入力した文字列は NotificationActivity.EXTRA_VOICE_REPL という所に入っている

Notification

  • Notification にページを作ることが出来る
    • Google Hangouts とかだと、発言の通知→最近の発言 (20 件くらい) → 返信メニューという風になってる
  • スタックを作ることも出来る
    • 通知を未読のまま次の通知が来たときとかに「他 2 件の通知」というような感じに表示させることができる

Wear 上で Activity を作る

  • もちろん中身は Android なので Activity を動かすこともできる
  • 使えない View 部品もあるけど、だいたい使えるらしい
  • WebView すらつかえる
    • ちなみに Wear 上で動くウェブブラウザアプリもある

Message API

  • Android Wear と電話機でデータをやりとりする時に使う API
  • 送れるのは文字列だけ
  • 電話機の音楽プレイヤーを時計で操作するとか、そういうときに使う感じ

https://developer.android.com/reference/com/google/android/gms/wearable/MessageEvent.html

Data API

  • Android Wear と電話機でデータをやりとりする時に使う API
  • Message API と違って Bundle みたいなものを "同期させる"
  • やりとりではなくて同期なので、中身を書き換えると変更イベントが飛んできたりする
  • 音楽プレイヤーの曲一覧とかを入れたりできそう

https://developer.android.com/reference/com/google/android/gms/wearable/DataMap.html

http://www.android.com/intl/ja/wear/ http://ja.wikipedia.org/wiki/Android_Wear http://www.buildinsider.net/mobile/androidwear/01


Chromecast の話

Chromecast について

中でウェブブラウザが動いてる

動画もウェブアプリ上で再生する

Default で動画や音楽を再生する Receiver アプリはある

Android で Chromecast

Chromecast で調べると CastCompanionLibrary-android というのがでてきて使えそうに見えるが、結構 CastCompanion-Android というアプリに依存してるので、抽象度があんまり高くない

いろいろやると結局自分で似たようなの作るハメになる。

http://qiita.com/Katsumi/items/08330778a2e7c06178d6

http://qiita.com/KazuyukiEguchi/items/ea137f4419d36d070535

注意点

  • ActionBarSherlock を廃止して AppCompat に移行した
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment