Quantcast
Channel: Google Developers Japan
Viewing all articles
Browse latest Browse all 2209

Google Maps API を使った Android Wear Always-on アプリ

$
0
0
[この記事は Ankur Kotwal、デベロッパー アドボケートによる Geo Developers Blog の記事 "Always-on Android Wear apps with the Google Maps API" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

Android Wear アプリの中には、いつでも使用でき、一目で確認できる状態にしておくと便利なものがあります。Google Play サービス 8.1では、Google Maps Android API がアンビエント モードに対応し、 Always-on 機能が実装されます。アンビエント モードでは、マップのスタイルが調整され、シンプルなモノクロ調でマップが表示されます。画面上のマップには、マーカー、オブジェクト、UI コントロールは表示されず、入力できない状態であることが表示されます。カメラ位置とズーム レベルは保持されるので、マップ内のユーザー コンテキストが保たれるのが重要な利点です。

以下のスクリーンショットは、インタラクティブ モードとアンビエント モードでマップがどのように表示されるかを示しています。
マップにアンビエント モードを実装するには、次の手順に従います。
  1. targetSDKVersion を 22 以降に設定します。
  2. 以下の依存関係をアプリの build.gradle に追加して、ウェアラブル端末のサポート ライブラリを追加します
     dependencies {
        compile
    'com.google.android.support:wearable:1.2.0'
        provided
    'com.google.android.wearable:wearable:1.0.0'
     
    }
  3. ウェアラブル端末の共有ライブラリ エントリをウェアラブル端末のアプリ マニフェストに追加します。
    <application>
     
    <uses-libraryandroid:name="com.google.android.wearable"
                   
    android:required="false"/>
      ...
    </application>
  4. WAKE_LOCKパーミッションを携帯端末とウェアラブル端末のアプリ マニフェストに追加します。
    <uses-permissionandroid:name="android.permission.WAKE_LOCK"/>
  5. アクティビティで WearableActivityを継承します。するとウェアラブル端末がアンビエント モードになったとき、アンビエント モードから復帰したとき、アンビエント モードで画面がアップデートされたときにそれをアプリに通知するオーバーライドが提供されます。
  6. アクティビティの onCreate() メソッドで、setAmbientEnabled()メソッドを呼び出します。すると、アプリをウォッチ フェイスに戻すのではなく、アンビエント モードにするようフレームワークに通知されます。
  7. アンビエント モードをサポートするようにマップを設定します。この設定は、アクティビティの XML レイアウト ファイルで map:ambientEnabled="true" 属性を設定するか、プログラム内で GoogleMapOptions.ambientEnabled(true)を設定して実行します。すると、アンビエント モードに必要なマップ タイルを事前に読み込むよう API に通知されます。
  8. アクティビティがアンビエント モードに切り替わるときは、ウェアラブル端末のアクティビティで onEnterAmbient()メソッドが呼び出されます。onEnterAmbient()をオーバーライドし、MapFragment.onEnterAmbient()または MapView.onEnterAmbient()を呼び出します。マップが非インタラクティブなモノクロ調で表示されます。
  9. アンビエント モードで、onUpdateAmbient()をオーバーライドすると、1 分ごとにアプリの表示を更新できます。もっと頻繁に更新しなければならない場合は、このガイドをご覧ください。
  10. アクティビティがアンビエント モードから復帰するときは、ウェアラブル端末のアクティビティで onExitAmbient()メソッドが呼び出されます。onExitAmbient()をオーバーライドし、MapFragment.onExitAmbient()または MapView.onExitAmbient()を呼び出します。マップが通常の表示に戻り、入力できる状態になります。

Always-on 機能を使用して Android Wear にマップを表示すれば、マップが一目で確認できます。これらの API の詳細については、このドキュメントサンプル コードを参照してください。

Posted by Yoshifumi Yamaguchi - Developer Relations Team

Viewing all articles
Browse latest Browse all 2209

Latest Images

Trending Articles