Android 4.4 Kitkat詳細(開発者向けハイライト・その2)

原文:Android KitKat  |  Android Developers

ストレージアクセスフレームワーク


新しいストレージアクセスフレームワークは、ユーザーが推奨されているドキュメントストレージプロパイダーの全てでドキュメント・画像・その他のファイルを閲覧、開くことが簡単になります。標準の利用しやすいUIは、ユーザーにアプリやプロバイダーを一貫した方法で、ファイルや最近のアクセスを閲覧させます。

クラウドやローカルストレージサービスは、サービスをカプセル化する新しいドキュメントプロバイダークラスを実装することによって、このエコシステムに関わることができます。プロバイダークラスには、プロバイダーをシステムに登録し、プロバイダーでドキュメントを閲覧、読み込み、書き込みに使う、必要とされるAPIの全てがあります。ドキュメントプロバイダーは、テキスト、写真、壁紙からビデオ、オーディオ、その他色々まで、ファイルとして表されることができるどんなリモートデータ・ローカルデータでもユーザーが利用できる機会を与えます。

クラウドもしくはローカルサービスに対してドキュメントプロバイダーを構築するなら、存在するアンドロイドアプリの一部として、ユーザーへ配信できます。アプリをダウンロードそしてインストールした後、ユーザーはフレームワークを共有するあらゆるアプリからサービスに、すぐにアクセスできるでしょう。ユーザーがより簡単にあなたのサービスを見つけやすくできます。

ファイルやドキュメントを管理するクライアントアプリを開発するなら、ファイルを開いたり作るときに、新しいCREATE_DOCUMENTもしくはOPEN_DOCUMENTインテントを使うことで、ストレージアクセスフレームワークを一体化させることができます。そのシステムはドキュメントプロバイダーを全て使用することも含め、自動的にドキュメントを閲覧するための標準UIを表示します。

ベンダー独自のコードなしで、全てのプロバイダー用に、クライアントアプリを一回統合できます。ユーザーはプロバイダーを追加または削除するにつれて、コードで必要とされる変更もしくは更新なしで、アプリから推奨されるサービスにアクセスし続けられるでしょう

ストレージアクセスフレームワークは、存在するGET_CONTENTインテントと統合されます。そして、ユーザーもまた閲覧するための新しいシステムUIから以前の内容もしくはデータソースの全てにアクセスします。データをユーザーに取りこませる手段として、アプリはGET_CONTENTを使用し続けます。ストレージアクセスフレームワークと閲覧するためのシステムUIは 広範囲のソースの領域から、のデータを見つけ取り込むことを、ユーザーにとって簡単にさせます。

ほとんどのAndroid4.4が動作するデバイスには、グーグルドライブとドキュメントプロバイダーとしてのあらかじめ統合されたローカルストレージが含まれており、ファイルと連携するグーグルアプリもまた新しいフレームワークを使います。

低電力センサー

センサーバッチ処理

Android 4.4はハードウェアセンサーの一括処理を行うためのプラットフォームのサポートが導入されました。劇的に起動中のセンサーによって消費される電力を削減する事ができます。

センサーバッチ処理では、Androidバッチ処理で効率的にセンサーイベントを収集、提供するために、デバイスのハードウェアで動作します。これはバッチ処理が配信されるまで、デバイスのアプリケーションプロセッサが低電力アイドル状態に留まることができます。

あなたは、標準的なイベントリスナーを使用して、任意のセンサーからバッチイベントを要求することができます、そしてあなたはバッチを受信する間隔を制御することができます。また、バッチサイクル間のイベントの即時配信を要求することができます。

センサーバッチ処理は、フィットネス、位置追跡、監視、および多くのような低消費電力、長時間実行されているユースケースに最適です。それはあなたのアプリケーションがより効率的にすることができ、継続的にセンサーのイベントを追跡することができます。-- 画面がオフになっている間、システムが眠っている間も。

