ソーシャルと共有のコミュニケーション機能
4.0は、人々の日常生活のために設計されたということで、開発者は、アプリにソーシャルと共有機能を拡張できます。アプリは、ユーザーのアクティビティやソーシャルネットワークのからコンタクト、プロフィールデータ、会話、電子メール、カレンダーのイベントを統合・共有できます。
【31】端末のソーシャル情報をつかさどる「ピープルアプリ」
システム全体で、ユーザーのソーシャルグループ、プロフィール、および連絡先が互いにリンクされており、簡単にアクセスできるように統合されています。中央に大型のプロフィール写真、電話番号、住所、アカウント、ステータスの更新、ソーシャルネットワークに接続するための「ピープルアプリ」があります。
ユーザー自身の連絡先情報は、アプリや人々と簡単に共有を可能にする、新しい「自分」プロファイルに格納されています。ユーザーのすべての連絡先は、管理が簡単になるよう、ソーシャルネットワークから統合されたコンタクトを含んだリストに表示されます。システム内のあらゆるところで、プロフィール写真をタップすると、電話番号へのショートカット、テキストメッセージ、その他が、クイックコンタクトとして表示されます。
【32】ソーシャルAPI
ソーシャルAPIを使用してアプリを構築することで、開発者は複数のソーシャルネットワークとコンタクトソースをまたぐことができます。
ソーシャルAPIは連絡先、プロフィールデータ、ステータスの更新、および写真のための新しい統一された領域を提供しています。任意のアプリまたはユーザー権限を持つソーシャルネットワークは、連絡先を提供し、他のアプリやネットワークからアクセスできます。ユーザー権限を持つアプリは、プロバイダからプロフィールデータを読み取って表示できます。
またソーシャルAPIは、標準のコンタクトデータだけではなく、大きなプロフィール写真と最近のアクティビティからのフィードバックを含む、任意の新しい種類のコンテンツを格納します。ユーザーが連絡先を呼び出したり、電子メールまたはSMSメッセージを送信するときに、共通のアクティビティとの接触を「タグ付け」するアプリも作れます。
ソーシャルプロバイダは、最も関連性の高いコンタクトが最上位を維持するように、名前自動補完のような方法で、最近のアクティビティのフィードバックを使えます。
またアプリは、「ピープルアプリ」から連絡先へのソーシャルな接続を設定できます。ユーザーが連絡先に接続の追加をタッチすると、アプリはソーシャル接続を作成するために必要なUIを表示し、他のアプリが扱える公共のIntentをブロードキャストします。
【33】メール機能の強化
4.0では、メールを作成する際に、送信先が自動補完されるので、迅速な検索や、よく使うコンタクトの追加の助けになります。頻繁に使用するテキストを簡単に入力するために、ユーザーはクイックレスポンスを作成でき、アプリ内に格納された便利なメニューから、それらを入力できます。メッセージに返信するときは、画面を変更することなく返信と転送を切り替えられます。
メールアプリには、アカウントやラベルをまたがってメールを閲覧するために便利な、統合メニューが追加されます。ユーザーが検索をしたり、IMAPやExchangeのメールを整理するために、ネストされたメールのサブフォルダや、それぞれの同期ルールもサポートしています。またユーザーは、より速く結果を得るために、サーバ上のフォルダも検索できます。
エンタープライズ活用のために、メールアプリはEAS v14をサポートしています。EAS v14はEAS証明書認証をサポートする端末のタイプとモード、ABQ文字列を提供し、ローミング中に自動同期を無効にできます。また、管理者は、添付ファイルのサイズを制限するか、添付ファイルを無効にできます。
サイズ変更可能になったメールのウィジェットは、ユーザーがホーム画面から最近のメールを閲覧でき、作成または返信するためにメールアプリを起動することもできます。
【34】カレンダーAPI
4.0のカレンダーアプリでは、プライベート、仕事、学校、ソーシャルなイベントを管理できます。ユーザーの承諾があれば、他のアプリでも、カレンダーにイベントを追加したりリマインダを管理したりでき、複数のカレンダープロバイダのビューを統合します。
アプリは、ユーザーがより簡単にイベントを管理できるように再設計されています。カレンダーは色分けされ、ユーザーは、左スワイプまたは右スワイプでイベントにズームインまたはズームアウトし、日付とピンチを変更できます。
共有されたカレンダーのコンテンツプロバイダとAPIは、開発者が自分のアプリにカレンダーサービスを追加することを容易にします。
ユーザーの権限で、任意のアプリが共有データベースにイベントを追加し、日付、参加者、アラート、および通知を管理できます。また、アプリは他のアプリによって追加されたイベントを含むデータベースからエントリを読み取って、イベントのアラートと通知ができます。
また、カレンダープロバイダを使用することで、アプリのさまざまなソース、イベントデータ、プロトコルを活用して、ユーザーのイベントを表示・管理できます。他のコンテンツと連携するためにカレンダーのデータを使うこともできます。
カレンダサービスを利用するには、カレンダーアプリが提供する、作成、表示、およびイベントを編集するためのIntentセットを使用します。これはカレンダーのUIを実装したり、カレンダープロバイダを直接統合する必要はなく、アプリは単にカレンダーのIntentをブロードキャストするだけです。
カレンダーアプリはIntentを受信すると、適切なUI、およびイベントのデータが入力された画面を起動します。カレンダーのIntentを使うと、リストやダイアログ、ホーム画面ウィジェットなどからアプリにイベントを追加できます。例えば、ユーザーが直接レストランの予約を行ったり、友人との待ち合わせ時間を設定するなどの機能が追加できます。
ストリーミング・動画などメディア制御機能
【35】新しいメディアコーデックとコンテナ
4.0では、サポートするメディアタイプが増え、開発者が必要とするフォーマットへのアクセスを提供するコンテナのサポートが追加されています。
高品質の圧縮画像として、WebPコンテンツのサポートがメディアのフレームワークに追加されています。動画の場合、VP8コンテンツのストリーミングをサポートしています。
マルチメディアストリーミングに関しては、HTTP Liveストリーミングプロトコルのバージョン3とADTS-contained AACのコンテンツのエンコーディングをサポートしています。さらに、VorbisとVP8コンテンツのためのMatroskaコンテナを使用できます。
【36】低レベルのマルチメディアストリーミング
4.0は低レベルのマルチメディアストリーミングのための直接的なパスを提供します。新しいパスは、プレゼンテーションのためのプラットフォームに渡す前に、メディアのデータを完全に制御する必要があるアプリに最適です。
例えば、メディアアプリでは現在、任意のソースからデータを取得し、独自の暗号化/復号を適用し、表示のためのプラットフォームにデータを送信できます。
アプリは、MPEG-2トランスポートストリーム形式のオーディオ/ビデオコンテンツの多重化ストリームとしてプラットフォームに処理されたデータを送信できます。プラットフォームでマルチプレクサ(Multiplexer)、デコーダ、コンテンツをレンダリングします。
ビデオトラックがSurfaceかSurfaceTextureのいずれかにレンダリングされる間、オーディオトラックは、アクティブなオーディオデバイスにレンダリングされます。SurfaceTextureにレンダリングする場合、アプリは、OpenGLを使用して各フレームに、後続のグラフィックス効果を適用できます。
この低レベルのストリーミングをサポートするために、プラットフォームはKhronos OpenMAX AL 1.0.1に基づいて新しいネイティブAPIが導入されています。APIは、プラットフォームの既存のOpenSL ES APIと同じ基本的なサービスに実装されており、必要に応じて、開発者が両方のAPIを同時に利用できます。低レベルのマルチメディアストリーミングのためのツールのサポートがAndroid NDKの今後のリリースで利用できるようになります。
【37】OpenGL ESテクスチャビュー
新しい「TextureView」オブジェクトにより、開発者はレンダリングターゲットのUI階層に直接OpenGL ESテクスチャを統合できます。このオブジェクトにより、UI階層内の通常のビューオブジェクトと同様に、必要に応じて動画、アニメーションを含むOpenGL ESレンダリングの表示と操作が行えます。
TextureViewオブジェクトは、カメラのプレビュー、デコードされた動画、OpenGLのゲームシーンなどを扱うのを簡単にします。TextureViewは、常に通常のビュー階層に完全に組み込まれているという優位性で、GLレンダリングするSurfaceへのアクセスと同等のメリットがあるため、既存のSurfaceViewオブジェクトより強力な表示が可能です。
【38】ハードウェアアクセラレーション2D描画
4.0が動作しているすべてのAndroid端末は、ハードウェアアクセラレーションによる2D描画をサポートします。開発者は、高解像度のスマートフォンの画面で最適なパフォーマンスの優れたUI効果を使用するために、この機能を利用できます。
例えば、開発者は2Dアクセラレーションによるスケーリングや回転などや、TextureViewなどのアクセラレーション化されたUIやフィルタリング、ブレンディング、透明化などを使用できます。
タッチ、リモコンなど多様な入力デバイス制御
【39】オーディオリモコン
4.0のメディアアプリでは、リモートビューに表示される再生コントロールとの統合を可能にする新しいオーディオリモコンAPIを使えます。メディアアプリは、ユーザーがロックを解除し、音楽アプリに移動しなくても、選曲や再生を制御できるように、プラットフォームのロック画面に組み込まれているリモートの音楽再生の制御と統合できます。
オーディオリモコンAPIを使用することで、あらゆる音楽やメディアアプリをリモコンからのメディアボタンイベントを受信するように登録し、再生状態を管理できます。また、アルバムアートや画像、再生状態、トラック番号と説明、期間、ジャンルのようなメタデータをリモコンに供給できます。
【40】スタイラス入力
4.0は傾きと距離軸、圧力とモーションイベントプロパティを含む完全なスタイラス入力イベントをサポートします。アプリが異なる入力ソースからのモーションイベントを見分けられるように、APIにはスタイラスや指、マウス、消しゴムのための異なるツールタイプが追加されました。
【41】ボタンサポート
マルチボタンポインティングデバイスから入力により、「戻る」や「進む」ボタンだけではなく、異なる第1優先、第2優先、第3優先ボタンを提供できます。
【42】ホバーイベント
開発者は、アプリの手書きジェスチャや手書き図形認識、マウス入力などに、ホバー開始とホバー終了イベントを使用可能です。
タブ機能とレンダリング力強化のWebブラウザ
【43】レンダリングスピードの向上
Android 4.0のWebブラウザはAndroid 2.3と比べ、特にページレンダリングのパフォーマンスが向上しています。改善具合に関しては以下の図を参照してください(Android 4.0とは関係ないですが、Nexus SとGalaxy Nexusでは、倍以上のパフォーマンスの違いが出ています)。
【44】タブブラウジング機能の強化
各ブラウザタブで表示されているWebサイトのために、別々の設定が行えます。長いコンテンツの場合、ユーザーはオフライン閲覧のためにコピーを保存できます。保存されたページを検索して開くには、ユーザーがWebブラウザのブックマークや履歴に含まれている視覚的なリストを参照できます。
優れた読みやすさやアクセシビリティを確保するために、ユーザーがブラウザのズームレベルを高め、システムのデフォルトのテキストサイズを上書きできます。
「共有」と画像や音声の「認識」が強化された4.0
Android 4.0の開発者向けのハイライトはいかがだったでしょうか。
最大の特徴であるスマートフォン向けとタブレット向けの機能のマージ以外に、見るべき点がたくさんあると思います。
顔認識エンジン、ライブエフェクトなどの派手な機能、アクセシビリティやテキストサービスなどの堅実な機能、オーディオリモコンやスタイラスなどの新しい入力デバイスのサポート、Androidビームなどの新しい概念により、今後ますます多種多様なアプリとサービスがAndroidプラットフォームに提供されることでしょう。
Android 4.0で登場した新機能についても、本連載で順次取り上げて紹介していく予定です。
- グーグルのAPIを使うときに欠かせないGoogle OAuthの作り方と使い方
- 細か過ぎて伝わってないけど開発者が知っておきたいAndroid Mの新機能まとめ
- 腕時計から電話をかけるAndroid Wearアプリの作り方
- Android Wear用アプリの花形、時計アプリ「Watch Face」の基本的な作り方
- Android 5.0発表&スマホと連動する音声認識Android Wearアプリの作り方
- ウェアラブル端末用Android Wearアプリ開発の基礎知識
- 変わらないと生き残れないAndroid Lの新機能まとめ
- Android WearやIoTで注目のAndroidセンサー機能8選
- ウェアラブル時代に見直したいAndroidの加速度/重力センサー、ジャイロスコープ
- あなたの知らないAndroid SDKの便利tools、14選まとめ
- Android 4.4のメモリ使用状況を把握する3つのツールの使い方
- Androidでリアルタイムマルチプレーゲームを開発するには
- 低性能端末でも使えるか? Android 4.4 KitKatの新機能39選
- もはや無料BaaS。ゲーム以外でも使いたくなるGoogle Play Game Servicesのデータ管理機能
- アプリにGoogle+のソーシャルグラフを持ち込めるGoogle Play Game Servicesの基礎知識
- あなたのアプリはクラウドにデータをバックアップできますか?
- Eclipse ADTに代わるIDEとなるか? Android Studioの基礎知識
- ActionBarで、アプリのUIはこんなにスマートになる
- Android 4.x時代のアプリにないと残念なActionBarとは
- 動的クラスローディングでAndroidアプリ“裏”開発
- Android 4.xのAndroidビームをアプリに組み込むには
- AndroidアプリでNFCタグを読み書きするための基礎知識
- 新タブレット時代を見据えるAndroid 4.2の新機能9選
- Androidからイヤフォンやヘルス機器とBluetooth通信するには
- Bluetoothを使ってAndroidアプリ同士で通信するには
- Androidアプリをアプリ内購読に対応してもうける方法
- 開発者が知らないと残念過ぎるAndroid 4.1の新機能36選
- Androidのプロセス間通信を自由自在にするAIDL
- Android 4.0のサービス/プロセス間通信の基本
- Androidアプリでマルチメディアを扱うための基礎知識
- Androidのウィジェットにノーティフィケーションするには
- Android 4.0で注目の顔認識をアプリに組み込むには
- Android 4.0でアプリ開発を始めるための環境構築
- 開発者が知らないと損するAndroid 4.0の新機能44選
- Android Compatibility packageで2.x系でもマルチサイズ対応
- Androidの画面の大きさの違いを解決するFragments
- Android 3.0の新APIで簡単ドラッグ&ドロップ実装
- 開発者が知って得するAndroid 2.3の新機能18選
- アニメーションでAndroidに独創的な画面エフェクトを
- Androidアプリで“アニメーション”するための基礎知識
- XMLレイアウトでAndroidアプリに“設定画面”を追加
- 開発者が知っておきたいAndroid 2.2の新機能12連発
- もはやケータイに必須のカメラをAndroidで制御しよう
- 地図/位置情報/GPSを使うAndroidアプリを作るには
- Android NDKでJNIを使用してアプリを高速化するには
- Android 2.1の新機能「Live Wallpaper」で作る、美しく燃える“待ち受け”
- iPhoneより多彩なAndroidのセンサをアプリで操作
- SurfaceViewならAndroidで高速描画ゲームが作れる
- Android 1.6のジェスチャーとテキスト読み上げを使う
- Androidのホーム画面に常駐するアプリを作るには
- Netbookにも広まるAndroidで、かつてないWeb体験を
- アプリを国際化してAndroid Marketから世界へ発信
- 常駐アプリが作成できるAndroidの“サービス”とは
- AndroidでSQLiteのDB操作をするための基礎知識
- Androidアプリの使いやすさを左右する5つのレイアウト
- 簡単でワクワクするAndroidウィジェット10連発!
- ブラウザや地図、ストリートビューの基、Intentとは?
- Androidアプリ作成の基本“Activity”とは何か?
- Android Market配布を目指しEclipseでHelloWorld!
Copyright © ITmedia, Inc. All Rights Reserved.