Logo ja.androidermagazine.com
Logo ja.androidermagazine.com

Android Qのスコープストレージとは何ですか?

目次:

Anonim

プライバシーとセキュリティはAndroid Qの主要な焦点になります。特に、多くの変更が行われるために私たちの側でアクションを必要としない場合、それはすべてのユーザーにとって良いことです。 携帯電話のセキュリティを心配するセキュリティの専門家は、潜在的なハッカーや詐欺師を除き、私たちが通常どおりそれらを使い続けることができ、誰もが勝つことを意味します。 しかし、Androidの基本的な機能に対する大きな変更の1つである、アプリ間でファイルを共有することは、アプリ開発者の多くの反発につながる大きな変更の取得です:Scoped Storage。

スコープストレージの仕組み

かつてAndroidは、ファイルにアクセスする際に他のデスクトップオペレーティングシステムと同じように機能していました。 ドキュメント、写真、音楽など、デバイスに保存したいものが他のアプリを開くためにありました。 アプリをインストールしたときにアプリでこれを行うことは問題ないと言いましたが、ちょうどそれでした。 アプリのネイティブUIを使用して、ファイルシステムを参照し、すべてのパブリックファイルを表示できます。

Android 4.4 KitKatで、Googleはアプリが所有していないファイルにアクセスする方法に変更を加え、制限を追加し始めました。Android5.1では、Storage Access Frameworkが実装されました。 これにより、アプリは、標準のプログラミングファイル操作を使用する代わりに、Android APIを使用して他のフォルダー内のファイルにアクセスする方法を提供しました。 できます。 それは遅く、かなり人気がありませんが、利用可能であり、今ではこの種のグローバルアクセスを必要とするアプリのほとんどすべての開発者が、少なくともニーズに基づいて適切かどうかを確認しようと試みています。

Android QのScoped Storageを使用すると、物事がより制限され、同時により簡単になります。 互換性のあるアプリには、ユーザー向けのデータ用の独自のフォルダーが与えられます。 アプリには、必要なファイルを保存するための専用のサンドボックスフォルダーが既にあり、これは他のアプリでは使用できません。 Scoped Storageを使用すると、アプリが作成し、作成するように指示したため、アプリが作成するファイル用の2番目のフォルダーを作成できます。 たとえば、ボイスレコーダーのようなアプリを考えてください。 作成するオーディオファイルを保存する場所が必要です。

アプリには、このフォルダー内のファイルの読み取りまたは書き込みの許可は必要ありません。そのため、ファイルの読み取りおよび書き込み場所に関する最初の実行時に、許可を与えるように求められることはありません。 また、アプリには、アクセスしたいが所有していないすべてのフォルダーに対する許可が必要です。

Lollipop以降、開発者はファイルアクセスに特定の方法を使用するように整備されていますが、非常に人気がありません。

音楽や写真などの「共有」フォルダーには、アクセスを取得するための組み込みメソッドがあります(現時点では、これはAndroid Qのベータ版の一時的な場合があります)が、外部ストレージ上の他のすべてのフォルダー(無料の内部ストレージ SD)カードをお持ちの場合、特定のアクセス権が必要になりました。 次に、アプリをファイルマネージャーのように考え、SDカードと内部ストレージのすべてのフォルダーにアクセスする方法を考えます。

アプリが所有していないフォルダーにアクセスする必要がある開発者は、Storage Access Framework APIを使用する必要があります。 つまり、APIにクエリを実行してファイルが存在するかどうかを確認し、デバイスの場所を取得してから、ユーザーに使用許可を求める必要があります。 これは、Android Lollipop以降のファイルアクセスのベストプラクティスとして推奨されているため、まったく新しいものではありません。 しかし、Android Qでは、厳密に施行され、「オプション」ではなくなりました。

なぜこの変更を行うのですか?

Googleがこの変更を行っている理由は2つあります。セキュリティと、残りの「アプリの乱雑さ」を減らすためです。

セキュリティの面では、この変更によりいくつかのことが行われます。 何よりもまず、ダイアログで見たものを読んでおらず、はいをクリックしただけなので、機密データへのアクセスを許可することに依存する悪意のあるアプリを停止します。 これは頻繁に起こるため、犯罪者を保護するためだけに対処する必要があります。 そして、私たちは皆それをやった。

また、開発者は、最初の実行時に特定の権限を要求せずに、プライベートなデバイスのストレージに独自のスペースを確保できます(最初の理由を再度参照)。 そして、他のアプリは、 あなたができると言うことなし 、それが作成するドキュメントにアクセスできません。

変更の理由は良いのですが、変更自体は受け入れられていません。

アプリの混乱を減らすには、ほとんど説明は必要ありません。 アプリをアンインストールすると、 許可を与えるとファイルやフォルダーがデバイスストレージ全体にドロップされます。 特にファイルが別のアプリで繰り返される可能性のある共通名を使用している場合、これらの残り物が十分にパフォーマンスに影響を与え始める可能性があります。 たとえば、カメラアプリや音楽レコーダーなどのメディアを作成するアプリを開発者が作成する場合、標準のメディアフォルダーの場所を使用して作成したものをデポジットし、アプリをアンインストールしても削除されないようにすることができます。

石で書かれていない

Android Qはまだベータ版です。 つまり、開発者はそれをインストールしてフィードバックを提供することが推奨されます。 現在、Scoped Storageのフィードバックはあまり良くありません。 今のところ機能を削除し、その実装を再考するようGoogleに求める請願もあります。

開発者は公式のフィードバックチャンネルを使用してフラストレーションを共有しています。Googleはときどき不動のオブジェクトのように感じるかもしれませんが、聞いています。 何よりも、Androidはアプリケーションプラットフォームであり、人気のあるアプリを壊すことは開発者が望んでいることではありません。

Scoped Storageに関しては、Android Qが最終的になる前に状況が変わる可能性があります。 または、完全に削除することもできます。 2019年の秋に見ればわかります。

Android Q:知っておくべきことすべて!