2014年12月21日日曜日

Android Wearの設定アプリを探す

[AOSP](
https://android.googlesource.com/platform/packages/apps/Settings/+/android-wear-5.0.0_r1)のコードの中にあるSettingsを読んでみたけどもres/values-ja/string.xmlに「ウォッチフェイス」の文字列が無かったりと、Wear用の設定部分っぽいのが無かったので、どこか他に有るんじゃないかと思い探してみた。

logcatでパッケージ名のあたりを付ける

logcatを見ながら設定アプリを起動してみる。
そうすると下のログが出てきたので、パッケージ名はなんとなく分かった。

com.google.android.apps.wearable.settings/com.google.android.clockwork.settings.SettingsActivity

I/ActivityManager﹕ START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.google.android.apps.wearable.settings/com.google.android.clockwork.settings.SettingsActivity} from uid 10023 on display 0
1

ちなみに、Handheld(Xperia Z1)で設定アプリを起動した時のログは以下

I/ActivityManager﹕ START u0 {act=android.settings.SETTINGS flg=0x10000000 cmp=com.android.settings/.Settings} from pid 1360

wearとhandheldでパッケージ名が違います。
wearは com. google .android
handheldは com.android

なのでソースはなんか違う所に有るようです。
道理でAOSPに無いわけだ。

Android Wear側のアプリが動いていない状態でデータ同期

http://developer.android.com/samples/DataLayer/index.html

DataLayerのイベントを受け取るには、イベントのリスナを実装したActivityか、WearableListenerServiceを継承したServiceを作ればOK。

リスナを実装したActivityだとActivityが死んだらデータ同期が出来ないので、Handheld側で設定した値をWear側に送るとかがいい感じに出来ない。

WearableListenerServiceを継承したServiceを使うとうまくいく。

2014年12月18日木曜日

Android WearでBluetooth接続でのADBが認証できなくなった

Android Wearを初期化したらWear側のADBを有効化+Bluetooth経由のデバッグを有効化しても繋がらなくなる現象に悩んだのでメモ

症状

普段は以下のコマンドでhandheld側のアプリでホストとターゲットが接続中となる。

$ adb forward tcp:4444 localabstract:/adb-hub
$ adb connect localhost:4444

しかし、Wearを初期化したらあとでは、”adb devices”で確認すると以下な感じになった。(**は環境によって違う)

$ adb devices
List of devices attached
***********     device
localhost:4444  unauthorized

原因

初回接続時にはhandheld側に

「Wearのデバッグを許可しますか?」

といったタイトルのRSAキーのフィンガープリントを登録するダイアログが出ているハズなのだが、初期化前の段階で

「このパソコンからのUSBデバッグを常に許可する」

にチェックを入れてしまっていると、前の情報を覚えているようで全く許可出来る雰囲気が無い。なので、この情報を消してやる必要がある。

復活の呪文

自分は以下の手順で復活出来た。

  1. Android WearのBluetooth経由でのデバッグをOFF
  2. Android Wearの電源を切る
  3. 設定→アプリ→すべて→Google Play開発者サービス→データを全て消去
  4. 念のため、handheld側のAndroid wearアプリを削除→再インストール
  5. Android Wearを再起動
  6. handheldとwearを再接続
  7. 認証画面が来て(゚д゚)ウマー

2014年6月23日月曜日

ケイデンス&スピードセンサーとハートレートセンサーを買った

ロードバイク初めて数ヶ月経つんですが、ローラ台を買って練習をやってたんですが、はじめにつけたスピードセンサーが前輪用で固定ローラー台だと、スピードが分からなかったので、ついでにと、ケイデンスとハートレート(心拍数)が計測したかったのでAmazonさんでぽちっとしました。
せっかくなのでBluetoothでスマホで見れるようにしようかなと考えその辺を選定基準にして探してみました。

はじめは以下のセットで買おうかと思ったのですが、如何せん高い。合計で約1万5千円。ローラ台やらなんやらにすでにつぎ込んでいるので高い。
そこで、ちょっと調べてみたら、以下のセットを発見。
合計で約8千円。上のセットの半額。これはいい。


スマホ側のアプリはRuntastic Road Bikeにした。これはFacebookとの連携ができるので、走った結果とか投稿できるっぽいので自己満だけども、アピールできてよい。

実際に、取り付けて見た感じでは、ケイデンス&スピードセンサーは予備の結束バンドが入っていたりと親切。ただ、ちょっと作りがチープな感じ。外箱は英語やらロシア語、中国語と色々書かれていたけども、マニュアルは日本語だけだった。ささっと10分ほどで取り付け出来る。

ハートレートの方はスイッチもLEDも何も無いので動いているのか全くわからん。実際にスマホ側で拾ってみるまでなーんもわからん。

ロードに取り付けた後にXperia Z1で接続してみようとして気がついたんだけども、Z1はBluetooth SMART(BLE)に対応してないんですよね。
まったくセンサーたちを検知してくれません。仕方がないので、iPhone4sで使うことにします。

iPhone4sのロードバイクへの取り付けは以下のバックを使いました。

Roswheel ロスホイール フレームバッグ 自転車 サイクリング イヤホンホール付 トップチューブバッグ スマートフォン収納可能 スマホ 全3色【Orange-Store】 (ブルー, L) 

こいつがなかなか曲者で、座っている時はいいんですが、ダンシングすると左右に揺れで太ももに当たる。エネループとか突っ込んでおけるので便利なサイズなのですが、ちょっとこれは頂けない。これは買い替えフラグが立っている状態です。
おそらくローラ台に乗っているときは気にならないので、実際に走る時だけ別にするなどの方法を取ろうかなと。

実際に乗ってきた結果がこちら
見事に貧脚っぷりが露呈しております。
もうちょっとこれで遊んでみようかなーと行った感じです。

#以下アフィリエイト用の広告です

-->

2014年4月30日水曜日

Markdonwでbloggerを書く

bloggerのエディタが微妙なのと、Markdonw信者になりつつあるので、その辺環境を揃えてみようかなと。
あと、連休が暇なので、暇つぶし。

chromeアプリで書く方法

とりあえず、chromeアプリで書いてみる方法。StackEditを使う方法。簡単。
ただ、エディタのキーバインドがVimに出来ないので困る。
あと、右上の欄でタイトルを書くんだけど、日本語変換後のエンターで編集確定しちゃうのがちょっとアレ。

http://tizio1976.blogspot.jp/2013/11/chrome-stackedit-markdown-blogger.html

vimで書く方法

やっぱり、vimでしょ。ということで探してみる。

http://rcmdnk.github.io/blog/2013/11/17/computer-vim/
http://blog.mah-lab.com/2011/01/16/vimblogger/

下のリンクがやりたいことが書かれているっぽい。