Logo androidermagazine.com
Logo androidermagazine.com

Was ist Scoped Storage in Android Q?

Inhaltsverzeichnis:

Anonim

Datenschutz und Sicherheit werden bei Android Q einen wichtigen Stellenwert einnehmen. Dies ist eine gute Sache für jeden Benutzer, insbesondere wenn für viele Änderungen keine Maßnahmen unsererseits erforderlich sind. Sicherheitsexperten, die sich um die Sicherheit unserer Telefone sorgen, können diese wie gewohnt weiterverwenden, und jeder gewinnt, mit Ausnahme eines potenziellen Hackers oder Betrügers. Eine wesentliche Änderung an einer grundlegenden Funktion von Android - das Teilen Ihrer Dateien zwischen beliebigen Apps - ist jedoch eine große Änderung, die zu zahlreichen Rückschlägen für App-Entwickler führen wird: Scoped Storage.

Funktionsweise von Scoped Storage

Zu einer Zeit funktionierte Android wie jedes andere Desktop-Betriebssystem, wenn es darum ging, auf Ihre Dateien zuzugreifen. Dinge wie Dokumente, Fotos, Musik oder alles andere, was Sie auf Ihrem Gerät speichern wollten, konnten von jeder anderen App geöffnet werden. Sie sagten, es sei in Ordnung für eine App, dies zu tun, als Sie sie installiert haben. Über die native Benutzeroberfläche der App können Sie das Dateisystem durchsuchen und alle Ihre öffentlichen Dateien anzeigen.

Mit Android 4.4 KitKat nahm Google Änderungen vor und fügte Einschränkungen hinzu, wie eine App auf Dateien zugreifen kann, die sie nicht besitzt. Mit Android 5.1 wurde das Storage Access Framework implementiert. Dies gab Apps die Möglichkeit, mithilfe einer Android-API auf Dateien in anderen Ordnern zuzugreifen, anstatt Standardoperationen für Programmierdateien zu verwenden. Es klappt. Es ist langsam und ziemlich unbeliebt, aber es ist verfügbar und mittlerweile hat fast jeder Entwickler einer App, die einen solchen globalen Zugriff benötigt, ausprobiert, ob sie für ihre Anforderungen geeignet ist oder nicht.

Mit dem Scoped Storage von Android Q sind die Dinge gleichzeitig restriktiver und einfacher. Eine kompatible App erhält einen eigenen Ordner für benutzerbezogene Daten. Apps verfügen bereits über einen privaten Sandkastenordner zum Speichern der erforderlichen Dateien, der für keine andere App verfügbar ist. Scoped Storage bietet die Möglichkeit, einen zweiten Ordner für die von der App erstellten Dateien zu erstellen, da diese von uns verwendet und zum Erstellen angewiesen wurden. Denken Sie beispielsweise an eine App wie ein Diktiergerät. Es muss irgendwo gespeichert werden, um die erstellten Audiodateien zu speichern.

Die App benötigt keine Berechtigung zum Lesen oder Schreiben von Dateien in diesem Ordner. Sie werden daher nicht aufgefordert, Berechtigungen zu erteilen, wenn Sie sie zum ersten Mal in Bezug auf Speicherorte zum Lesen und Schreiben von Dateien ausführen. Apps benötigen außerdem Berechtigungen für jeden Ordner, auf den sie zugreifen möchten, den sie jedoch nicht besitzen.

Seit Lollipop sind Entwickler darauf vorbereitet, bestimmte Methoden für den Dateizugriff zu verwenden, aber sie sind sehr unbeliebt.

"Freigegebene" Ordner wie Musik oder Bilder verfügen über eine integrierte Methode, um Zugriff zu erhalten (vorerst - dies kann vorübergehend sein, während Android Q in der Beta-Phase ist), aber alle anderen Ordner auf dem externen Speicher, bei denen es sich um Ihren kostenlosen internen Speicher und Ihre SD-Karte handelt Wenn Sie eine haben, benötigen Sie jetzt eine spezielle Berechtigung, um darauf zugreifen zu können. Stellen Sie sich nun eine App wie einen Dateimanager vor und wie dieser auf jeden Ordner auf Ihrer SD-Karte und im internen Speicher zugreifen muss.

Entwickler, die auf Ordner zugreifen müssen, deren Eigentümer nicht ihre App ist, müssen die Storage Access Framework-APIs verwenden. Das bedeutet, dass die API abgefragt werden muss, um festzustellen, ob die Dateien vorhanden sind, und um den Speicherort des Geräts abzurufen. Bitten Sie dann den Benutzer um die Erlaubnis, diese zu verwenden. Dies ist die empfohlene bewährte Methode für den Dateizugriff seit Android Lollipop. Es ist also nicht gerade neu. Aber mit Android Q ist es jetzt strikt durchgesetzt und nicht mehr "optional".

Warum diese Änderung vornehmen?

Google nennt zwei gültige Gründe für diese Änderung: Sicherheit und Reduzierung der "App-Unordnung".

An der Sicherheitsfront führt diese Änderung einige Dinge aus. In erster Linie werden schädliche Apps gestoppt, die davon abhängen, dass Sie Zugriff auf vertrauliche Daten gewähren, da Sie nicht gelesen haben, was Sie im Dialogfeld gesehen haben, und einfach auf Ja geklickt haben. Dies kommt häufig genug vor, um es anzugehen, wenn auch nur zum Schutz der Täter. Und wir haben es alle geschafft.

Außerdem kann ein Entwickler bei der ersten Ausführung einen eigenen Speicherplatz auf dem Gerät haben, der privat ist, ohne nach bestimmten Berechtigungen zu fragen (siehe den ersten Grund). Und keine andere App kann auf Dokumente zugreifen, die sie erstellt, ohne dass Sie dies angeben.

Der Grund für eine Änderung ist gut, aber die Änderung selbst wird nicht gut aufgenommen.

Das Reduzieren der App-Unordnung bedarf keiner Erklärung. Wenn Sie eine App deinstallieren, werden die darin enthaltenen Dateien und Ordner im gesamten Gerätespeicher abgelegt, sobald Sie die Berechtigung dazu erteilt haben. Genug dieser Reste kann die Leistung beeinträchtigen, insbesondere wenn die Dateien einen gemeinsamen Namen verwenden, der möglicherweise von einer anderen App wiederholt wird. Wenn ein Entwickler eine App erstellt, die beispielsweise Medien wie eine Kamera-App oder einen Musikrekorder erstellt, kann er oder sie die von Ihnen erstellten Objekte unter Verwendung der Standardspeicherorte für Medienordner ablegen, damit sie beim Deinstallieren der App nicht entfernt werden.

Nicht in Stein gemeißelt

Android Q befindet sich noch in der Beta-Phase. Das bedeutet, dass Entwickler aufgefordert werden, es zu installieren und Feedback zu geben. Derzeit ist das Feedback für Scoped Storage nicht sehr gut. Es gibt sogar eine Petition, in der Google aufgefordert wird, die Funktion vorerst zu entfernen und ihre Implementierung zu überdenken.

Entwickler teilen ihre Frustrationen über offizielle Feedbackkanäle. Auch wenn sich Google manchmal wie ein unbewegliches Objekt fühlt, hört es zu. Android ist vor allem eine Anwendungsplattform, und das Brechen beliebter Apps ist nicht das, was die Entwickler tun möchten.

Dinge können sich ändern, bevor Android Q endgültig wird, wenn es um Scoped Storage geht. Oder es kann ganz entfernt werden. Wir werden es wissen, wenn wir es im Herbst 2019 sehen.

Android F: Alles, was Sie wissen müssen!