Android 2.3.4 API

API レベル: 10

Android 2.3.4(GINGERBREAD_MR1)はメンテナンス リリースであり、Android 2.3 プラットフォームにいくつかのバグ修正とパッチを追加します。Android 2.3.3 からの API の変更はありません。また、Android 2.3.4 では、オプションの Open Accessory ライブラリを介して、モバイル デバイスに Open Accessory API のサポートが導入されています。

デベロッパーは、Android 2.3.4 プラットフォームを Android SDK のダウンロード可能なコンポーネントとして利用できます。ダウンロード可能なプラットフォームには、Android ライブラリとシステム イメージのほか、エミュレータのスキンなどのセットが含まれています。Android 2.3.4 での開発またはテストを開始するには、Android SDK Manager を使用してプラットフォームを SDK にダウンロードします。

API の概要

Android 2.3.4 は Android 2.3.3 と同じフレームワーク API をアプリに提供 (API レベル 10)。API の概要については、 Android 2.3.3 バージョンに関するメモ

アクセサリ ライブラリを開く

Open Accessoryは、 プラットフォーム上で実行されるアプリケーションと接続された周辺機器を接続します。機能 プラットフォームに組み込まれた USB(Universal Serial Bus)スタックをベースとしており、 アプリケーションに公開されます。Android 搭載デバイスにアクセサリとして接続する周辺機器は、USB ホストとして接続します。

Open Accessory は Android 3.1(API レベル 12)で導入されましたが、 Android 2.3.4 搭載デバイスで利用できるよう、オプションの Open Accessory ライブラリです。このライブラリは、USB 経由で接続されたさまざまなデバイスタイプをアプリが検出して通信し、管理できるようにするフレームワーク API を公開します。また、Android 2.3.4 のアプリに直接公開されていない Android プラットフォームの部分に対する API の実装も提供します。

Open Accessory Library は、デバイスに応じてオプションです。デバイス メーカーは、Open Accessory Library を製品に含めるか除外するかを選択できます。このライブラリは Android 3.1 と互換性があるため、Android 2.3.4 用に開発されたアプリは、Android 3.1 を搭載したデバイスで正しく動作します(デバイスが USB アクセサリをサポートしている場合)。

Open Accessory ライブラリが提供する API は、Open Accessory の Android 3.1 で提供される API です。ほとんどの領域では、同じ手法と API を使用できます。ただし、Android 2.3.4 での Open Accessory ライブラリの開発は、 次のようにして、標準の USB API から読み込みます。

  • UsbManager オブジェクトの取得 - アドオン ライブラリを使用する場合は UsbManager オブジェクト getSystemService() ではなく getInstance() ヘルパー メソッドを使用する 次に例を示します。

    Kotlin

    val manager = UsbManager.getInstance(this)

    Java

    UsbManager manager = UsbManager.getInstance(this);
  • フィルタされたインテントから UsbAccessory を取得する - 接続されたデバイスまたはアクセサリをインテント フィルタでフィルタする場合、アプリに渡されるインテント内に UsbAccessory オブジェクトが含まれています。「 UsbAccessory オブジェクトを取得し、 次のように変更します。

    Kotlin

    val accessory = UsbManager.getAccessory(intent)

    Java

    UsbAccessory accessory = UsbManager.getAccessory(intent)
  • USB ホスト非対応 — Android 2.3.4 と Open Accessory Library は USB ホストモード(UsbDevice など)はサポートしていませんが、Android では USB ホストモードに対応しています。 3.1.Android 2.3.4 を搭載した Android デバイスは、USB ホストとして機能できません。このライブラリにより、Android 搭載デバイスは、 周辺機器のみ(接続されたアクセサリが USB ホストとして機能) (UsbAccessory 経由)。

Open Accessory ライブラリを使用してアプリを開発するには、以下が必要です。

  • Android SDK Tools の最新バージョン
  • Google API アドオンの最新バージョン(ライブラリ自体を含む)(リンク用)
  • 接続されたデバイスに対するランタイム テスト用に、USB アクセサリをサポートする Android 2.3.4(または Android 3.1)を搭載した実際のハードウェア デバイス

USB アクセサリとやり取りするアプリを開発する方法について詳しくは、関連するデベロッパー向けドキュメントをご覧ください。

また、デベロッパーは Google Play でのフィルタリングをリクエストして、デバイスで適切なアクセサリがサポートされていないユーザーがアプリを使用できないようにすることもできます。フィルタリングをリクエストするには、以下の要素を追加します。 次のように記述します。

<uses-feature
  android:name="android.hardware.usb.accessory"
  android:required="true">

API レベル

Android 2.3.4 プラットフォームでは、API レベルは上がりません。 Android 2.3.3(API レベル 10)と同じ API レベルを使用します。

API レベル 10 で導入された API をアプリで使用するには、最新バージョンの Google API アドオンで提供されている Android ライブラリ(Open アクセサリ ライブラリも含まれています)に対してアプリをコンパイルする必要があります。

必要に応じて、 android:minSdkVersion="10"も追加する必要があります アプリケーションの <uses-sdk> 要素に 使用します。アプリが Android 2.3.3 以降でのみ動作するように設計されている場合、この属性を宣言すると、以前のバージョンのプラットフォームにアプリをインストールできなくなります。

詳細については、API とは何か レベル