センサーバッチ処理は現在Nexus 5 利用可能です。我々はできるだけ早く、より多くのデバイスに搭載するためにチップセットのパートナーと協力しています。

歩行検知 と 歩数計




Android 4.4 には2つの新しい複合センサー用のプラットフォームのサポートが追加されます。- 歩行検知と歩数計 - ユーザーがウォーキングランニング、または階段を登っているときにあなたのアプリケーションで歩みを検知してみましょう。これらの新しいセンサーは、低電力化のためにハードウェアに実装されています。

歩行検知は、ユーザが一歩を踏み出した事を認識するために加速度計入力を解析して、その後、一歩一歩でイベントをトリガします。歩数計は、最後のデバイスのリブート以降の歩数の合計数を追跡し、歩数の変化でイベントをトリガします。ロジックとセンサ管理、プラットフォームおよび基礎となるハードウェアに組み込まれているので、 あなたのアプリで、独自の検出アルゴリズムを実現する必要はありません。

歩行検知と歩数計Nexus 5で利用可能です。我々はできるだけ早く、新しいデバイスに搭載するためにチップセットのパートナーと協力しています。

SMSプロバイダ

もしSMSやMMSを利用するアプリケーションを開発する場合は、共有SMSプロバイダ および 新しいAPIをアプリケーションのメッセージストレージおよび検索の為に使用することができます。新しいSMSプロバイダと新APIは全てのSMSおよびMMSアプリケーションをハンドルする標準的なインターアクションモデルとして定義されています。

新しいプロバイダおよびAPIに沿ったAndroid 4.4は、新プロバイダ用のメッセージ受信・書き込み用の新セマンティックスを紹介しています。メッセージを受信した際、システムはそれを直接ユーザのデフォルトに設定されているSMS_DELIVERインテントを使用しているアプリケーションに送ります。

また、システムはデフォルトのアプリケーションのみに、プロバイダにメッセージデータを書き込むことを許容します。しかしながら、他のアプリケーションからでも読み込みは常に可能です。ユーザーがデフォルトと設定していないアプリケーションもメッセージを送信することが可能です。システムがメッセージの書き込みを、プロバイダがアプリの代理としてハンドリングし、ユーザはそれをデフォルトのアプリケーションで見ることができます。

新プロバイダとセマンティクスは、複数のメッセージングアプリケーションがインストールされていたときにユーザエクスペリエンスを向上させ、フルサポート、フォワードコンパチブルAPIといった新しいメッセージング機能を組み立てるのを助けてくれるでしょう。

美しいアプリケーションを構築するための新しい方法

フルスクリーン没入モード


今、あなたのアプリはデバイスの画面上のすべてのピクセルを使用してコンテンツを表示したり、タッチイベントをキャプチャすることができます。Android4.4を使用すると、、携帯電話やタブレットで端から端まで達する、ステータスバーやナビゲーションバーなど、すべてのシステムのUIを非表示にした、フルブリードUIを作成できる新しいフルスクリーン没入モードが追加されます。それは、そのような写真、ビデオ、地図、書籍、ゲームなどの豊富なビジュアルコンテンツのために理想的です。

新しいモードでは、ユーザーがアプリやゲームと対話している間でも、システムのUIは、隠されたままです - システムバーによって占有される領域であっても、画面上のどこからでもタッチイベントをキャプチャすることができます。これは、あなたのアプリやゲームが大きく、よりリッチで没入型のUIを作成し、視覚的な散漫を軽減するための素晴らしい方法を提供します。

ユーザーがフルスクリーン没入モードからシステムUIへの一貫したアクセスを容易に行えるように、Android4.4は新しいジェスチャーをサポートしています。-没入モードでは、画面の上部または下部の端をスワイプすると、システムUIが表示されます。

バーの外側をタッチするか、自動的に非表示されるまで短時間待つことで没入モードに戻ります。一貫したユーザーエクスペリエンスのために、新しいジェスチャーもまたステータスバーを隠す従来の方法でも動作します。

