ハニカム MR1

Android 3.1 へようこそ!

Android 3.1 は、Android 3.0 で導入された多くの機能を改善する増分プラットフォーム リリースです。Android 3.0 で提供されているものと同じタブレット用に最適化された UI と機能を基盤とし、ユーザーとデベロッパー向けのいくつかの新機能が追加されています。このドキュメントでは、Android 3.1 で導入された新機能とテクノロジーの概要について説明します。新しいデベロッパー向け API について詳しくは、API の概要のドキュメントをご覧ください。

Android 3.0 の概要については、Android 3.0 プラットフォームのハイライトをご覧ください。

新しいユーザー機能

図 1. Android 3.1 のホーム画面

UI の改良

Android 3.1 プラットフォームでは、さまざまな改良点が追加され、ユーザー インターフェースがより直感的で使いやすくなりました。

UI の遷移が、システム全体と標準アプリで改善されました。ランチャー アニメーションは、アプリリストとの遷移が速く、スムーズに行われるように最適化されています。色、位置、テキストを調整することで、UI 要素が見やすく、理解され、使いやすくなります。UI 全体で一貫した音声フィードバックと、ユーザーがニーズに合わせて長押し間隔をカスタマイズできる新しい設定により、ユーザー補助機能が向上しています。

5 つのホーム画面間の移動がより簡単になり、システムバーのホームボタンをタップすると、最近使用したホーム画面が表示されるようになりました。[設定] では内部ストレージのビューが改善され、より多くのファイル形式で使用されているストレージが表示されます。

USB アクセサリの接続

Android 3.1 では、USB で接続されたさまざまな周辺機器やアクセサリに対する幅広いプラットフォーム サポートが追加されています。ユーザーは、さまざまな種類の入力デバイス(キーボード、マウス、ゲーム コントローラ)やデジタルカメラを接続できます。プラットフォームの USB サポート上にアプリを構築し、ほぼすべての種類の USB デバイスに接続を拡張できます。

プラットフォームには、USB アクセサリ(USB ホストとして Android 搭載デバイスに接続できるように設計された外部ハードウェア デバイス)に対する新しいサポートも追加されています。アクセサリが接続されると、フレームワークは対応するアプリを検索し、ユーザーにアクセサリをリリースすることを申し出ます。アクセサリは、適切なアプリケーションがまだインストールされていない場合にダウンロードするための URL をユーザーに提示することもできます。ユーザーはアプリを操作して、ロボット コントローラ、ドッキング ステーション、診断機器や音楽機器、キオスク、カードリーダーなど、電源が供給されるアクセサリを制御できます。

プラットフォームの USB 機能はデバイス ハードウェアのコンポーネントに依存しているため、特定のデバイスでの USB のサポートはデバイス メーカーによって異なります。

図 2. [最近使ったアプリ] メニューが展開、スクロールできるようになりました。

開いた最近使ったアプリのリスト

マルチタスクを改善し、より多くのアプリへの即時の視覚的アクセスを実現するために、[最近使ったアプリ] リストを展開できるようになりました。最近使ったアプリのリストを縦にスクロールすると、進行中のすべてのタスクと最近使用したアプリのサムネイル画像が表示され、サムネイルをタップしてそのタスクに戻ることができます。

サイズ変更可能なホーム画面ウィジェット

ホーム画面をより柔軟にカスタマイズできるように、システムによって提供されるドラッグバーを使用して、ホーム画面ウィジェットのサイズを変更できるようになりました。ユーザーは、各ウィジェットでサポートされている場合、ウィジェットを水平方向と垂直方向の両方で拡張して、より多くのコンテンツを含めることができます。

外部キーボードとポインティング デバイスをサポート

ユーザーは、ほぼすべての種類の外部キーボードまたはマウスを Android 搭載デバイスに接続することで、使い慣れた環境を構築し、より効率的に作業できるようになりました。USB や Bluetooth HID を介して任意の組み合わせで 1 つ以上の入力デバイスを同時にシステムにアタッチできます。ほとんどの場合、特別な構成やドライバは必要ありません。複数のデバイスが接続されている場合、ユーザーはシステムバーから利用可能なキーボード設定を使用して、アクティブなキーボードと IME を簡単に管理できます。

