2014年11月19日水曜日

Android AutoのAPIが公開されました

※Android Auto公式サイトより引用 http://www.android.com/auto/

本日、ついにAndroid AutoのAPIが公開されました。
Android Autoとは、車のカーナビのような車載デバイスとAndroid端末を連動するシステムです。Android Autoアプリを作るための環境構築方法についてまとめました。

Android Autoに対応したアプリをAndroid端末に入れて、車載デバイスと接続することで、車載デバイス側でアプリの画面を表示したり、操作することができます。

APIは以下の公式サイトで説明されています。
http://developer.android.com/training/auto/start/index.html

現状では、以下の2種類のアプリに対応しています。
オーディオ系アプリ・・・車の中でオーディオコンテンツを再生することができます。
メッセージ系アプリ・・・メールを受信するとメッセージを音声出力し、音声入力から返信メールを送信できます。

今回は、AndroidAuto向けのオーディオ系アプリを作成するまでの環境構築について、以下の流れで紹介します。

・AndroidManifestファイルの記載
・専用リソースファイルの記載
・サービスの実装
・シミュレーションアプリのインストール
・アプリの実行

AndroidManifestファイルの記載

ポイントは3つあります。

targetSdkVersion

AndroidAutoに対応するアプリは、targetSdkVersionが21以上でなければいけません。

MediaBrowserService継承サービス定義 

以下のように定義します。
    <service android:exported="true" android:name=".AndroidAutoMediaService">
        <intent-filter>
            <action android:name="android.media.browse.MediaBrowserService">
            </action>
        </intent-filter>
    </service>

専用リソースファイルのメタデータ定義

以下のように定義します。
    <meta-data
        android:name="com.google.android.gms.car.application"
        android:resource="@xml/automotive_app_desc" />

上記のように、『android:resource="@xml/automotive_app_desc"』とした場合は、以下の専用リソースファイルを用意する必要があります。
(プロジェクトフォルダ)\res\xml\automotive_app_desc.xml

 専用リソースファイルの定義

AndroidManifestファイルで定義した専用リソースファイルには、以下のように記載します。"uses name="には、オーディオ系アプリの場合は"media"、メッセージ系アプリの場合は"notification"を設定します。
今回の場合は前者です。
    <automotiveapp>
        <uses name="media"/>
    </automotiveapp>

サービスの実装

AndroidManifestファイルで定義したMediaBrowserService継承サービスを実際に実装します。
以下の2つのメソッドが実装必須ですが、今回は空のメソッドにしておきます。
public class AndroidAutoMediaService extends MediaBrowserService{

@Override
public BrowserRoot onGetRoot(String clientPackageName, int clientUid,
    Bundle rootHints) {
    return null;
}

@Override
public void onLoadChildren(String parentId, Result <List<MediaItem>> result) {
}

シミュレーションアプリのインストール

AndroidAuto向けアプリの動作をAndroid端末上で確認できる、シミュレーションアプリが提供されています。
アプリはSDK Managerの「Android Auto API Simulators」からダウンロードできます。


ダウンロードが完了すると、以下のapkファイル2個が格納されます。
オーディオ系アプリ向けとメッセージ系アプリ向けに、2種類のシミュレーションアプリが用意されています。
(Android SDKフォルダ以下)\extras\google\simulators
media-browser-simulator.apk・・・オーディオ系アプリ
messaging-simulator.apk ・・・メッセージ系アプリ

今回はオーディオ系アプリを取り扱うので、media-browser-simulator.apkの方をインストールします。

それぞれのapkを起動すると、以下の画面が表示されます。

オーディオ系のシミュレーションアプリ


メッセージ系のシミュレーションアプリ



※11/25修正
なお、これらのシミュレーションアプリのサンプルコードは、以下のURLからダウンロード可能です。
http://github.com/googlesamples/android-MediaBrowserService
http://github.com/googlesamples/android-MessagingService

アプリの実行

作成したアプリをあらかじめインストールしておき、
シミュレーションアプリの「Media Sim」を起動します。
メニューボタンを押すと、作成したアプリの名前が表示されれば成功です。



今回作成したアプリでは必要最低限の実装しか行っていないため、これ以上は動作できませんが、ちゃんと実装したアプリであれば、ここから動作が確認できるはずです。

次回からは、実際に動作するAndroid Autoアプリの開発方法について、説明していきます。
140 180 Android , Android Auto

記載されている会社名、および商品名等は、各社の商標または登録商標です。

0 コメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...