アニメーションシーン遷移フレームワーク

ほとんどのアプリケーションが異なった動作を現すいくつかの主要なUI周りで、それらのフローを構造化します。多くのアプリケーションが、進捗状態及びその時に可能なアクションをユーザーが理解するのを助ける為にアニメーションを使用します。あなたのアプリに高品質なアニメーションをより簡単に作成することができるように、Android4.4は新しい遷移フレームワークを導入します。

遷移フレームワークを使用すると、ユーザーがそれらを開始または終了した時に、シーンをアニメーション化または変換する方法を説明する一般的な表示階層や推移について、あなたがシーンを定義出来ます。
このようなレイアウトの境界、または可視性などの特定の特性に基づいてあなたのシーンをアニメーション化するいくつかの定義済みのトランジションタイプを使用することができます。自動トランジションタイプは、シーンチェンジ時に自動的にフェード、移動し、サイズを変更します。また、あなたは、あなたのアプリケーションに最も重要なプロパティをアニメーション化するカスタムトランジションを定義することができます。必要に応じて、あなた自身のアニメーションのスタイルでプラグインすることができます。

遷移フレームワークを使用すると、シーンを定義することなく、その場であなたのUIの変更をアニメーション化することができます。例えば、トランジションマネージャに表示階層への一連の変更を実行し、次に遅れた遷移をそれらの変化に自動的に実行させることができます。

あなたはトランジションを設定したら、アプリから簡単にそれらを呼び出すことができます。たとえば、あなたの表示階層内の様々な変更を行い、移行を開始するために単一のメソッドを呼び出すことができ、次のフレームのアニメーションで自動的に指定された変更がアニメーション化されます。

独自のアプリケーションフローでの特定のシーンとシーンの遷移のカスタムコントロールの為にTransitionManagerを使用することが出来ます。TransitionManagerは、あなたがシーンと特定のシーンの変更を実行する遷移の間の関係を定義することができます。

半透明のシステムUIスタイリング


あなたのコンテンツに最大のインパクトを与える為、半透明のシステムUIを用性する為、最新のウィンドウのスタイルとテーマを使うことができます。ナビゲーションバーまたはステータスバーの情報を読みやすくする為に、絶妙なグラデーションをシステムバーの背景に表示します。典型的な使用例としては、壁紙が透けて見える必要のあるアプリです。

強化された通知のアクセス

通知リスナーサービスは、通知ビルダーAPIを使用して構築された着信通知の詳細情報を参照することができます。リスナーサービスは、通知の行動だけでなく、新たなエクストラフィールドにアクセスすることができます。 - テキスト、アイコン、画像、進歩、クロノメーター、その他諸々 - 通知に関するきれいな情報を抽出し、別の方法で情報を提示します。

Chromium WebView


Android4.4は、完全に新しいChromiumベースのWebViewが実装されています。新しいChromium WebViewは、標準のサポート、パフォーマンス、およびWebベースのコンテンツを作成および表示するための互換性の最新情報を提供します。Chromium WebViewは、HTML5、CSS3、およびJavaScriptのための広範なサポートを提供します。これは、Chrome for Android 30で利用できるHTML5の機能のほとんどをサポートしています。また、JavaScriptエンジン(V8)の更新版をもたらし、それが劇的に改善されたJavaScriptのパフォーマンスを提供します。

さらに、Chromium WebViewはChrome DevToolsを使用してリモートデバッグをサポートしています。例えば、開発マシン上でChrome DevToolsを使用し、検査、デバッグや解析を実際の端末のWebView上で行うことができます。

新しいChromium WebViewは、Android4.4以降を実行するすべての互換性のあるデバイスに含まれています。あなたは、既存のアプリケーションやコンテンツへの最小限の変更で、すぐに新しいWebViewを活用することができます。ほとんどの場合、あなたのコンテンツがシームレスに新しい実装に移行します。

Except as noted, this content is licensed under Creative Commons Attribution 2.5. For details and restrictions, see the Content License.