開発者向けAndroid Q:知っておくべきことすべて

著者: Louise Ward
作成日: 9 2月 2021
更新日: 2 J 2024
Anonim
Android 11 Meetups 第1回:Android 11 の概要 #Android11Meetup
ビデオ: Android 11 Meetups 第1回:Android 11 の概要 #Android11Meetup

コンテンツ


ユーザーの観点から見ると、通常、Androidの新しいバージョンは刺激的な時期です。特定のUI要素が気に入らない場合を除き、通常はパフォーマンスの向上、安定性の向上、多数の新機能を意味します。

また読む: 知っておくべきトップのAndroid Q機能

開発者にとって、Android Qのようなアップデートはより複雑な感情をもたらす傾向があります。これらの新機能は依然として良いニュースであり、アプリでより面白く強力な機能を使用できる可能性があります。同時に、プロジェクトが新しいプラットフォームをサポートし、その仕様を満たすだけでなく、最高のエクスペリエンスを提供するために最適化されるように急いでいるため、変更は多くの作業を表しています。

そのため、この投稿は、開発者が留意すべき重要な変更と開発のすべてを共有することにより、あなたがスピードを上げるのに役立ちます。

現在、これにはベータ6までのすべての新しい開発が含まれます。これはおそらく、最終リリースの前にこの投稿を更新する最後の機会です。

開発者向けAndroid Qの概要–本当に知っておくべきこと

知っておくべきことは次のとおりです。

  • 新しい場所の許可が必要になります。
  • マルチレジュームのサポートにはマニフェストの変更が必要です。
  • スコープストレージは、外部ストレージ上のファイルの保存およびアクセス方法を変更します。
  • ロケーションのスキャンには、FINEロケーションが必要になりました。
  • IMEIなどの情報は現在制限されています。
  • バックグラウンドアプリは、フォアグラウンドアクティビティを起動できなくなりました。
  • Android Qと厳密に関連しているわけではありませんが、アプリアイコンの新しい仕様が導入されています。
  • 同様に、今年後半には、開発者は最低限Android Pieをサポートする必要があります。遵守しない場合、アプリに警告が表示されます。
  • そして、すべてのアプリは、年末までに64ビットバージョンを提供する必要があります。
  • 新しいシステムジェスチャナビゲーションは、アプリのUIに影響を与える可能性があります。

あなたが興味を持っているかもしれないいくつかのクールな新機能は次のとおりです。


  • マルチレジュームにより、より強力なマルチタスクが可能になります。
  • Android 3.5 Canaryリリースチャネルを介して、エミュレータの変更をテストできます。
  • 開発者は深度センサーからより多くのデータにアクセスできるようになりました。
  • 開発者はダークテーマのサポートを選択できます。
  • 高性能で低遅延のWiFiモードが利用可能です。
  • TextClassifierを使用すると、開発者はテキストの言語を識別できます。
  • MicrophoneDIrection APIを使用すると、録音時にマイクの方向を選択できます。
  • バブルは、より簡単なマルチタスクと豊富な通知を可能にします。
  • メディアコーデックのサポートの強化。
  • ショートカットを共有すると、アプリからメディアを簡単に共有できます。
  • クイック設定により、現在のアプリに関連する設定に簡単にアクセスできます。
  • Vulkanのサポートは強くプッシュされています。
  • より多くのニューラルネットワーク操作。
  • Androidランタイムの改善により、アプリのランチが速くなります(理論上)。

これらすべての詳細とマイナーな変更については、読み続けてください。また、今すぐAndroid Qでアプリのテストを開始する方法についても説明します。

場所のアクセス許可でセキュリティオプションが改善される

Androidの各新しいイテレーションには、ユーザーにより安全でプライベートなエクスペリエンスを提供するように設計された新しい機能が搭載されています。今回は、位置情報をより詳細に制御できるようになりました。以前は、ユーザーはホールセールデータへのアクセスを許可または拒否できました。今回は、フォアグラウンドで実行されているときに、アプリの使用中にのみそのデータを提供する3番目のオプションを選択できます。


これは、ユーザーが「監視」したくないためにアプリのインストールを完全に拒否しないことを意味しますが、バックグラウンドの場所の許可に使用される文言は少し気まずいかもしれません:

「アプリにこのデバイスの位置情報へのアクセスを許可する いつも?

痛い!

どのように感じても、いくつかの変更を加える必要があります。具体的には、Qを対象とする開発者は、アプリマニフェストに次の行を追加する必要があります:android.permission.ACCESS_BACKGROUND_LOCATION。

