Ryu's blog

ゆるくアウトプットしていきたい

Wear OS by Googleのサンプルアプリを作ってみた

この記事はAndroid 初心者 Advent Calendar 2018 - Qiitaの18日目の記事になります。

AdventCalendarには今年から初めて参加しました。あまり文章はうまくないですがよろしくお願いします。

はじめに

 自分は1週間ほど前に開催されましたAmazonのサイバーマンデーでTicwatch Eという商品を購入しました。

この商品はクラウドファウンディングで開発されたスマートウォッチになります。OSはWear OS by Google(旧Android Wear)です。米国のAmazonでは評価がとても高く、結構有名な商品みたいです。 自分はこの商品が初めてのスマートウォッチになります。また商品の感想などは後日、記事にして投稿しようかと思っています。

 さて、本記事ではそのWearOS上で動くアプリを簡単に作ってみようと思い、作成した話をしたいと思います。

Wear OS by Google

wearos.google.com

 スマートウォッチを所持したのは今回が初めてでしたが、Wear OS by Googleは最近Android Wearから名前を替えたAndroidのスマートウォッチ専用のOSです。現在ではバージョン2.2が最新らしいのですが、Ticwatch Eではバージョン2.0が最新のようです。バージョン2.0ではUIが結構使いやすいようになっていて、フリック操作やボタン操作で簡単に画面切り替えやアプリの選択ができ結構快適だなと感じました。 しかし、アプリの動作が結構不安定なものが多くアプリの操作中に急にアプリが終了したり数秒フリーズすることが結構あります(アプリ自体の問題かもしれませんが…)。これからの改善がどの様になっていくのかに期待です。

WearOSのサンプルアプリ

 せっかくスマートウォッチを買ったので早速WearOSのアプリをサンプリで作ってみました!単純にAndroid DeveloperやGoogle Codelabで書かれているサンプルアプリでストップウォッチのアプリになります。基本的にはCodelabにかかれている内容を元にサンプルアプリの作成に取り組みました。サンプルアプリは約2年前に作成されたものでJavaで書かれていました。そのサンプルをKotlinで書き出し、アプリを作成しました!一応、GitHubにも上げておきました。

https://codelabs.developers.google.com/codelabs/always-on/index.html?index=..%2F..index#0

 上記のリンクが今回取り組んだGoogle Codelabのリンクになります。

github.com

AndroidアプリとWearOSアプリ開発の違うところ

 アプリの作成をしていく上で少しだけAndroidアプリの作成と少しだけ違った部分があったので紹介したいと思います。詳しくは下記リンクに書かれていますが、自分なりにまとめた事柄を紹介したいと思います。

Create and run a wearable app  |  Android Developers

Watch用のAPIやライブラリが用意されている

 AndroidのスマートフォンアプリのAPI以外にも、Watch専用のAPIがAndroidには用意されています。たとえば、circular layouts、wearable drawers、ambient modeなど。これら以外にもWearOS用のUIライブラリだったり、サポートライブラリもあります。これらを使用しWatchのアプリを開発していきます。

Use the Wear OS UI Library  |  Android Developers

 Androidスマホにはない機能(たとえばAmbient mode*1など)がWearOSやスマートウォッチには存在するのでそれらの機能などをアプリ開発時に考慮する必要があります。また、スマホのアプリとWearOSのアプリのデータをシェアしたり一部のソースコードも共有することが出来たりします。そのためのAPIなども存在します。

使用できないAndroidのAPIがある

 Androidのスマホアプリ開発に使用するAPIやライブラリは基本的に使用可能なのですが、いくつかWearOSでは使用できないものがあります。それらに気をつける必要があります。

バッテリー消費を考えなければならない

 スマートウォッチではアプリの操作により激しく電力を消費していまします。しかし、備わっているバッテリーはあまり十分とは言えない機種が多く、消費電力をできるだけ少なくすることを考慮する必要があります。そうでないと、1日バッテリーをもたせることが出来ない可能性が出てきます。

レイアウトに注意する必要がある

 スマートウォッチではスマホと違い円形のディスプレイの商品がほとんどです。なので、丸いディスプレイで画面の表示を行うということを念頭に入れておきましょう。

https://developer.android.com/design/wear/

まとめ

 スマートウォッチを初めて所持したのでAppleWatchと比較などは出来ないですが、結構快適で毎日スマートウォッチを使い過ごしています。WearOSのアプリはそこまで多くなく、これからの発展に期待するところが大きいですが、自分で簡単なアプリを作れたら面白そうだと思い取り組みました。スマートウォッチを身に着けて過ごすうちに何か良いアイデアが浮かんだら新しいアプリの作成をしていきたいと思います。

*1:Ambient modeとは、白と黒のみのグラフィックで画面表示を行い入力などの機能を制限する機能であり消費電力を少なくすることができる。