GoogleGlassにアプリを入れてみる その3
モンゴルにて検証中です。
明後日ラボに持っていくので明日がリミット!
デバイスが認識しなかった件ですが、再度、
・デバイスマネージャーからデバイス削除
・その他デバイスのグラス1にデバイスインストール
を繰り返したら認識されました。
その後、adb devicesにて"unauthorized"にハマりました。
これは先ず、glassで"authorize debug access”の画面が出てるの気付きませんでした。
UBSにて接続したらGoogleGlassの画面に"authorize debug access”が出てタップすると承認されました。
https://developers.google.com/glass/develop/gdk/quick-start
に
Connect Glass to your development system and tap on the touchpad to authorize debug access.と書いてあります。よく読んで気付きました。
ただその後もすんなりいかず、何度かデバイスの削除やdebug modeの切り替えを行ってたら解決しました。
ということでとりあえずアプリを作ってみます。
eclipseで新規プロジェクト作成
そのまま実行できない。
対象のgoogleGlassがeclipseで選択できない。
悩んだ挙句、直接、adb install *** した結果、
INSTALL_FAILED_OLDER_SDK
なんと、Glass側のOSが低い様です。
そーいえば巷で出てましたね。KitKatになるとか。
ということでアップデートをしたいと思ったんですが、
何処にあるか全く不明です。
暫く悩んで、あっと気付きました。
アップデートするなら、wifi経由。
でもwifi設定してない。
はい。面倒なのでしてなかったんです。
すると自動的にアップデートが始まりました。
皆様、wifi設定お忘れなく!!
完了後、無事にeclipseで実行できました!!
この画面がそのままGlassに表示されます。
*この画面は、Android Screen Monitorを使用してキャプチャしました。
参考URL
Android Screen Monitor - adakoda
GoogleGlassにアプリを入れてみる その2
GoogleGlassの購入の理由は、モンゴル国立大学とモンゴル科学技術大学とレボを設置するためでした。
IoTやウエアブル、iBeacon等のラボを設立します。
ということでラボへ持っていくか無いだめなので、
これ以上は、調査できませんでした。
すみません、対策は又後日。
ということで、来週の24-28でモンゴル行ってきます。
寒そうだな・・・
GoogleGlass !!
GoogleGlass !!を遂に手にれました!
AndroidWear Galaxy Gear 2で動かす
Samsungのサイトからサンプルプログラミングをダウンロードします。
Sample Applications | SAMSUNG Developers
最初なので、 Hello Accessoryをダウンロードしました。
http://developer.samsung.com/sample-app/view.do?v=S000000047#none
eclipseにHelloAccessoryProviderの方をimportして、実行!
Galaxy Gear2のアプリケーションからアプリを選択実行。
すると下記の画面が出て、connectー>fetchで時間が表示されてる様です。
HelloAccessoryProviderService.javaのソース(98行目)を読んでみると、
@Override public void onReceive(int channelId, byte[] data) { Time time = new Time(); time.set(System.currentTimeMillis()); String timeStr = " " + String.valueOf(time.minute) + ":" + String.valueOf(time.second); String strToUpdateUI = new String(data); final String message = strToUpdateUI.concat(timeStr); final HelloAccessoryProviderConnection uHandler = mConnectionsMap.get(Integer .parseInt(String.valueOf(mConnectionId))); if(uHandler == null){ return; } new Thread(new Runnable() { public void run() { try { uHandler.send(HELLOACCESSORY_CHANNEL_ID, message.getBytes()); } catch (IOException e) { e.printStackTrace(); } } }).start(); }
onReceiveの後、uHandler.sendで時間を返してるのがわかります。
HelloAccessoryConsumer(Gear側)のmain.jsを見てみると、
function fetch() { try { SASocket.setDataReceiveListener(onreceive); SASocket.sendData(CHANNELID, "Hello Accessory!"); } catch(err) { console.log("exception [" + err.name + "] msg[" + err.message + "]"); } }
fetchボタンでsendDataしてるのが分かります。
なるほど、こんな感じでやり取りするんですね。
Android Wearアプリ開発
先ず、USBデバッグを有効にする必要がありますね。
1.Galaxy Gear2でのUSBデバッグ有効化
設定 -> Gearの情報 -> UBSデバッグ にチェックを入れます。
2.Galaxy S4 miniでのUSBデバッグ有効化
最初混乱しました。
全くメニュー上から見つかりません。
色々と調べたら、なんと!
設定 -> その他 -> 端末情報
ビルド番号の部分を7回連続タップすると「デベロッパーモード」にする事が出来ます。3回連続の時点で「デベロッパーになるまであと4ステップです。」と表示されます。
その後、その他メニューに戻ると「開発者向けオプション」が無事に表示されましたので、USBデバッグをONにしました。
又、設定>セキュリティ>提供元不明アプリを有効にする事も必要です。
なんかゲームの隠しコマンドみたいですが、まーデベロッパーモード自体隠しの様ものですね。
無事にadb devicesで端末認識するかと思ってたらスマフォ側しか認識しない。
さっきの設定じゃ足りなかったのかとGalaxy Gearを触ってるとSamsung Gear | SAMSUNG Developersがあるとの事。
サイト見てみると
Samsung Gear Application consists of the Host-side Application which runs on Android-based Samsung mobile devices, and the Wearable-side Widget which runs on Tizen-based Samsung Gear devices.
The Host-side Application can be developed in the common Android development environment, whereas, the Wearable-side Widget can be developed with Tizen SDK for Wearable.
In addition, Samsung Accessory SDK is the necessary component for communicating between the Host-side Application and Wearable-side Widget.
と書いてある。
なんと!!
AndroidWearじゃないじゃん。OSがTizenやん・・・またもや・・・よく調べないとダメだね。
まーでもいっっか。と言うことで。
次に Samsung Gear | SAMSUNG Developers から
・Tizen SDK for Wearable
をセットアップします。
ドキュメントを読んでいくとこんな感じのアーキテクチャの様だ。
という事で色々あるので次に続きます。