4.0は、人々の日常生活のために設計されたということで、開発者は、アプリにソーシャルと共有機能を拡張できます。アプリは、ユーザーのアクティビティやソーシャルネットワークのからコンタクト、プロフィールデータ、会話、電子メール、カレンダーのイベントを統合・共有できます。
システム全体で、ユーザーのソーシャルグループ、プロフィール、および連絡先が互いにリンクされており、簡単にアクセスできるように統合されています。中央に大型のプロフィール写真、電話番号、住所、アカウント、ステータスの更新、ソーシャルネットワークに接続するための「ピープルアプリ」があります。
ユーザー自身の連絡先情報は、アプリや人々と簡単に共有を可能にする、新しい「自分」プロファイルに格納されています。ユーザーのすべての連絡先は、管理が簡単になるよう、ソーシャルネットワークから統合されたコンタクトを含んだリストに表示されます。システム内のあらゆるところで、プロフィール写真をタップすると、電話番号へのショートカット、テキストメッセージ、その他が、クイックコンタクトとして表示されます。
ソーシャルAPIを使用してアプリを構築することで、開発者は複数のソーシャルネットワークとコンタクトソースをまたぐことができます。
ソーシャルAPIは連絡先、プロフィールデータ、ステータスの更新、および写真のための新しい統一された領域を提供しています。任意のアプリまたはユーザー権限を持つソーシャルネットワークは、連絡先を提供し、他のアプリやネットワークからアクセスできます。ユーザー権限を持つアプリは、プロバイダからプロフィールデータを読み取って表示できます。
またソーシャルAPIは、標準のコンタクトデータだけではなく、大きなプロフィール写真と最近のアクティビティからのフィードバックを含む、任意の新しい種類のコンテンツを格納します。ユーザーが連絡先を呼び出したり、電子メールまたはSMSメッセージを送信するときに、共通のアクティビティとの接触を「タグ付け」するアプリも作れます。
ソーシャルプロバイダは、最も関連性の高いコンタクトが最上位を維持するように、名前自動補完のような方法で、最近のアクティビティのフィードバックを使えます。
またアプリは、「ピープルアプリ」から連絡先へのソーシャルな接続を設定できます。ユーザーが連絡先に接続の追加をタッチすると、アプリはソーシャル接続を作成するために必要なUIを表示し、他のアプリが扱える公共のIntentをブロードキャストします。
4.0では、メールを作成する際に、送信先が自動補完されるので、迅速な検索や、よく使うコンタクトの追加の助けになります。頻繁に使用するテキストを簡単に入力するために、ユーザーはクイックレスポンスを作成でき、アプリ内に格納された便利なメニューから、それらを入力できます。メッセージに返信するときは、画面を変更することなく返信と転送を切り替えられます。
メールアプリには、アカウントやラベルをまたがってメールを閲覧するために便利な、統合メニューが追加されます。ユーザーが検索をしたり、IMAPやExchangeのメールを整理するために、ネストされたメールのサブフォルダや、それぞれの同期ルールもサポートしています。またユーザーは、より速く結果を得るために、サーバ上のフォルダも検索できます。
エンタープライズ活用のために、メールアプリはEAS v14をサポートしています。EAS v14はEAS証明書認証をサポートする端末のタイプとモード、ABQ文字列を提供し、ローミング中に自動同期を無効にできます。また、管理者は、添付ファイルのサイズを制限するか、添付ファイルを無効にできます。
サイズ変更可能になったメールのウィジェットは、ユーザーがホーム画面から最近のメールを閲覧でき、作成または返信するためにメールアプリを起動することもできます。
4.0のカレンダーアプリでは、プライベート、仕事、学校、ソーシャルなイベントを管理できます。ユーザーの承諾があれば、他のアプリでも、カレンダーにイベントを追加したりリマインダを管理したりでき、複数のカレンダープロバイダのビューを統合します。
アプリは、ユーザーがより簡単にイベントを管理できるように再設計されています。カレンダーは色分けされ、ユーザーは、左スワイプまたは右スワイプでイベントにズームインまたはズームアウトし、日付とピンチを変更できます。
共有されたカレンダーのコンテンツプロバイダとAPIは、開発者が自分のアプリにカレンダーサービスを追加することを容易にします。
ユーザーの権限で、任意のアプリが共有データベースにイベントを追加し、日付、参加者、アラート、および通知を管理できます。また、アプリは他のアプリによって追加されたイベントを含むデータベースからエントリを読み取って、イベントのアラートと通知ができます。
また、カレンダープロバイダを使用することで、アプリのさまざまなソース、イベントデータ、プロトコルを活用して、ユーザーのイベントを表示・管理できます。他のコンテンツと連携するためにカレンダーのデータを使うこともできます。
カレンダサービスを利用するには、カレンダーアプリが提供する、作成、表示、およびイベントを編集するためのIntentセットを使用します。これはカレンダーのUIを実装したり、カレンダープロバイダを直接統合する必要はなく、アプリは単にカレンダーのIntentをブロードキャストするだけです。
カレンダーアプリはIntentを受信すると、適切なUI、およびイベントのデータが入力された画面を起動します。カレンダーのIntentを使うと、リストやダイアログ、ホーム画面ウィジェットなどからアプリにイベントを追加できます。例えば、ユーザーが直接レストランの予約を行ったり、友人との待ち合わせ時間を設定するなどの機能が追加できます。
4.0では、サポートするメディアタイプが増え、開発者が必要とするフォーマットへのアクセスを提供するコンテナのサポートが追加されています。
高品質の圧縮画像として、WebPコンテンツのサポートがメディアのフレームワークに追加されています。動画の場合、VP8コンテンツのストリーミングをサポートしています。
マルチメディアストリーミングに関しては、HTTP Liveストリーミングプロトコルのバージョン3とADTS-contained AACのコンテンツのエンコーディングをサポートしています。さらに、VorbisとVP8コンテンツのためのMatroskaコンテナを使用できます。
4.0は低レベルのマルチメディアストリーミングのための直接的なパスを提供します。新しいパスは、プレゼンテーションのためのプラットフォームに渡す前に、メディアのデータを完全に制御する必要があるアプリに最適です。
例えば、メディアアプリでは現在、任意のソースからデータを取得し、独自の暗号化/復号を適用し、表示のためのプラットフォームにデータを送信できます。
アプリは、MPEG-2トランスポートストリーム形式のオーディオ/ビデオコンテンツの多重化ストリームとしてプラットフォームに処理されたデータを送信できます。プラットフォームでマルチプレクサ(Multiplexer)、デコーダ、コンテンツをレンダリングします。
ビデオトラックがSurfaceかSurfaceTextureのいずれかにレンダリングされる間、オーディオトラックは、アクティブなオーディオデバイスにレンダリングされます。SurfaceTextureにレンダリングする場合、アプリは、OpenGLを使用して各フレームに、後続のグラフィックス効果を適用できます。
この低レベルのストリーミングをサポートするために、プラットフォームはKhronos OpenMAX AL 1.0.1に基づいて新しいネイティブAPIが導入されています。APIは、プラットフォームの既存のOpenSL ES APIと同じ基本的なサービスに実装されており、必要に応じて、開発者が両方のAPIを同時に利用できます。低レベルのマルチメディアストリーミングのためのツールのサポートがAndroid NDKの今後のリリースで利用できるようになります。
新しい「TextureView」オブジェクトにより、開発者はレンダリングターゲットのUI階層に直接OpenGL ESテクスチャを統合できます。このオブジェクトにより、UI階層内の通常のビューオブジェクトと同様に、必要に応じて動画、アニメーションを含むOpenGL ESレンダリングの表示と操作が行えます。
TextureViewオブジェクトは、カメラのプレビュー、デコードされた動画、OpenGLのゲームシーンなどを扱うのを簡単にします。TextureViewは、常に通常のビュー階層に完全に組み込まれているという優位性で、GLレンダリングするSurfaceへのアクセスと同等のメリットがあるため、既存のSurfaceViewオブジェクトより強力な表示が可能です。
4.0が動作しているすべてのAndroid端末は、ハードウェアアクセラレーションによる2D描画をサポートします。開発者は、高解像度のスマートフォンの画面で最適なパフォーマンスの優れたUI効果を使用するために、この機能を利用できます。
例えば、開発者は2Dアクセラレーションによるスケーリングや回転などや、TextureViewなどのアクセラレーション化されたUIやフィルタリング、ブレンディング、透明化などを使用できます。
4.0のメディアアプリでは、リモートビューに表示される再生コントロールとの統合を可能にする新しいオーディオリモコンAPIを使えます。メディアアプリは、ユーザーがロックを解除し、音楽アプリに移動しなくても、選曲や再生を制御できるように、プラットフォームのロック画面に組み込まれているリモートの音楽再生の制御と統合できます。
オーディオリモコンAPIを使用することで、あらゆる音楽やメディアアプリをリモコンからのメディアボタンイベントを受信するように登録し、再生状態を管理できます。また、アルバムアートや画像、再生状態、トラック番号と説明、期間、ジャンルのようなメタデータをリモコンに供給できます。
4.0は傾きと距離軸、圧力とモーションイベントプロパティを含む完全なスタイラス入力イベントをサポートします。アプリが異なる入力ソースからのモーションイベントを見分けられるように、APIにはスタイラスや指、マウス、消しゴムのための異なるツールタイプが追加されました。
マルチボタンポインティングデバイスから入力により、「戻る」や「進む」ボタンだけではなく、異なる第1優先、第2優先、第3優先ボタンを提供できます。
開発者は、アプリの手書きジェスチャや手書き図形認識、マウス入力などに、ホバー開始とホバー終了イベントを使用可能です。
Android 4.0のWebブラウザはAndroid 2.3と比べ、特にページレンダリングのパフォーマンスが向上しています。改善具合に関しては以下の図を参照してください(Android 4.0とは関係ないですが、Nexus SとGalaxy Nexusでは、倍以上のパフォーマンスの違いが出ています)。
各ブラウザタブで表示されているWebサイトのために、別々の設定が行えます。長いコンテンツの場合、ユーザーはオフライン閲覧のためにコピーを保存できます。保存されたページを検索して開くには、ユーザーがWebブラウザのブックマークや履歴に含まれている視覚的なリストを参照できます。
優れた読みやすさやアクセシビリティを確保するために、ユーザーがブラウザのズームレベルを高め、システムのデフォルトのテキストサイズを上書きできます。
Android 4.0の開発者向けのハイライトはいかがだったでしょうか。
最大の特徴であるスマートフォン向けとタブレット向けの機能のマージ以外に、見るべき点がたくさんあると思います。
顔認識エンジン、ライブエフェクトなどの派手な機能、アクセシビリティやテキストサービスなどの堅実な機能、オーディオリモコンやスタイラスなどの新しい入力デバイスのサポート、Androidビームなどの新しい概念により、今後ますます多種多様なアプリとサービスがAndroidプラットフォームに提供されることでしょう。
Android 4.0で登場した新機能についても、本連載で順次取り上げて紹介していく予定です。
Copyright © ITmedia, Inc. All Rights Reserved.