古いアプリがある場合、AndroidはデフォルトでACCESS_FINE_LOCATIONまたはACCESS_COARSE_LOCATIONに加えてこの許可を追加します。

この設定方法の詳細については、Googleからこちらをご覧ください。

スコープストレージは、外部ファイルへのアクセス方法を変更します

プライバシーの問題については、ユーザーはREAD_EXTERNAL_STORAGEとWRITE_EXTERNAL_STORAGEに代わる新しいランタイムアクセス許可を使用して、写真、ビデオ、およびオーディオフォルダー内の共有ファイルへのアクセスを制御することもできます。ダウンロードフォルダーへのアクセスは、システムファイルピッカーを介してのみ利用できるため、ユーザーはどのファイルを利用可能にするかを完全に制御できます。

これを設定するには、READ_MEDIA_IMAGESなどの新しい権限をリクエストし、MediaStore APIを介してコレクションにアクセスする必要があります。詳細な手順については、こちらをご覧ください。

これを相殺するために、アプリは独自の「隔離されたストレージサンドボックス」を持ち、外部ストレージにあるアプリに制限されたフォルダーを提供します。これは、アクセス許可の必要性を減らすことを目的としていますが、現在提供されている内部ストレージよりも少し柔軟であることを願っています。アプリをアンインストールした後もファイルを保持したい場合は、それらのファイルをMediaStoreコレクションに移動するか、Storage Access Frameworkを使用してバックアップする必要があります。ただし、いくつかのユニークなユースケースでは、必然的にいくつかの障害が発生します。

外部ストレージ上の他のアプリの隔離されたストレージサンドボックスからファイルにアクセスする場合は、いくつかの注意事項があります。これは、一般的なメディアファイルタイプ(写真や音楽など)に対してデフォルトで有効になっています。ただし、別のアプリで作成された他のファイルにアクセスする場合は、ACTION_OPEN_DOCUMENTおよびACTION_OPEN_DOCUMENT_TREEインテントを使用して、特定のファイル(ユーザーが許可または取り消す)へのアクセスを要求する必要があります。

より多くのセキュリティの変更

考慮すべきその他のいくつかのセキュリティ変更:

  • バックグラウンドアプリは、ユーザーに不快感を与える可能性があるため、フォアグラウンドでアクティビティを起動できなくなります。代わりに、着信コールなどにフルスクリーンの意図を持つ優先度の高い通知を使用する必要があります。
  • デバイスは、デフォルトで異なるWi-Fiネットワーク上のランダム化されたMACアドレスを持ちます(これはPieではオプションでした)。
  • デバイスのIMEIやシリアル番号などの情報へのアクセスは制限されます。詳細はこちら。
  • ネットワークをスキャンするためのAPIには、FINEロケーション許可が必要になります。
  • WPA3および拡張Open Wi-Fi標準のサポートが追加されました。
  • アプリはWi-Fiを切り替えることができなくなり、代わりに新しい設定パネルに依存するようになります。

将来の校正–折りたたみ可能なデバイス、マルチレジューム、およびニューラルネットワーク

また、Android Qは、将来のハードウェアに備えるために多くの措置を講じています。あなたはそれが何を意味するか知っている:折りたたみ式!または、Googleが「革新的な新しい画面」と呼ぶように。

大きな進展は、onResumeとonPauseの改善です。これらは「マルチレジューム」をサポートし、フォーカスを取得するとアプリに通知します。 Multi-Resumeを使用すると、2つのアプリを一時停止することなく同時に実行できます(現在のように)。これはおそらく、折り畳み式ディスプレイ上のものだけでなく、マルチウィンドウモードのすべてのアプリに影響を与え、最終的にはスマートフォンを真のデスクトップのようなパフォーマンスに近づけます。現時点でどのようなものかを確認したい場合は、SamsungのMultiStarアプリ(Good Lockの一部)を使用して、同様の機能を試すことができます。

ただし、マルチレジュームだけでなく、Android QではonResumeとonPauseの変更も確認されています。これはおそらく、これまでに見られた最も根本的な変更の一部です。

サイズ変更可能なアクティビティマニフェスト属性も変更され、ディスプレイが開かれたときに定期的にサイズが2倍になることに対処します。

これは、一時停止されているが表示されているアプリをどのように処理するかについてあまり心配する必要のない開発者にとって、主に朗報です。とはいえ、すでに高度に断片化されたプラットフォームに、さらに多くの潜在的なユースケースとディスプレイタイプを導入しています。楽しい楽しいです。

