Android 5.0発表&スマホと連動する音声認識Android Wearアプリの作り方:Androidで動く携帯Javaアプリ作成入門(55)(1/4 ページ)
正式発表されたAndroid 5.0 Lollipop関連の話題をまとめつつ、今後需要が増えそうな音声認識/ボイスアクションの概要と、それを使ったスマートフォンと連動するアプリの作り方を解説。
Android 5.0 Lollipop正式発表、SDKはもうすぐリリース予定
今回の主な内容
- Android Wear用アプリは4種に分類
- 「OK Google」が必須! Android Wear上で動作するアプリのボイスアクション
- 「タクシーを呼ぶ」というボイスアクションに対応するサンプルアプリ
- まずは、ひな型のAndroidManifest.xmlを修正
- サンプルアプリの画面構成
- Asndroid WearのActivity「MyActivity」
- 音声入力のためのノーティフィケーションを通知する「SetupFragment」
- コラム「今後はNotificationManagerではなくNotificationManagerCompatで」
- 登録した電話番号を解除する「ResetFragment」
- 登録された電話番号に電話をかける「CallFragment」
- 次回は電話をする処理とスマホ側のAndroidアプリの実装
2014年10月15日(米国時間)、Android 5.0(コードネーム「Lollipop」)が正式に発表されました。
記事「変わらないと生き残れないAndroid Lの新機能まとめ」でも紹介しましたが、Android 5.0では、新たなデザインアプローチ「Material Design」が採用され、スマートフォン、ウェアラブルデバイス(Android Wear)、テレビ(Android TV)で共通で適用されます。
5000を超えるAPIが追加され、Android 5.0 SDKでは、スマートフォンだけではなく、ウェアラブルデバイス、テレビ用のアプリも開発できるようになりそうです(参考)。
64bit対応Androidアプリ開発の時代が到来
またAndroid 5.0を搭載する端末として、モトローラ製スマホ「Nexus 6」、HTC製タブレット「Nexus 9」、エイスース製のAndroid TV用セットトップボックス・リモコン・ゲームコントローラーのセット「Nexus Player」も発表されました。三つとも64bitのCPUを搭載しており、「DalvikVM」に代わる新しいランタイム「ART」への対応と共に開発者は本格的に64bitのAndroidアプリ開発に対応することが求められるでしょう。
Android TVはChromecast+テレビゲーム用プラットフォーム?
Android TVは「Google Cast」にも対応することが発表され、これまでChromecast用と思われていたAndroid/iOS用のSender(送信)アプリのGoogle Cast SDKは「Nexus Player」などAndroid TV用端末向けにも使えることが予想され、Google Cast SDKを使ったアプリ開発の適用範囲が広がりそうです。
なお、ChromecastとAndroid TVとの違いについては、「Nexus Player」にゲームコントローラーが付属することからも、Android TVはChromecastで実現できる機能に加えて、テレビゲーム用プラットフォームとして使われることが想定されます。
SDKとOSの開発者向けプレビュー版の提供は10月17日(米国時間)予定
SDKとOSの開発者向けプレビュー版の提供は10月17日(米国時間)が予定されています。
さて、前回の「ウェアラブル端末用Android Wearアプリ開発の基礎知識」で紹介した通り、本稿では、Android 4.4W(APIレベル20)のSDKを使ってAndroid Wear用アプリを開発していますが、いずれAndroid 5.0 SDKが正式にリリースされた際には、そちらを使うことになるでしょう。
今回は、簡単なAndroid Wear用アプリの作り方の例として、「タクシーを呼ぶ」というボイスアクションに対応する音声認識アプリを開発します。音声認識機能は、Android Wearに限らず以前からスマホのAndroidアプリ開発でも使えましたが、今後はウェアラブルデバイスで使われる場面が増えそうです。先ほど紹介した「Nexus Player」のリモコンも音声認識やボイスアクションに対応するようです。
Android Wear用アプリは4種に分類
ボイスアクションアプリを作る前に、そもそもAndroid Wear用アプリにはどういった使い方が想定されるか考えてみましょう。
Android Wear用アプリは、以下のような分類ができます。
- Android Wear上で動くスタンドアロンアプリ
- Android Wear上で動きスマートフォンと連動するアプリ
- スマートフォンが主体でAndroid Wearを補助的に使用するアプリ
- Android Wearとスマートフォンで異なる役割を担うアプリ
それぞれの具体例を挙げてみましょう。
【1】Android Wear上で動くスタンドアロンアプリ
Android Wearを使用するには、実際にはコンパニオンとなるスマートフォンと、スマートフォンにAndroid Wearアプリがインストールされていることが必須なのですが、ここではそれらは考慮しないことにします。
Android Wearにプリインストールされているコンパス、ストップウオッチ、タイマー、アラームなどは、スマートフォンなしで動作するスタンドアロンアプリです。
もちろん腕時計型Android Wearのメインアプリである時計アプリも、コンパニオンスマートフォンと自動時刻同期などを行えることを除けばスタンドアロンアプリであるといえます。
スタンドアロンアプリは、こうした王道のアプリ以外にも、アイデア次第でいくらでも広がっていくと思います。例えば、紛失したときに持ち主が分かる情報を表示するだけのアプリ、人数をカウントするだけのアプリ、薬の飲み忘れをバイブレーションで教えてくれるだけのアプリ、などでしょう。
【2】Android Wear上で動きスマートフォンと連動するアプリ
歩数計アプリや心拍計アプリが、これに分類されます。Android Wear上のセンサー情報をスマートフォンに蓄積する、という使い方がメインだと思いますが、プリインストールされている歩数計アプリや心拍計アプリは、スマートフォン側にデータを持ちません。
【3】スマートフォンが主体でAndroid Wearを補助的に使用するアプリ
メール、SMS、通話アプリ、カレンダー、メモアプリなどが、これに当たります。メモアプリ以外は、Android Wearにノーティフィケーションを通知し、Android Wearではノーティフィケーションから応答する方法を取ります。Android Wearのノーティフィケーションはとても重要な操作を提供します。
メモアプリは、音声認識でメモが取れ、人目を気にしないならば素早くメモが取れる利点があります。
以下は筆者が利用しているランニングアプリのRuntasticです。
Runtasticは、もともとスマートフォンを携帯してジョギングするアプリなのですが、連動するAndroid Wearアプリも出ていて、Android Wearアプリでは、ワークアウト経過時間の表示や開始/終了などをスマートフォンに指示するコントロールを持っています。ステップ検出はAndroid Wear側も備えていますが、スマートフォン側で行っているようです。
【4】Android Wearとスマートフォンで異なる役割を担うアプリ
グーグルからAndroid WearアプリのサンプルがSDK Managerでダウンロードでき、その中に興味深いものがありました。それは、スマートフォンを探すアプリです。
「スマホがない」「あれ、どこ置いたっけ」「家の中にはあるはずなんだけど」というシチュエーションで役に立つアプリです。従来は電話をかけて探す場面が多かったと思いますが、それをAndroid Wearから行えるようになります。
これ以外にも、スマートフォンからAndroid Wearにクイズを出題するアプリ、というのはアイデアとしては少し面白いかなと思いました。ただ、「それならスマートフォン同士の方がいいよね」いや、もっと言うと「出題者はスマートフォン、回答者は口頭でもいいよね」ということで、このカテゴリの例はあまり見当たりませんでした。
今回は、これらの中から【2】のAndroid Wear上で動きスマートフォンと連動するアプリを作ります。次に、Android Wearのボイスアクションについて基礎的な知識を紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.