API レベル: 13
Android 3.2(HONEYCOMB_MR2
)は増分プラットフォーム リリースで、
開発できます。以下のセクションでは、その概要を説明します。
新機能とデベロッパー向け API の概要を
ご紹介します
デベロッパー向け Android 3.2 プラットフォームは、 コンポーネントをダウンロードします。このダウンロード可能なプラットフォームには Android ライブラリとシステム イメージ、エミュレータ スキンのセットと、 できます。Android 3.2 に対する開発やテストを開始するには、 Android SDK Manager を使用して、SDK にプラットフォームをダウンロードします。
プラットフォームのハイライト
新しいユーザー機能
- より幅広いタブレット向けに最適化
Android 3.2 では、システム全体でさまざまな最適化が行われています より幅広いタブレット デバイスで優れたユーザー エクスペリエンスを実現しました。
- 固定サイズのアプリに対する互換性ズーム
Android 3.2 では、新しい互換ズームモードが導入されており、 大きなデバイスで固定サイズのアプリを表示する新しい方法をユーザーに提供します。新しいモードでは 標準 UI のストレッチングに代わるピクセル スケールの、 タブレットなどの大きな画面サイズで動作するように設計されている新しいモードは ユーザーがシステムバーのメニュー アイコンからアクセスできる場合、 サポートしています。
- SD カードからのメディアの同期
SD カードをサポートするデバイスで、メディア ファイルを直接読み込めるようになりました そのデータを使用するアプリに移動できます。システム機能が システムのメディアストアからアプリからアクセス可能。
新しいデベロッパー向け機能
- 画面サポートを管理するための拡張 API
Android 3.2 では、プラットフォームの画面サポート API に対する拡張機能が導入されています。 デベロッパーがさまざまな環境にわたってアプリの UI を Android デバイス。API には、新しいリソース修飾子と マニフェスト属性を使用して、リソースの状態を アプリがさまざまなサイズで表示され、 サイズカテゴリを選択します。
固定サイズのアプリ、または限られたサイズのアプリに対して、 サポートされ、プラットフォームには新しいズーム機能も備わっています。 小さな画面領域に UI をレンダリングしてから拡大縮小する互換モード 画面全体に表示されます。詳細については、 Screen Support API とそのコントロールの詳細については、以下のセクションをご覧ください。
API の概要
Screens Support API
Android 3.2 で導入された新しい画面サポート API を使用すると、 さまざまな画面サイズでアプリをどのように表示するかを管理する。 この API は、既存の画面サポート API を基盤として構築されています。これには、プラットフォームの 一般的な画面密度モデルですが、より精度の高い ディメンションに基づいて特定の画面範囲をターゲットに設定します。 密度非依存のピクセル単位(幅 600 dp、720 dp など) 一般的な画面サイズ(large、xlarge など)
アプリの UI を設計する際は、引き続きプラットフォームを使用して 密度の抽象化が可能です。つまり、アプリケーションで デバイス間の実際のピクセル密度の違いを補正しています。マイページ 水平方向または垂直方向の量に応じてアプリの UI をデザインできる できます。プラットフォームは、3 つの新しい 特性(smallestWidth、width、 height:
- 画面の smallestWidth は基本の最小サイズで、 密度非依存ピクセル(「dp」)単位で測定されます。画面の高さや 幅は 2 つのうち短いほうになります。縦向きの画面の場合、 通常、smallestWidth はその幅に基づきますが、横向きでは 最高です。すべての場合で、smallestWidth は 向きに関係なく値は変わりませんSmallestWidth は、 スペースは可能な限り短い幅を表すため、用途にとって重要です。 アプリ UI を描画する必要がある場所(画面領域は含まない) 使用します。
- 一方、画面の幅と高さは、 アプリケーションのレイアウトに使用できる現在の水平方向または垂直方向のスペース(測定) 単位は「dp」(システムが予約した画面領域は含みません)幅と ユーザーが画面の向きを横向きに切り替えたときに画面の高さが変化する 使用できます
新しい画面サポート API は、アプリの UI を管理できるように設計されています。 現在の画面の SmallestWidth に合わせて自動的に調整されます。また、 UI を現在の幅または高さに応じて必要に応じて指定します。これらの目的のため、API は 次のツールが用意されています。
- 新しいリソース修飾子を使用して、レイアウトやその他のリソースを 最小の smallestWidth、width、または height
- アプリの最大数を指定する新しいマニフェスト属性 画面互換性範囲
さらに、アプリは引き続きシステムにクエリを実行し、UI とリソースの 以前のバージョンと同様に、実行時にリソースを読み込むことができます。
新しい API では、smallestWidth を使用して画面を直接ターゲットにできるため、 見やすくするために、一般的なコンテキストの 特性を再現します。以下の表に 例(「dp」単位)あります。
タイプ | 密度(一般化) | サイズ(dp) | SmallestWidth(dp) |
---|---|---|---|
基準となるスマートフォン | mdpi | 320×480 | 320 |
小型タブレット/大型スマートフォン | mdpi | 480×800 | 480 |
7 インチ タブレット | mdpi | 600x1024 | 600 |
10 インチ タブレット | mdpi | 800×1280 | 800 |
以下のセクションでは、新しい画面修飾子について詳しく説明します 構成します。画面の使い方について詳しくは、 詳細については、複数サポート API へのアクセスを スクリーン。
画面サポート用の新しいリソース修飾子
Android 3.2 の新しいリソース修飾子により、レイアウトをより適切にターゲット設定できます 対応しています修飾子を使用すると、リソースを作成できます。 特定の最小 smallestWidth、現在の幅、または 現在の高さ(密度非依存ピクセル数)。
新しい修飾子は次のとおりです。
swNNNdp
- 表示する最小の SmallestWidth を指定します。 リソースを使用する必要がある場合(「dp」単位)あります。前述のとおり、 画面の向きにかかわらず、smallestWidth は一定です。例:sw320dp
、sw720dp
、sw720dp
。wNNNdp
とhNNNdp
- 最小値を指定します リソースを使用する幅または高さ(「dp」単位)あります。として 画面の幅と高さは画面の向きに相対的です。 画面の向きが変わるたびに変更されます。例:w320dp
、w720dp
、h1024dp
。
必要に応じて、重複するリソース構成を複数作成することもできます。 たとえば、480 文字を超える画面で使用するリソースにタグを付けることができます。 600 dp を超えるものや 720 dp を超えるものがある。日時 制限されている場合、システムは 最も近い構成が選択されますインフラストラクチャを 特定の画面で読み込まれるリソースを指定するには、 新しい修飾子や既存の修飾子を組み合わせることができます。
前述の典型的なディメンションに基づいて、 次のように、新しい修飾子を使用できます。
res/layout/main_activity.xml # For phones res/layout-sw600dp/main_activity.xml # For 7” tablets res/layout-sw720dp/main_activity.xml # For 10” tablets res/layout-w600dp/main_activity.xml # Multi-pane when enough width res/layout-sw600dp-w720dp/main_activity.xml # For large width
古いバージョンのプラットフォームでは新しい修飾子が無視されるため、 必要に応じてこれらを混ぜて、どのデバイスでもアプリが適切に表示されるようにします。現在地 いくつか例を示します。
res/layout/main_activity.xml # For phones res/layout-xlarge/main_activity.xml # For pre-3.2 tablets res/layout-sw600dp/main_activity.xml # For 3.2 and up tablets
新しい修飾子の使用方法について詳しくは、新しい修飾子の使用 サイズ修飾子を使用します。
画面サイズ互換性のための新しいマニフェスト属性
フレームワークには、新しい <supports-screens>
マニフェスト属性のセットが用意されており、
さまざまな画面サイズに対するアプリのサポートを管理します。
具体的には、アプリが表示される最大画面と最小画面を指定できます。
大きな画面上で稼働するように設計されており
新しい画面がなくても
互換モードをご覧ください。前述のリソース修飾子と同様に、新しい
マニフェスト属性では、アプリがサポートする画面の範囲を指定します。
指定されています。
画面サポートの新しいマニフェスト属性は次のとおりです。
android:compatibleWidthLimitDp="numDp"
- これ 属性を使用すると、アプリケーション レイヤがレンダリングする 互換性モードがなくても実行できることです。現在の画面が アプリケーションは通常モードで表示されますが、 オプションで、ユーザーは クリックします。android:largestWidthLimitDp="numDp"
- これ 属性を使用すると、アプリケーション レイヤがレンダリングする 実行されるよう設計されています。現在の画面が指定した値より大きい場合 アプリが画面互換性モードに強制的に切り替わり、 表示されなくなります。android:requiresSmallestWidthDp="numDp"
- これ 属性を使用すると、アプリケーションがレンダリングする最小の SmallestWidth を 実行できます。現在の画面が指定した値より小さい場合、システムは アプリがデバイスに対応していないと判断するが、それを妨げることはない インストールして実行できないようにします。
注: 現在のところ、Google Play では、
上記のいずれかの属性に基づくアプリフィルタリングのサポートは
今後のプラットフォーム リリースで追加される予定でアプリケーションに必要な
画面サイズに基づくフィルタリングでは、既存の <supports-screens>
を使用できます。
属性です。
新しい属性の使用方法について詳しくは、宣言する 画面サイズのサポート。
画面互換性モード
Android 3.2 では、アプリ向けに新しい画面互換性モードが提供される 大画面はサポートされないと明示的に宣言し、 確認する必要がありますこの新しい「ズーム」機能では、ピクセル スケール モードです。 小さな画面領域にアプリをレンダリングしてから、ピクセルを 現在の画面全体に表示されます。
デフォルトでは、アプリのユーザー オプションとして画面互換性モードが提供されます。 必要があります。ユーザーは利用可能なコントロールを使用して、ズームモードのオンとオフを切り替えることができます。 を選択します。
新しい画面互換性モードは、 プラットフォームでは、マニフェストを使用して、 属性です。アプリで無効にした場合、ズーム機能は利用できません。互換性 オプションとして設定できます。
注: Google Chat の設定に関する重要な情報は、 アプリで互換モードを制御する方法については、Android の大きな画面上のアプリ向けの新しいモードの記事をご覧ください。 デベロッパー ブログ。
720p のテレビや同様のデバイス向けの新しい画面密度
720p のテレビなどで動作するアプリケーションのニーズを満たすには、
中密度画面向けの Android 3.2 では、新しい一般化密度が導入されています。
tvdpi
、およそ 213 dpi。アプリケーションは以下をクエリできる
densityDpi
の新しい密度です。
テレビとリソースのタグ付けに使用する新しい tvdpi
修飾子
よく似たデバイスです。例:
res/drawable-tvdpi/my_icon.png # Bitmap for tv density
一般に、アプリケーションはこの密度で動作する必要はありません。特定の状況 720p の画面で出力が必要な場合は、UI 要素をスケーリングできます。 自動的に作成されます。
UI フレームワーク
- フラグメント
<ph type="x-smartling-placeholder">
- </ph>
- 新しい
Fragment.SavedState
クラスが状態を保持する フラグメント インスタンスから取得される情報saveFragmentInstanceState()
。 - 新しいメソッド
saveFragmentInstanceState()
現在のインスタンスの状態を 自動的に返されます。この状態は、後で新しいインスタンスを作成するときに使用できます。 現在の状態と一致する Fragment の親オブジェクトが作成されます。 - 新しいメソッド
setInitialSavedState()
Fragment が最初に作成されたときに、Fragment の初期保存状態を設定します。 - 新しい
onViewCreated()
コールバック メソッドは、Fragment にonCreateView()
削除されたものの、保存済みの状態がビューに復元される前に行われます。 isDetached()
メソッドは、 Fragment が UI から明示的にデタッチされている。- 新しい
attach()
およびdetach()
メソッドを使用すると、アプリは UI のフラグメントを再アタッチまたはデタッチできます。 - 新しい
setCustomAnimations()
オーバーロード メソッドを使用すると、特定のアニメーションを設定できます。 入出力オペレーションのために実行するリソース、 バックスタックをポップします。既存の実装では、 バックスタックをポップする際のフラグメントの動作の違いについて説明します。
- 新しい
- ActivityInfo と ApplicationInfo の画面サイズ情報
<ph type="x-smartling-placeholder">
- </ph>
ActivityInfo
さんがCONFIG_SCREEN_SIZE
さんを追加しますCONFIG_SMALLEST_SCREEN_SIZE
(ビットマスク) (configChanges
)ビットは、アクティビティが 画面サイズと最小画面サイズに対応しますApplicationInfo
さんが追加largestWidthLimitDp
、compatibleWidthLimitDp
、 およびrequiresSmallestWidthDp
フィールド 対応する<supports-screens>
属性から取得 属性を宣言します。
- WindowManager からディスプレイ サイズを取得するためのヘルパー
<ph type="x-smartling-placeholder">
- </ph>
- 新しいメソッド
getSize()
とgetRectSize()
を使用すると、アプリはディスプレイの未加工のサイズを取得できます。
- 新しいメソッド
- 新しい公開「ホログラフィック」スタイル
<ph type="x-smartling-placeholder">
- </ph>
- このプラットフォームでは現在、さまざまなパブリック「ホログラフィック」が公開されています。スタイル
追加できます詳しくは、
完全なリストについては、
R.style
。
- このプラットフォームでは現在、さまざまなパブリック「ホログラフィック」が公開されています。スタイル
追加できます詳しくは、
完全なリストについては、
LocalActivityManager
、ActivityGroup
、LocalActivityManager
のサポートが終了しました <ph type="x-smartling-placeholder">- </ph>
- 新しいアプリケーションでは、これらのクラスの代わりに Fragment を使用する必要があります。宛先 引き続き古いバージョンのプラットフォームで稼働する場合は、v4 の Android SDK で利用可能なライブラリ(互換性ライブラリ)。v4 のサポート ライブラリが提供する Fragment API のバージョンは、 Android 1.6(API レベル 4)。
- Android 3.0(API レベル)で開発するアプリの場合
11 以降のバージョンでは、通常、タブは新しい
ActionBar.newTab()
と関連 API アクションバー領域内にタブを配置できます
メディア フレームワーク
- プラットフォームのメディア プロバイダ(
MediaStore
)を使用するアプリケーションは、 リムーバブル SD カード(デバイスでサポートされている場合)また、アプリケーションは MTP API を使用して、SD カードのファイルを直接操作します。
グラフィック
- Point と PointF の Parcelable ユーティリティ
<ph type="x-smartling-placeholder">
- </ph>
Point
およびPointF
クラスにParcelable
インターフェースとユーティリティ メソッドdescribeContents()
、readFromParcel()
、writeToParcel()
が含まれるようになりました。
IME フレームワーク
- 新しい
getModifiers()
メソッド: 修飾キーの現在の状態を取得する
USB フレームワーク
- 新しい
getRawDescriptors()
メソッド: デバイスの未加工の USB 記述子を取得します。こちらの メソッドを呼び出せます。 サポートしています。
ネットワーク
- ネットワーク タイプの定数
<ph type="x-smartling-placeholder">
- </ph>
ConnectivityManager
は定数TYPE_ETHERNET
とTYPE_BLUETOOTH
を追加します。
電話
- 新しい
NETWORK_TYPE_HSPAP
ネットワーク タイプの定数。
主要なユーティリティ
- Parcelable ユーティリティ
<ph type="x-smartling-placeholder">
- </ph>
- 新しいインターフェース
Parcelable.ClassLoaderCreator
では、 オブジェクトが作成される ClassLoader を受け取るアプリケーション。 - 新しい
adoptFd
、dup()
、fromFd()
の管理用ParcelFileDescriptor
オブジェクト。
- 新しいインターフェース
- Binder と IBinder
<ph type="x-smartling-placeholder">
- </ph>
- 新しいメソッド
dumpAsync()
Binder
とIBinder
で、アプリケーションは ターゲットが非同期的に実行されるようにします。 - 新しい
IBinder
プロトコル トランザクション コードTWEET_TRANSACTION
により、アプリからツイートを送信できるようになりました 渡します。
- 新しいメソッド
新しい特徴定数
プラットフォームには、宣言可能な新しいハードウェア機能定数が追加されています。
使用して Google Cloud などの外部エンティティに
必要なハードウェアとソフトウェアの機能を試します。これらを
と、<uses-feature>
マニフェスト要素内のその他の機能定数。
Google Play はアプリを <uses-feature>
属性に基づいてフィルタし、要件を満たしているデバイスでのみアプリを使用できるようにします。
- 横向きまたは縦向きの要件に対応する機能定数
Android 3.2 では、横向き、縦向き、またはその両方での表示をアプリが必須にするかどうかをアプリが指定できる新機能定数が導入されています。これらの定数を宣言することで、関連する画面の向きに対応していないデバイスにアプリをインストールできないようにします。逆に、一方または両方の定数が宣言されていない場合は、宣言されていない画面の向きをアプリが指定しておらず、その画面の向きを提供していないデバイスにインストールされる可能性があることを示しています。
android.hardware.screen.landscape
- アプリケーションで表示が必要です。 横向き。android.hardware.screen.portrait
- アプリケーションで表示が必要です。 縦向きにします。
横向きと縦向きの両方で適切に機能する一般的なアプリの場合、通常は向きの要件を宣言する必要はありません。テレビ用に設計されたアプリなど、主に特定の画面の向き向けに設計されたアプリは、定数の 1 つを宣言して、特定の画面の向きに対応していないデバイスでは使用できないようにします。
マニフェストで宣言されているアクティビティのいずれかが、特定の向きで実行するようリクエストした場合、
android:screenOrientation
属性を使用している場合、これはアプリが その向きが必要です。 - その他の機能定数
<ph type="x-smartling-placeholder">
- </ph>
android.hardware.faketouch.multitouch.distinct
- アプリは、2 つ以上のポイントを個別にトラッキングする、エミュレートされたマルチタッチ入力のサポートを必要とします。android.hardware.faketouch.multitouch.jazzhand
- アプリは、5 つ以上のポイントを個別にトラッキングする、エミュレートされたマルチタッチ入力のサポートを必要とします。
API 差分レポート
Android 3.2(API)におけるすべての API の変更点について詳しくは、 レベル 13)については、API 差異レポート。
API レベル
Android 3.2 プラットフォームでは、 使用できます。Android 3.2 API 値には整数の識別子( 13 - 保存されることはありません。「API レベル」と呼ばれるこの識別子によって、 アプリが Google Cloud とどのように互換性があるかを インストール前に確認する必要があります。
Android 3.2 で導入された API をアプリで使用するには、
提供されている Android ライブラリを使用してアプリをコンパイルする必要があります。
Android 3.2 SDK プラットフォームに統合されています。必要に応じて、
android:minSdkVersion="13"
も追加する必要があります
アプリケーションの <uses-sdk>
要素に
使用します。
詳細については、API とは何か レベル