ポインティング デバイスの場合、プラットフォームは 1 つのボタンとスクロール ホイールを備えたほとんどのタイプのマウスと、トラックボールなどの同様のデバイスをサポートします。これらが接続されると、ユーザーはポイント、選択、ドラッグ、スクロール、ホバーなどの標準アクションを使用して UI を操作できます。

ジョイスティックとゲームパッドのサポート

Android 3.1 では、ゲームに適したプラットフォームを実現するために、USB または Bluetooth HID 経由で接続されたほとんどの PC のジョイスティックとゲームパッドのサポートが追加されています。

たとえば、PlayStation®3 と Xbox 360® のゲーム コントローラを USB(Bluetooth は不可)、Logitech Dual ActionTM ゲームパッドとフライト スティック、カーレース コントローラなどに接続できます。独自のネットワーキングまたはペア設定を使用するゲーム コントローラは、デフォルトではサポートされていませんが、一般的に、プラットフォームは PC に接続可能なジョイスティックとゲームパッドのほとんどをサポートしています。

堅牢な Wi-Fi ネットワーク

Android 3.1 には堅牢な Wi-Fi 機能が追加され、ユーザーとアプリは自宅、職場、外出先で高速 Wi-Fi アクセスを最大限に活用できます。

新しい高性能 Wi-Fi ロックにより、デバイスの画面がオフの場合でも、アプリは高性能な Wi-Fi 接続を維持できます。ユーザーはこの機能を利用して、デバイスがアイドル状態で画面がオフの場合でも、音楽、動画、音声の連続ストリーミング サービスを長時間再生できます。

[設定] でアクセス ポイントをタップして長押しすることで、個々の Wi-Fi アクセス ポイントごとに HTTP プロキシを設定できるようになりました。ブラウザは、アクセス ポイント経由でネットワークと通信する際に HTTP プロキシを使用します。他のアプリも使用します。プラットフォームでは、ユーザー定義の IP とプロキシ設定のバックアップと復元も行えます。

プラットフォームは、優先ネットワーク オフロード(PNO)のサポートを追加します。これは、Wi-Fi を長時間連続して使用する必要がある場合に、バッテリーの電力を節約するバックグラウンド スキャン機能です。

標準アプリのセットを更新しました

Android 3.1 プラットフォームには、大画面デバイス向けに最適化された最新の標準アプリセットが含まれています。以下のセクションでは、いくつかの新機能について説明します。

図 3. ブラウザのクイック コントロール メニュー。

ブラウザ

ブラウザアプリにはさまざまな新機能が追加され、UI も改善されています。これにより、ウェブ コンテンツの表示がよりシンプル、迅速、便利になります。

ブラウザ設定からアクセスできるクイック コントロール UI が拡張され、再設計されました。ユーザーはコントロールを使用して、開いているタブのサムネイルを表示したり、アクティブなタブを閉じたりできます。また、オーバーフロー メニューにアクセスして設定やその他のコントロールにすばやくアクセスできるようになりました。

一貫した表示エクスペリエンスを確保するため、ブラウザでは、CSS 3D、アニメーション、CSS 固定位置などの一般的なウェブ標準のサポートを、モバイルまたはデスクトップのすべてのサイトに拡張しています。また、HTML5 動画コンテンツの埋め込み再生のサポートも追加されています。お気に入りのコンテンツを簡単に管理できるように、スタイル設定や画像を含め、ウェブページをオフラインで表示できるようにローカルに保存できるようになりました。Google サイトにアクセスする際の利便性を高めるため、改良された自動ログイン UI により、複数のユーザーがデバイスを共有している場合、ユーザーはすばやくログインし、アクセスを管理できます。

最適なパフォーマンスを実現するために、ブラウザではハードウェア アクセラレーテッド レンダリングを使用するプラグインのサポートが追加されています。ページのズームのパフォーマンスも大幅に改善され、ウェブページの移動と表示が高速になりました。

ギャラリー

ギャラリー アプリが画像転送プロトコル(PTP)をサポートするようになりました。これにより、ユーザーは 1 回タップするだけでカメラを USB 経由で接続し、写真をギャラリーにインポートできます。また、写真をローカル ストレージにコピーし、ユーザーが使用可能な容量を確認するためのインジケーターを提供します。

図 4.ホーム画面のウィジェットのサイズを変更できるようになりました。

カレンダー