繰り返しますが、これをすべて実装するには、マニフェストにいくつかの変更を加える必要があります。具体的には、android.allow_multiple_resumed_activitiesタグを含めます。ベータ2および3では、開発者はAVDを介してfoldablesエミュレーターを使用してこれを自分でテストすることができます。

Neural Networks API 1.2も登場し、60の新しい操作と改善された機能をもたらします。 Opsには、ARGMAX、ARGMIN、およびQuantized LSTMなどが含まれます。これらは基本的に、より良いオブジェクト検出と画像セグメンテーションを可能にします。

バブルを使用したマルチタスク

真のマルチタスク処理では不十分であるかのように、Android Qは同時に複数のことを行う別の方法、バブルも導入します。これらのバブルは事実上通知の形態として機能しますが、より多くの情報を提供し、ユーザーが現在行っていることの上にアクティビティ全体を表示することさえできます。これにより、メモ、翻訳、チャットなどにすばやくアクセスできます。基本的にはチャットヘッドです。

バブルは通知のフォームとして効果的に機能します

開発者は、現在の通知システムの上に構築されたAPIを介して新しい機能にアクセスできます。バブルを送信するには、setBubbleMetadataを使用し、アイコンとともにバブル内に表示されるアクティビティを提供します。

ショートカットと設定パネルを共有する

Googleは、ユーザーがアプリのコンテンツを簡単に共有できるようにしたいと考えているため、ユーザーが別のアプリに直接ジャンプできるようにする「共有ショートカット」を導入します。開発者は、「共有ターゲット」を公開して、コンテンツが添付された特定のアクティビティを起動できます。これらは、UIを介してユーザーに表示されます。ベータ2では、共有されているデータのプレビューを提供できるようになりました。

これはアプリのショートカットと同様に機能するため、ShortcutInfo APIからアクセスできます。 Q.を実行していないデバイスでも動作する新しいShareTarget AndroidXライブラリもあります。Googleは、これがどのように機能するかを確認したい人のためにサンプルアプリを共有しています。

一般的にゲームの名前を速くすることがゲームの名前のようです。AndroidQでは、現在実行中のアプリのコンテキストでシステム設定を簡単に変更できます。これは、設定パネルAPIを通じて開発者が利用できます。

設定パネルを表示するには、ACTION_VOLUMEなどのインテントと設定パネルアクションを使用するだけです。

接続性の改善

Wi-FiスタックはAndroid Qでリファクタリングされ、プライバシーとパフォーマンスが向上し、IoTデバイスの管理や場所の許可がなくてもインターネット接続の提案などが簡単になりました。

さらに興味深いのは、開発者が高性能で低遅延モードにアクセスできることです。後者は、ゲーム(およびゲームストリーミング!)で特に役立ちます。

これらにアクセスするには、WiFiManager.WiFiLock.creatWifiLock()を呼び出し、WIFI_MODE_FULL_LOW_LATENCYまたはWIFI_MODE_FULL_HIGH_PERFを使用します。

新しいメディアオプション-コーデックサポートと深度データ

開発者は、これらの深度検知カメラを利用できるようになります。動的深度画像をリクエストできます。これには、JPG、深度要素を説明するXMPメタデータ、深度信頼マップが含まれます。

これはカメラアプリや画像編集アプリには便利かもしれませんが、おそらくもっと面白いのはARアプリケーションの可能性です。 GoogleはOEMと協力して、これがすべてのQサポートデバイスで利用できるようにしています。

Android Qは、オープンソースのビデオコーデックAV1もサポートします。これにより、帯域幅要件が低く、高品質のストリーミングが可能になります。 Opusを介したオーディオエンコーディングも予定されています。 MediaCodecInfo APIを使用して、特定のデバイスで使用可能なレンダリングオプションを識別しやすくなりました。

ネイティブMIDI APIは、NDKを介したMIDIデバイスとの通信も可能にします。新しいMicrophoneDirection APIを使用すると、開発者はオーディオ録音中にマイクの方向を設定できます。これにより、ズーム可能なマイクの制御も標準化されます。

別の新機能は、他のアプリから音声を録音する機能です。これは、ゲームのストリーミング、キャプション、翻訳などに役立ちます。

アップグレードされたパフォーマンス– VulkanとAndroidランタイム

