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

API 23 SDK が Android Wear で利用可能になりました

$
0
0
[この記事は Wayne Piekarski、デベロッパー アドボケートによる Android Developers Blog の記事 "API 23 SDK now available for Android Wear" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

LG Watch Urbane 2nd Edition LTEは、Android Wear 向けの Android 6.0 Marshmallow (API 23)を実装する初のスマート ウォッチです。現時点では、これ以外の Android Wear スマート ウォッチはすべて API 22 を実装しています。API 23 への OTA アップデートは順次通知される予定です。

Android Wear 開発者にとって、これはどのような意味を持つのでしょうか。アプリを API 23 スマート ウォッチと API 22 スマート ウォッチの両方に対応させなければなりません。この投稿で説明する新しい機能の実装を開始しても、すべてのスマート ウォッチのアップグレードが完了するまでは、後方互換性を引き続き維持しておくようにしてください。

新しいパーミッション モデルとサンプル

API 23 では、携帯端末とスマート ウォッチの両方を対象として、新しいランタイム パーミッション モデルを導入します。この新しいパーミッション モデルにより、アプリの使用時に付与するパーミッションを選択できるようになります。さらに、新しいパーミッション設定で、アプリのパーミッションのオンとオフを随時切り替えることができます。

Android Wear でこの新しいパーミッション モデルを使用するには、Android Wear 上のパーミッション(Permissions on Android Wear)を参照してください。このトレーニング ガイドには、Wear アプリが携帯端末側のパーミッションに依存する場合など、Wear 特有のシナリオに関する詳細情報が記載されています。さらにすべての Android Wear のサンプルが新しいパーミッション モデルを使用するようにアップデートされ、新しい RuntimePermissionsWearサンプルに、複数のデバイスで共有するパーミッション リクエストを処理する方法が示されています。

compileSdkVersion 23 と targetSdkVersion 23 を利用するには、都合のいいタイミングで、携帯端末側とスマート ウォッチ側の両方のアプリケーションをアップデートしてください。アップデート後にアプリを実行する際、携帯端末とスマート ウォッチの両方で、アプリが必要とするパーミッションを選択し、要求する必要があります。targetSdkVersion はシステムによるアプリのインストール方法と実行方法を変更するものであるため、パーミッションの選択が正しく実装されるまで targetSdkVersion を 23 に変更しないことが重要です。たとえば、以前は結果を返していた API 呼び出しが失敗に終わり、アプリが予想外の動作を起こす原因となることがあります。

-round リソース修飾子および -notround リソース修飾子

API 23 では、丸型と四角形の両方の Android Wear スマート ウォッチに対応するアプリを簡単にビルドできます。フィードバックを取り入れ、-round と -notround の新しいリソース修飾子を追加しました。これで、リソース システムを使用して、ウォッチの種類に合わせた適切なイメージ、レイアウト、ストリングを読み込むことができるようになります。現在入手できるさまざまな Android Wear スマート ウォッチに対して、既存のリソース修飾子である -hdpi、-tvdpi、-280dpi、-360dpi と組み合わせることもできます。WatchViewStubBoxInsetLayoutWearableFrameLayoutなどのウェアラブル UI ライブラリ内のすべての既存クラスは引き続き動作しますので、コードの変更は不要です。-round リソース修飾子および -notround リソース修飾子は API 22 デバイスでは動作しないため、すべてのデバイスが API 23 に対応するまで、これらの修飾子であることを前提とした処理を実装しないでください。

スピーカー内蔵スマート ウォッチ

LG Watch Urbane 2nd Edition LTEは内蔵スピーカーをサポートした初のスマート ウォッチです。これで Wear アプリに音声を追加できるようになりました。Android 携帯端末で利用可能な AudioTrackMediaPlayerExoPlayerなどについて、API を変更することなく、スマート ウォッチでも音声ファイルを再生することができます。スピーカーが Wear デバイスで利用可能になる時期を確認する方法と、スピーカーから音声を再生する方法については、サンプル資料を参照してください。

Intel x86 のサポート

新しい TAG Heuer Connectedは、発売間近の他の Android Wear スマート ウォッチと同様に Intel x86 プロセッサを基盤にしています。Java コードのみを使用しているアプリは自動的にどのアーキテクチャでも動作します。NDK を使用している場合は、ウェアラブル APK に armeabi-v7a ライブラリと x86 共有ライブラリの両方を提供する必要があります。携帯端末アプリでは、連動させられるウェアラブル アプリは 1 個だけなので、アーキテクチャが異なる別のスマート ウォッチに対応する APK を提供することはできません。ウェアラブル APK に x86 ライブラリが含まれていない場合、x86 スマート ウォッチへのインストールが失敗し、INSTALL_FAILED_NO_MATCHING_ABIS とコード -113 が表示されます。

Android Studio を使用している場合、build.gradle ファイルに次のコードを組み込んでください。
ndk {
  abiFilters
=['armeabi-v7a','x86']
}
NDK を直接使用している場合、Application.mk ファイルを次のように修正してください。

APP_ABI := armeabi-v7a x86
これらの変更はウェアラブル APK に対してのみ実行します。携帯端末側では他の ABI を引き続きサポートします。SDK Manager が提供している x86 エミュレータで、アプリケーションが動作するかどうかをテストすることができます。

アップデートされたエミュレータ

API 23 スマート ウォッチと x86 スマート ウォッチ向けの新しい Android Wear エミュレータ イメージが、Android Studio の SDK Manager からダウンロードできます。使用可能なすべての Android Wear スマート ウォッチを示すプロファイルも追加しました。これで目的のデバイスでのテストが簡単にできるようになります。アプリがすべてのユーザーで動作するように、携帯端末(API <= 22、API = 23)とウェアラブル端末(API 22、API 23)のすべての組み合わせを把握してテストすることも重要です。

既存のスマート ウォッチへのアップデート

API 23 スマート ウォッチのユーザー向けにアップデートした、アプリのテストとデプロイをすぐに開始できる、新しいエミュレータ イメージが公開されています。OTA アップデートにより既存の Android Wear スマート ウォッチをアップデートするスケジュールはまだ発表されていません。アップデートのスケジュールは Android Wear Developers Google+ communityでお知らせします。ロールアウトが完了した場合や、Android Wear 向けの API 22 サポートが不要になったときもお知らせします。


Posted by Yoshifumi Yamaguchi - Developer Relations Team

Viewing all articles
Browse latest Browse all 2207

Trending Articles