カレンダーのグリッドがより大きくなって、読みやすくなり、タップ ターゲットの精度が向上しました。さらに、ユーザーはカレンダー リスト コントロールを非表示にして、グリッドの表示領域を大きくできます。日付選択ツールのデザインが一新され、見やすく使いやすくなりました。

連絡先

連絡帳アプリで全文検索を使用して、連絡先を簡単に見つけられるようになりました。Search では、連絡先に保存されているすべてのフィールドから一致する結果が返されます。

メール

HTML メッセージの返信または転送時に、メールアプリは書式なしテキストと HTML 本文の両方をマルチパート MIME メッセージとして送信するようになりました。これにより、メッセージはすべての受信者に対して適切にフォーマットされます。IMAP アカウントのフォルダ プレフィックスの定義と管理が簡単になりました。バッテリーの消費を抑え、モバイルデータの使用量を最小限に抑えるために、デバイスが Wi-Fi アクセス ポイントに接続されているときのみ、アプリはサーバーからメールをプリフェッチするようになりました。

ホーム画面ウィジェットが新しくなり、より多くのメールにすばやくアクセスできるようになりました。ウィジェットの上部にあるメールアイコンをタップして、[受信トレイ]、[未読]、[スター付き] などのラベルを切り替えることもできます。ウィジェット自体が、水平方向と垂直方向の両方でサイズ変更できるようになりました。

エンタープライズ サポート

ユーザーは、接続している Wi-Fi アクセス ポイントごとに HTTP プロキシを構成できるようになりました。 これにより、管理者はユーザーと連携して、プロキシのホスト名、ポート、バイパス サブドメインを設定できます。このプロキシ設定は、Wi-Fi アクセス ポイントが接続されたときにブラウザによって自動的に使用されます。また、必要に応じて他のアプリで使用されることもあります。これで、プロキシと IP 構成が、システムの更新とリセットの際にバックアップと復元されるようになりました。

タブレット ユーザーのニーズを満たすために、エミュレートされたストレージ カードと暗号化されたプライマリ ストレージを備えたデバイスで、「暗号化されたストレージ カード」のデバイス ポリシーを受け入れることができるようになりました。

デベロッパー向け新機能

Android 3.1 プラットフォームでは、デベロッパーが開発に使用できる改良と新機能が追加され、タブレットなどの大画面デバイスでパワフルで魅力的なアプリ エクスペリエンスを実現できます。

周辺機器とのリッチなインタラクションを実現する Open Accessory API

Android 3.1 には、ハードウェア アクセサリをプラットフォーム上で実行されるアプリと統合するための新しい API が導入されています。この API を使用すると、ロボット コントローラから音楽機器、エクササイズ用自転車まで、幅広い周辺機器とやり取りできます。

この API は、新しい USB(Universal Serial Bus)スタックとプラットフォームに組み込まれているサービスに基づいています。このプラットフォームは、接続されているハードウェアを検出して識別するサービスのほか、ハードウェアが使用可能であることを関連するアプリに通知するサービスを提供します。

ユーザーが USB アクセサリを接続すると、プラットフォームは製品名、アクセサリのタイプ、メーカー、バージョンなどの識別情報を受け取ります。プラットフォームはアクセサリとの通信をセットアップし、その情報を使用して対象アプリを通知して起動します(アプリが利用可能な場合)。必要に応じて、アクセサリでは、そのアクセサリで動作するアプリを見つけてダウンロードするための URL を指定できます。これらの検出機能により、ユーザーは初回セットアップを容易にし、接続されたハードウェアの操作に適切なアプリを使用できるようにします。

アプリケーション デベロッパーとアクセサリ メーカーは、アクセサリ モードにより、接続されたハードウェアでユーザーを惹きつけ、強力なインタラクション エクスペリエンスを構築するためのさまざまな新しい方法を提供します。

アクセサリを操作するアプリを開発する方法については、USB アクセサリのドキュメントをご覧ください。

USB ホスト API

Android 3.1 は、USB ホストモードの組み込みプラットフォーム サポートを提供し、接続されている周辺機器をアプリが管理できるようにする API を公開しています。ホストモードをサポートするデバイスでは、アプリケーションは API を使用して、オーディオ デバイス、入力デバイス、通信デバイス、ハブ、カメラなどの接続済みデバイスを識別して通信できます。

