以下、本日公開の Android N デベロッパー プレビューに含まれる機能のうち、一部の代表的なものをご紹介します。機能は今後も追加されていく予定です。
マルチ ウィンドウ
N 以降を対象としたアプリでは
android:resizableActivity
と呼ばれる新しいマニフェスト属性が利用可能になります。この属性を true にセットすることで、スマートフォンやタブレットで
画面分割モードでアクティビティを起動する ことができるようになります。また、アクティビティの最低ディメンションを指定することで、ユーザーがそれより小さなサイズでアクティビティ画面を表示することがないように制限することができます。マルチ ウィンドウ環境でのライフサイクルの変更は、ランドスケープ モードからポートレート モードに切り替える場合と同様です。加えて、テレビのようなピクチャー イン ピクチャー モードにすることができるため、動画を再生するアプリにも対応できます。これを利用する場合は
android:supportsPictureInPicture
を true にセットしてください。
ダイレクト リプライ 通知
もともと Android Wear 向けに追加された
RemoteInput
notification API がスマートフォンやタブレットでも利用できるようになります。
RemoteInput
API を利用すれば、ユーザーは通知を離脱することなく、受信したメッセージに素早く、簡単に返信することができます。詳しくは
こちら をご覧ください。
通知のグループ化
N では
Notification.Builder.setGroup()
メソッドを使って、例えばメッセンジャー アプリの個別のメッセージのような、同じアプリからの通知をグループ化できるようになります。グループ化された通知は 2 本指ジェスチャーや拡大ボタンを押すことによって、個別の通知に展開することができます。詳しくは
こちら をご覧ください。
省電力化
待機中端末のバッテリー消費を抑えるため、Marshmallow において Doze モードを追加しました。N リリースにおける Doze モードは、さらにスクリーン オフ時のバッテリー消費も節約します。緊急度の高い通知に GCM の “High priority” メッセージを利用するなど、あなたのアプリが Doze モードに対応していれば追加で作業をする必要はありません。もしまだの場合は、
こちら から始めて下さい。また N リリースでは、より多くのデバイスでスムーズに動作するよう、
バックグラウンド作業の効率化 によって使用メモリ量を抑える Project Svelte への注力を引き続き行っています。バックグラウンド作業に JobScheduler を利用している場合には問題ありませんが、もし、そうではない場合にはこの機会に変更を行ってください。また、開発者の皆さんをさらにサポートするため、JobScheduler の機能を強化しました。コンテント プロバイダーの変更に対応する際などには
JobScheduler
を利用できるようになります。
Java 8 言語をサポート
Android に Java 8 言語機能を追加します。Android の
Jack compiler では、ラムダなどといった代表的な Java 8 機能の多くを使用することができ、Gingerbread までさかのぼった Android バージョンをサポートしています。新しい機能では、ボイラープレート コードを削減することができるようになります。たとえば、イベント リスナーを提供する際、ラムダで匿名の内部クラスを置き換えることが可能です。また、 デフォルトの静的メソッドや Stream、関数型インターフェースといった Java 8 言語機能も N 以降利用可能になります。Jack では、Java 言語のトラッキングをより密接に扱い、後方互換性を高めていく予定です。
プレビューを試すには
N デベロッパー プレビューには、正規版 Android エミュレーター、Nexus 6、Nexus 5X、Nexus 6P、Nexus Player、Nexus 9、Pixel C でのテスト用システム イメージを含むアップデート SDK が含まれています。
この最初のプレビュー リリースはデベロッパーのみなさまのみを対象にしたものであり、日常的な利用やエンドユーザーの利用を想定したものではありません。N デベロッパー プレビュー システム イメージは、当プレビュー プログラム期間中に随時更新される予定です。また、最終版が近付きましたら、エンドユーザーのみなさまにもお試し頂けるようにする予定です。
また今回は、新しい Android Beta Program を使うことで、お持ちの開発用端末で N リリースをテストすることがとても簡単になります。本日より、
g.co/androidbeta から お持ちの Android 端末を N デベロッパー プレビューにアップデートすれば、以後継続して Over-the-Air(OTA)経由で更新を受け取ることが可能です。
N デベロッパー プレビューについてより詳しくは
こちら をご覧ください。より多くのご意見・ご要望を取り込めるようにするためにも、ぜひお早めに作業の開始、および
フィードバックのご提供 をお願いいたします。
Posted by
Eiji Kitamura - Developer Relations Team
[この記事は Dave Burke, VP of Engineering による Android Developers Blog の記事 "First Preview of Android N: Developer APIs & Tools " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]
本日、次期 Android N のデベロッパー プレビューを公開しました。例年とは異なり、今年はプレビューを大幅に早くリリースしました。「Work in Progress」版の公開を前倒しすることで、開発者からのフィードバックを取り込む時間をより多くするためです。またこれにより、今年の夏には端末メーカーに最終リリースを提供することが可能になるため、今まで以上に早く、最新の Android を搭載する新端末の開発をスタートできます。N リリースおよび新端末へ向けた、アプリ開発者の皆さまからのフィードバックをお待ちしております。
以下、本日公開の Android N デベロッパー プレビューに含まれる機能のうち、一部の代表的なものをご紹介します。機能は今後も追加されていく予定です。
マルチ ウィンドウ
N 以降を対象としたアプリでは android:resizableActivity
と呼ばれる新しいマニフェスト属性が利用可能になります。この属性を true にセットすることで、スマートフォンやタブレットで画面分割モードでアクティビティを起動する ことができるようになります。また、アクティビティの最低ディメンションを指定することで、ユーザーがそれより小さなサイズでアクティビティ画面を表示することがないように制限することができます。マルチ ウィンドウ環境でのライフサイクルの変更は、ランドスケープ モードからポートレート モードに切り替える場合と同様です。加えて、テレビのようなピクチャー イン ピクチャー モードにすることができるため、動画を再生するアプリにも対応できます。これを利用する場合は android:supportsPictureInPicture
を true にセットしてください。
ダイレクト リプライ 通知
もともと Android Wear 向けに追加された RemoteInput
notification API がスマートフォンやタブレットでも利用できるようになります。RemoteInput
API を利用すれば、ユーザーは通知を離脱することなく、受信したメッセージに素早く、簡単に返信することができます。詳しくはこちら をご覧ください。
通知のグループ化
N では Notification.Builder.setGroup()
メソッドを使って、例えばメッセンジャー アプリの個別のメッセージのような、同じアプリからの通知をグループ化できるようになります。グループ化された通知は 2 本指ジェスチャーや拡大ボタンを押すことによって、個別の通知に展開することができます。詳しくはこちら をご覧ください。
省電力化
待機中端末のバッテリー消費を抑えるため、Marshmallow において Doze モードを追加しました。N リリースにおける Doze モードは、さらにスクリーン オフ時のバッテリー消費も節約します。緊急度の高い通知に GCM の “High priority” メッセージを利用するなど、あなたのアプリが Doze モードに対応していれば追加で作業をする必要はありません。もしまだの場合は、こちら から始めて下さい。また N リリースでは、より多くのデバイスでスムーズに動作するよう、バックグラウンド作業の効率化 によって使用メモリ量を抑える Project Svelte への注力を引き続き行っています。バックグラウンド作業に JobScheduler を利用している場合には問題ありませんが、もし、そうではない場合にはこの機会に変更を行ってください。また、開発者の皆さんをさらにサポートするため、JobScheduler の機能を強化しました。コンテント プロバイダーの変更に対応する際などには JobScheduler
を利用できるようになります。
Java 8 言語をサポート
Android に Java 8 言語機能を追加します。Android の Jack compiler では、ラムダなどといった代表的な Java 8 機能の多くを使用することができ、Gingerbread までさかのぼった Android バージョンをサポートしています。新しい機能では、ボイラープレート コードを削減することができるようになります。たとえば、イベント リスナーを提供する際、ラムダで匿名の内部クラスを置き換えることが可能です。また、 デフォルトの静的メソッドや Stream、関数型インターフェースといった Java 8 言語機能も N 以降利用可能になります。Jack では、Java 言語のトラッキングをより密接に扱い、後方互換性を高めていく予定です。
プレビューを試すには
N デベロッパー プレビューには、正規版 Android エミュレーター、Nexus 6、Nexus 5X、Nexus 6P、Nexus Player、Nexus 9、Pixel C でのテスト用システム イメージを含むアップデート SDK が含まれています。
この最初のプレビュー リリースはデベロッパーのみなさまのみを対象にしたものであり、日常的な利用やエンドユーザーの利用を想定したものではありません。N デベロッパー プレビュー システム イメージは、当プレビュー プログラム期間中に随時更新される予定です。また、最終版が近付きましたら、エンドユーザーのみなさまにもお試し頂けるようにする予定です。
また今回は、新しい Android Beta Program を使うことで、お持ちの開発用端末で N リリースをテストすることがとても簡単になります。本日より、g.co/androidbeta から お持ちの Android 端末を N デベロッパー プレビューにアップデートすれば、以後継続して Over-the-Air(OTA)経由で更新を受け取ることが可能です。
N デベロッパー プレビューについてより詳しくはこちら をご覧ください。より多くのご意見・ご要望を取り込めるようにするためにも、ぜひお早めに作業の開始、およびフィードバックのご提供 をお願いいたします。
Posted by Eiji Kitamura - Developer Relations Team