Intelligent Technology's Technical Blog

株式会社インテリジェントテクノロジーの技術情報ブログです。

ついにウェアラブルの時代か!?Android Wear SDKを使ってみたい

こんにちは。中山です。

Googleから「Android Wear Developer Preview」が公開されたようですね。

Android Wear」については、以下の公式ページや記事が参考になるでしょう。

Android Wear」では、いわゆる「スマートウォッチ」の分野から、「ウェアラブル」の世界が始まっていくようです。
とにかく、せっかくSDKが公開されてましたので、さっそく試してみたいと思います。


・・・というつもりであったのですが、結果から申し上げますと、今回、全部の機能を試してみることができませんでした。
必要なAndroid端末(=通話可能な、Kitkat搭載のAndroid端末?)が用意できていなかったことが原因でした。

しかし、このあたりについての情報はまだあまり見つからず、おそらく同様のところでひっかかることも多いのではないかと思われます。このため、失敗例の情報共有として、あえて記事に残しておきたいと思います。
また今後、無事に動作するところまで成功しましたら、その際にはあらためて記事を書ければいいなぁと思っています。

なお、成功事例につきましては、株式会社ブリリアントサービスさんのブログに、詳細な内容が掲載されていましたので、そちらをご覧いただくのがよいでしょう。
SDK公開後すぐに、このような詳細な記事が掲載されており、さすがだなと思いました。)
Android Wear Developer Preview 開発環境構築

0.(準備)必要なもの

Android Wear Developer Preview」SDKの機能を試すために、Android OS4.3以上のスマートフォン、またはタブレットが必要です。

今回の失敗の要因はここでした。

Nexus7(2013 Wi-Fi版 OSバージョンは4.4.2)を利用する予定にしていたのですが、この端末が、後述する、「Android Wear Preview」というアプリをインストールできなかったのです。

Nexus7が使えない、という現象に関して、以下のような情報もありました。
Android Wear Preview - Incompatible with Nexus 7 2013

「READ_PHONE_STATUS」が必要だから、Wi-Fi版のNexus7では使えないのか?という記述もあるのですが、実際のところは定かではありません。

リリアントサービスさんのブログにもあるとおり、Nexus5であれば問題ないようですので、ぜひ、Nexus5をお手元に用意して、SDKの機能を試してみてください。
 

1.Developer Previewを使うために、サインアップする

Android Wear Developer Preview」SDKを利用するために、メールアドレスの登録のみ、必要になるようです。
Android Wear Developer Preview」のサイトにアクセスして、以下の「Sign Up for the Developer Preview」ボタンをクリックします。
f:id:IntelligentTechnology:20140322123147p:plain
 

表示された以下の画面でメールアドレスを入力して、「Yes, I agree」にチェックをつけた後、「送信」ボタンをクリックします。
このとき気をつけないといけないのは、今回利用するAndroid端末のGoogle Playと関連づけられている、メールアドレスを登録する必要がある、ということです。
f:id:IntelligentTechnology:20140322123531p:plain:w480
 

登録したメールアドレスにメールが届くまで、しばらく待ちます。根気よく待ちます。
「24時間以内に返信します」という案内が書かれてあったのですけれども、私の場合、ほぼ丸一日たったころに、ようやくメールが届きました。

届いたメールは以下のような内容でした。
f:id:IntelligentTechnology:20140322124009p:plain
 

よく見ると添付ファイルがひとつくっついています。これをダウンロードしておきます。
その後、メール本文内の「Opt-in to become a tester」リンクをクリックします。

以下のようなページが表示されます。
f:id:IntelligentTechnology:20140322124252p:plain:w400
 

「テスターになる」ボタンをクリックすると、以下のとおり、正しく登録できました。
f:id:IntelligentTechnology:20140322124331p:plain:w400
 

次にこの画面下部の「Play ストアから「Android Wear Preview」をダウンロード」をクリックします。以下のような画面が表示されたのですが、
f:id:IntelligentTechnology:20140322124523p:plain
 

今回の場合、先述した「Nexus7」の問題のため、正しくインストールすることができませんでした。
f:id:IntelligentTechnology:20140322124611p:plain:w400
 

本来ならば、ここでインストールしたアプリを使って、Notificationの通知などを試せるはずなのですが・・・、残念、結局、Nexus7ではダメなようです。
しかしせっかくですので、少しずつ、SDKの中身を見ていきたいと思います。
 

2.Android Wearのシステムイメージをインストールして設定する

せめてエミュレータだけでも、ということで、新しくインストールできるようになった、「Android Wear」のエミューレータを設定してみます。

Android SDK Managerから、「Android Wear ARM EABI v7a System Image」を選択してダウンロードします。
f:id:IntelligentTechnology:20140325063729p:plain
 