USB デバイスを操作するアプリケーションの開発方法について詳しくは、USB ホストのドキュメントをご覧ください。

マウス、ジョイスティック、ゲームパッドからの入力

Android 3.1 では入力イベント システムを拡張し、すべてのビューとウィンドウでさまざまな新しい入力ソースとモーション イベントをサポートしています。デベロッパーはこれらの機能を基盤として、ユーザーがキーボードやタッチスクリーンに加えて、マウス、トラックボール、ジョイスティック、ゲームパッド、その他のデバイスを使用してアプリを操作できるようにすることが可能です。

マウスとトラックボールの入力用に、プラットフォームは 2 つの新しいモーション イベント アクションをサポートしています。1 つはスクロール ホイールによるスクロール(水平方向または垂直方向)です。もう 1 つは、ボタンが押されていないときにマウスの位置をレポートするホバーです。アプリケーションは、これらのイベントを必要な方法で処理できます。

ジョイスティックとゲームパッドの場合、プラットフォームは、X、Y、Hat X、Hat Y、回転、スロットル、圧力、サイズ、タッチ、ツール、向きなど、特定の入力ソースからアプリで使用できる多数のモーション軸を提供します。デベロッパーは、必要に応じてカスタム軸を定義して、別の方法でモーションをキャプチャすることもできます。このプラットフォームは、モーション イベントをバッチとしてアプリに提供しています。アプリケーションは、バッチに含まれる動きの詳細をクエリして、イベントを効率的かつ正確に処理できます。

アプリケーションは、接続されている入力デバイスのリストと、各デバイスでサポートされているモーション範囲(軸)をクエリできます。また、アプリケーションは、1 つの入力デバイスからの複数の入力イベントとモーション イベントを処理することもできます。たとえば、1 つの入力デバイスからマウス、ジョイスティック、マウスのイベント ソースを使用できます。

サイズ変更可能なホーム画面ウィジェット

デベロッパーは、ユーザーが水平方向、垂直方向、またはその両方のサイズを変更できるホーム画面ウィジェットを作成できるようになりました。ウィジェットの宣言に属性を追加するだけで、ウィジェットを水平方向、垂直方向、またはその両方にサイズ変更できるようになります。これにより、ユーザーはウィジェット コンテンツの表示をカスタマイズし、ホーム画面により多くのコンテンツを表示できます。

外部カメラと統合するための MTP API

Android 3.1 では、新しい MTP(メディア転送プロトコル)API により、接続されたカメラやその他の PTP デバイスと直接やり取りするアプリを作成できます。新しい API を使用すると、デバイスの接続や取り外し時の通知の受信、デバイスのファイルやストレージの管理、ファイルとメタデータの転送が簡単にできるようになります。MTP API は、MTP 仕様の PTP(画像転送プロトコル)サブセットを実装しています。

RTP API: 音声ストリーミング セッションの制御用

Android 3.1 では、組み込みの RTP(リアルタイム トランスポート プロトコル)スタックに API が公開されています。アプリケーションはこのスタックを使用して、オンデマンドまたはインタラクティブなデータ ストリーミングを直接管理できます。特に、VOIP、プッシュツートーク、会議、音声ストリーミングを提供するアプリでは、この API を使用してセッションを開始し、利用可能なネットワーク上でデータ ストリームを送受信できます。

パフォーマンスの最適化

Android 3.1 には、アプリの速度と応答性を高めるためのさまざまなパフォーマンス最適化が含まれています。最適化には次のようなものがあります。

  • 新しい LRU キャッシュ クラスを使用すると、アプリケーションは効率的なキャッシュ保存のメリットを活用できます。アプリケーションでこのクラスを使用すると、キャッシュに保存されたデータの適切なメモリ フットプリントを維持しながら、ネットワークからのデータの計算やダウンロードに要する時間を短縮できます。
  • UI フレームワークが、ハードウェア アクセラレーションされている View の部分的な無効化をサポートするようになりました。これにより、View での描画操作がより効率的になります。
  • 新しいグラフィック メソッドである setHasAlpha() を使用すると、特定のビットマップが不透明であることをアプリで通知できます。これにより、一部のタイプのブリットのパフォーマンスがさらに向上し、ARRGB_8888 ビットマップを使用するアプリで特に役立ちます。