皆さんこんにちは、会計の優勝です
(完全に内輪ネタです。すみません。)
この記事はrogy Advent Calendar 2018 12日目の記事です。
皆さん、スマートウォッチをご存知でしょうか?
AppleWatchなどが有名だと思いますが、簡単に言うと液晶のついてる時計です。
(スマホから通知を飛ばしたりなど、主にスマホの補助的な役割を担っています)
私は半年前からASUSのZenWatch2というスマートウォッチを使っており、日々重宝しています。
液晶がついているからこその利点としてWatchFace(壁紙)が豊富で、いろいろなアプリが多くの種類のWatchFace(壁紙)を出しています。
ただ、一つ問題点があるとすると、自分の100%好みの壁紙が世の中に存在するわけではないので多少妥協しなければならないことです。
「ないものは作る~ロボット技術研究会~」
ということで、自分好みのWearFaceをつくってみました。
環境構築
まず、スマートウォッチの端末情報から。
端末名:ASUSZenWatch2 434B
AndroidWear:2.17.0.217437364
AndroidOS:7.1.1
Androidの開発には大きく2つの選択肢(Eclipse・AndroidStudio)がありますが、今回はAndroidStudioを使いました。
- AndroidStudioを入れてくる。
参考サイト:Windows版AndroidStudioをZipアーカイブからセットアップする
- プロジェクトをつくる
CreateNewProjectをして、以下の写真の通り設定を進めていく
- とりあえず Make Project してみる
Makeするために必要な拡張機能(?)のようなものを適宜入れる
(ボタンぽちぽちしてればOK)
- 次に実際にAndroidWearのデバッグのための環境を整える(今回はBluetooth経由のデバッグを行う)
・adbコマンドを使えるようにする方法 に従って、adbコマンドを使えるようにする
・AndroidWearの方で、設定→端末情報→ビルド番号を7回タップして開発者オプションを有効にして、設定→開発者オプションから、ADBデバッグとBluetoothデバッグを有効にする
・スマホで、AndroidWearのアプリから、Bluetooth経由のデバッグを有効にする
(ホスト:未接続 ターゲット:接続済み となってるはず)
・PCのコマンドプロンプトから以下のコマンドを実行
> adb forward tcp:4444 localabstruct:/adb-hub
> adb connect 127.0.0.1:4444
(切断する際)
> adb disconnect 127.0.0.1:4444
> adb kill-server
(ホスト:接続済み ターゲット:接続済み となってることを確認する)
参考サイト:Bluetooth経由でデバッグする
- 実行してみる
Runを押すと以下のようなウィンドウが出てくるのでスマートウォッチを選択してOKを押す
- 実行終了!
こんな感じになる
好みの壁紙を設定する
さてやっと本題に入ります
環境構築に意外と戸惑ってしまったので忘れてしまいそうですが、当初の目的は自分の好みの画像でWatchFaceをつくることでした
- 壁紙にしたい画像を選んできます
- 選んだ画像の縦横比を1:1にします
- 編集した画像をProjectFile内の …\wear\src\main\res\drawable というフォルダに入れます
- AndroidWearを再起動します
- …\wear\java というフォルダ内にある “MyWatchFace.java”の137行目の
mBackgroundBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bg);
の “bg” の 部分を画像ファイルの名前に書き換えればOK
- お好みで壁紙名やアプリ名を編集できる
…\wear\res\values というフォルダ内にある “string.xml”を編集する
- WatchFaceのプレビューは …\wear\res\xml といるフォルダ内にある “watch_face.xml”を 6 と同じ要領で編集する
- 以上、解散終了終了終了
成果物(の写真)
まとめ
今回はAndroidWearのWatchFaceの壁紙を自分好みのものに変えて、世界に一つだけの時計をつくりました
ほかにも針の形状を変えてみたり、画面をタップした時に処理をしたりなど、たくさんのことができるようになっています
是非皆さんも試してみてください!!!