Ich bin eine benutzerdefinierte Verbindung anzeigen zu entwickeln, die externen Speicher
IMHO zugreifen muss, das ist eine Architektur Bug. A View
dient zum Anzeigen von Material für den Benutzer und manchmal zum Sammeln von Eingabeereignissen auf niedriger Ebene und zum Umwandeln derselben in Konstrukte höherer Ordnung (z. B. Klicks, Wischen). A View
sollte keine Verbindung zu Dateien, Datenbanken usw. haben. Siehe die MVC-, MVP-, MVVM- und ähnliche GUI-Architekturmuster.
WebView
, die sich nicht daran hält, verursacht als Ergebnis Probleme (z. B. Datenträger E/A auf dem Hauptanwendungs-Thread).
Wie kann ich die Berechtigungsbehandlung implementieren, ohne externe Parteien einzubeziehen, d. H. Aktivität oder Fragment?
Sie können nicht. Es liegt in der Verantwortung der Aktivität oder des Fragments, die Erlaubnis zu beantragen, vermutlich bevor Ihre Ansicht diese Daten benötigt.
Was wäre die eleganteste Lösung, um so etwas zu handhaben?
Extrahieren Sie die Datenzugriffs Teil dieses View
in etwas anderes, das durch die Aktivität oder das Fragment verwaltet wird, wo das Einfädeln, Berechtigungen und andere mit dieser Datenzugriff zugeordnet Arbeit verwaltet werden können.