Android WearのWatch Faceを作る 目次
今回からWatch Faceのテストを行うための環境構築を行って実際にWatch Faceを作ってみます。
前提として最新のAndroid Studioをインストール済みでスマートフォンの開発が可能な状態としてください。
テスト環境の作成
実機を使ってテスト環境を行う場合、Android Wear側もデバッグを有効にする必要があります。デバッグを行うには、通常のmobileでよく使われるようなUSBによる有線接続と、Bluetoothによる無線接続の2つがあります。
一般的には有線が楽ですが、Moto360のように有線接続がないデバイスでは無線接続によるテストを行う必要があります。
開発者オプションの有効化
Wearでの開発者オプションを有効にする方法は基本的にMobileと同じです。ランチャーから設定を開き端末情報から、ビルド番号を7回タップします。
開発者向けオプションが有効になったらADBデバッグを有効にします。
この時、PCとWearがUSBで接続されていたらデバッグを許可 が出てくるので
「確定」あるいは「このパソコンからのUSBデバッグを常に許可する」を選びます。
有線接続の場合は、これで通常のmobile同様にテストを行うことが出来るようになります。
無線debug環境の設定
無線接続の場合は、次にBluetooth経由でデバッグをタップして「有効」を選びます。スマートフォンのAndoridWearアプリを開いて右上の歯車のアイコンから設定を開きます。
一番下にあるBluetooth経由のデバッグをオンにします。
ホスト:未接続
ターゲット:接続
となっていることを確認します。
スマートフォンとPCをUSBで接続して、PCのターミナル(コマンドライン)にて次のコマンドを実行します。
adb forward tcp:4444 localabstract:/adb-hub
adb connect localhost:4444
Wear側にデバッグを許可が出てくるので確定か、このパソコンからのUSBデバッグを常に許可するのいずれかを選択することでデバッグが可能となります。
BluetoothによるデバッグはPCとの接続が失われた時点で無効になるので、その時はターミナルのコマンドをもう一度実行してください。
これでテスト環境は完成です。
もちろんエミュレータを使ってテストすることも出来ます。
プロジェクトの作成
今回はありふれたアナログの時計を作成します。その後、プログラムの構造を追っていきましょう。Watch Faceを作るためにAndroid StudioにてFile-New-New Projectにて新規プロジェクトを作成します。
Application nameとCompany Domainを入力します。

Target Android Devicesが表示されたら
Phone and Tabletにチェックし、Minimum SDKをAPI 18: Android4.3 (Jelly Bean)を選びます。
Android Wearに連携するにはAndroid4.3以上のモバイル端末が必要ですので、この指定を行うことでAndroid4.3未満のユーザーがGoogle PlayからWatch Faceをダウンロードしてしまうことを防ぐことが出来ます。
Wearにもチェックします。
WearのMinimum SDKはAPI 21:Android5.0(Lollipop)とします。
Watch FaceはAPI 21にて新規追加された機能ですが、Android Wearはモバイル端末に比べてバージョンアップの追跡が早いため、新しいAPIを使いやすい環境がそろっています。

Add an activity to Mobileでは
Add No Activityを選びます。

Add an Activity to Wearでは
Watch Faceを選びます。

Watch FaceのStyleはAnalogとDigitalから選ぶことが出来ます。
今回はAnalogを選びます。

これでWatch Faceができました。
Android Wearへのインストール
それではWatch FaceをAndroid Wearにインストールしてみます。基本的な実行方法は普通のAndroidアプリと同じですが、複数のmoduleがあるため、実行するmoduleを選択します。
wearがAndroid Wearにインストールする側です。
mobileは実行するActivityが存在しないためエラーとなっていますが、今時点では気にしないでwearを選んでください。

あとはアプリを実行して、インストールする端末を選びます。
スマートフォンなどと混ざって毎回端末を選ぶのが面倒 という場合は
Use same device for future launchesにチェックを入れることで次回からインストールする端末を固定化することが出来ます。
この設定は端末との接続が失われるとリセットされます。

アプリを実行したらしばらく待つとWear側にNotificationが表示されるため、表示されたらWatch faceを新しく作ったWatch faceに変更します。
設定を変えていなければ My analogという名前になっているかと思います。
通常のActivityと違って自動で起動は行われないので注意してください。
アップデート時既にWatch faceの設定が行われているならば、アップデート後自動的に起動されます。
例外が発生した場合などはWatch faceが無効化されてしまうことがあるので、その場合はもう一度Watch faceを選択してください。
それではインストールされたWatch Faceの基本的な仕様を確認してみます。
まず、時、分、秒が白いラインで描かれていて、1秒毎に秒針が動いています。
しばらくすると薄暗いAmbient modeになり秒針が消えます。
アクティブな状態で画面をタップすると背景の色が変わります。
次回はWatch Faceがどのように動いているかを理解するためにソースコードを詳しく見て行きましょう。