ダウンロード完了後、AVD Managerを開いて、以下のようなエミュレータを新規作成します。
f:id:IntelligentTechnology:20140325063940p:plain
 

起動すると、以下のように表示されました。
f:id:IntelligentTechnology:20140325064001p:plain:w280 

これ単体では、特に一緒に操作できる端末がないと、現時点ではできることは限られてるようですね。
 

3.SDKに触ってみる

3-1.メールの添付ファイルを確認する

Android Wear Developer Preview」にサインアップした際に届いたメールに、ZIPファイルがひとつ添付されていました。
このファイルを展開すると、以下のようなファイルが入っていました。
f:id:IntelligentTechnology:20140325094000p:plain
 
この中の、「wearable-preview-support.jar」を、このあと使ってみます。

ちなみに、ZIPファイルの中には、ほかにもサンプルアプリのプロジェクトがいくつか入っています。
ちょっと気になりましたのは、これらのサンプルは、「Android Studio」用のプロジェクトになっているようだ、ということです。
最近、「Android Studio」推しの記事を見かけたりもしますので、そろそろAndroid Studio、本格デビューしてもいい時期なのかもしれません。

3-2.必要なライブラリの設定

Android Wear」SDKを利用するために、いくつかライブラリファイルを利用する必要があります。
なお今回は、Eclipse(ADT Bundle)を使っています。

まずは新しいAndroid Projectを作成しておきます。(ターゲットOSは、最新の4.4.2にしていたほうが無難かもしれませんね。)
プロジェクトのルートに「libs」フォルダがない場合は、新しく作成します。

その「libs」フォルダに「android-support-v4.jar」があるかどうか確認します。ない場合は、Android SDKのフォルダ内の「extras/android/support/v4/android-support-v4.jar」からコピーして格納します。

次に、先ほどのZIPファイル内の「wearable-preview-support.jar」を、同じく「libs」フォルダに格納します。

ここまでできますと、プロジェクトのファイル構成は以下のようになります。
f:id:IntelligentTechnology:20140325095306p:plain:w320

最後に、「android-support-v4.jar」「wearable-preview-support.jar」それぞれに対して右クリックして、「Build Path」→「Add to Build Path」を実行します。

ライブラリファイルが、正しくビルドパスに追加されると、以下のようになります。
f:id:IntelligentTechnology:20140325095514p:plain:w320
 

3-3.「Android Wear」SDK 基本の基本

最初のステップとして、公式ページでは、ウェアラブルデバイスに単純なNotificationを通知するパターンが紹介されています。

まずは必要なクラスをインポートして、

import android.preview.support.wearable.notifications.*;
import android.preview.support.v4.app.NotificationManagerCompat;
import android.support.v4.app.NotificationCompat;

以下のように、Notificationの通知を行います。

int notificationId = 001;
// Notification用のIntentを生成
Intent viewIntent = new Intent(this, MainActivity.class);
viewIntent.putExtra(EXTRA_EVENT_ID, eventId);
PendingIntent viewPendingIntent = 
    PendingIntent.getActivity(this, 0, viewIntent, 0);

NotificationCompat.Builder notificationBuilder =
    new NotificationCompat.Builder(this)
    .setSmallIcon(R.drawable.ic_event)
    .setContentTitle(eventTitle)
    .setContentText(eventLocation)
    .setContentIntent(viewPendingIntent);

// NotificationManagerサービスのインスタンスを取得
NotificationManagerCompat notificationManager =
    NotificationManagerCompat.from(this);

// Notificationを通知する
notificationManager.notify(notificationId, notificationBuilder.build());

なんか、簡単だなぁ。動作、まだ確認できてないけど。

3-4.本当にやってみたいのはこれ。「Voice Input」

しかし、僕がやっぱり一度はやってみたいのはこれ。
Receiving Voice Input from a Notification

あれです。腕時計にむかって話しかける、あれ。
公式ページでは、音声の応答を受けて、それに応じた処理を行う方法が紹介されています。

しかし、この機能はエミュレータでは再現できないようです。もし試すとなると、やっぱり本物の「Android Wear」デバイスが必要になるみたい。
 

4.どんどん生活にとけこんでいくガジェット

残念ながら、現時点での動作確認はかないませんでした・・・。

しかし、Google Glassといい、今回のAndroid Wearといい、だんだんと、スマートフォンタブレットなどの「特別な」機器ではなくて、ふだんから自然に身につけるような、「眼鏡みたいなもの」、「腕時計のようなもの」が、これまでスマートフォンなどが持っていた機能を担っていく、ということなのかなぁと感じました。

その先にどんな未来があるのか!実は僕たちはすごい時代に生きているのかもしれません。