ゲーム開発者は、全面的に改善されたVulkanサポートの恩恵を受けるはずです。 Googleの目標は、APIがAndroid Qを実行するすべての64ビットデバイスでサポートされるようにすることです。同社は、Vulkanで構築されたデバイス用の標準の更新可能なOpenGLドライバーにも取り組んでいます。 Android Qは、ANGLEの実験的サポートも追加します。これは、OpenGL ESを使用するゲームがVulkanのパフォーマンスと安定性を利用できるようにする抽象化レイヤーです。 OpenGL ES 2.0もQでサポートされますが、3.0のサポートはその後まもなく提供されます。

同様に、アプリ全体の全般的なパフォーマンスが向上することを期待できます。これは、Androidランタイムの改善によって部分的に達成されます。これにより、アプリの起動が速くなり、メモリの消費が少なくなります(ただし、Garyは古いデバイスを使用したSpeed Test Gでこれを見つけられませんでした)。

安定性を向上させるために、GoogleはプライベートAPIへのアクセスも制限します。ここでグレーリストに登録されているもののリストを見つけることができます。 Googleは、すべての場合に公共の代替案が利用可能になることを誓約します。

UIの変更-ジェスチャーナビゲーションとダークモード

ベータ3以降、開発者はテーマを「Theme.AppCompat.DayNight」またはマテリアルコンポーネントから拡張することにより、「ダークテーマ」をサポートすることを選択できるようになりました。その後、独自のデフォルトの夜間テーマ設定を設定できます。テーマを希望どおりに切り替えるオプションをユーザーに提供し、レイアウトと表示方法を検討してください。

Android Qは、ほぼすべてのAndroidスキンのようなジェスチャーナビゲーションもサポートします。これにより、ユーザーに新しいUIの考慮事項が導入されます。たとえば、アプリの一意のUIに焼き付けられたジェスチャーがユーザーを混乱させるかどうかを検討します。このような場合、開発者は「ジェスチャ除外長方形」を使用してシステムジェスチャをオーバーライドするか、ユーザーがアプリと対話する方法を単に変更するかを選択できます。同様に、ボタンを失うことで得られる余分な画面の不動産をもっと活用することを考えてください。

TextClassifierクラスを使用すると、開発者はテキストの言語を検出できます。最後に、スマートアクションは、通知内のクイックレスポンスフィールドに論理オプションを設定します。これにより、その機能をゼロからコーディングする必要がなくなる開発者のオーバーヘッドが削減されます。

フィードバックに応えて、ベータ5の最新の変更により、ナビゲーション描画を使用するアプリの「ピーク」オプションと、アシスタントにアクセスするためのクイックショートカットが追加されました。 Beta 6では、200dpの垂直アプリ除外制限とともに、バックジェスチャの感度設定が導入されました。

やってみる

それがあなたの想像力をかきたてた(または少し不安にさせた)場合は、Android Qを試すいくつかの方法があります。

Android Qベータ版をPixelデバイスにロードできます。 Pixelが横たわっていない場合、または日常のドライバーにベータ版のオペレーティングシステムをインストールしたくない場合は、代わりにAVD Managerを使用して簡単に設定できます。SDKマネージャーを開くだけで、Android Q Betaのシステムイメージを選択してダウンロードできるようになります。

Android Q Beta 4以降では、開発者がすべてのAPIを使用してアプリのテストを開始できるようになりました。Googleは、PlayストアでこれらのAPI 29をターゲットにすることを既に受け入れています。

これらの変更についてどう思いますか?あなたのプロジェクトにもたらすことができる新しい機能について考えていただけますか?または、セキュリティ更新プログラムを回避するための多くの作業がありますか?

これらすべてのケーブルを保持する必要がない場合はどうなりますか? 1つを使用してすべてのモバイルデバイスを充電できるとしたらどうでしょうか。良いニュース:すでにできます。 Volta Charger 2.0磁気ケーブルに会います。Appleの古いMacBookを使用している場合は、Magafeを覚えているかもしれません。電源コネクタはMacBookに磁気的に取り付けられているため、人が誤ってコード...

これらすべてのケーブルを保持する必要がない場合はどうなりますか? 1つを使用してすべてのモバイルデバイスを充電できるとしたらどうでしょうか。良いニュース:すでにできます。 Volta Charger 2.0磁気ケーブルに会います。Appleの古いMacBookを使用している場合は、Magafeを覚えているかもしれません。電源コネクタはMacBookに磁気的に取り付けられているため、人が誤ってコード...

新記事