Android Daten nach der Deinstallation persistieren

8

Ich muss 2 Zeichenfolgen für meine Anwendung beibehalten, auch nachdem die Anwendung deinstalliert wurde. Da die Endbenutzer keine SD-Karten für ihre Geräte haben und keine Internetverbindung haben, wie kann ich diese 2 Zeichen auch nach der Deinstallation beibehalten?

Ich würde jede Antwort sehr schätzen. Danke

    
Laura 30.10.2013, 13:29
quelle

4 Antworten

2

Sofern Sie nicht auf sehr alte Telefone abzielen, müssen Sie sich keine Sorgen darüber machen, dass Sie keinen externen Speicher haben. Solange Sie Environment.getExternalStorageDirectory() als Referenz verwenden, sollten Sie kein Problem haben. Wenn Sie jedoch absolut besorgt sind, können Sie prüfen, ob der externe Speicher nicht vorhanden ist, und sich dann für den internen Speicher entscheiden. Weitere Informationen finden Sie in diesem Link in den Entwicklerdokumenten .

Wenn External wirklich nicht verfügbar ist, könnten Sie es im internen Speicher speichern, aber Sie müssen dafür eine neue Berechtigung deklarieren, die einige Leute abwehren kann.

    
Andrew Schuster 30.10.2013, 13:43
quelle
0

Sie müssen es auf eine SD-Karte / internen Speicher schreiben und hoffen, dass der Benutzer das nicht entfernt. Dies ist jedoch ein sehr fragiler Ansatz. Es gibt keine andere Lösung, soweit ich weiß.

    
Jeffrey Klardie 30.10.2013 13:32
quelle
0

Der interne Speicher des Telefons wird ebenfalls als "SD-Karte" behandelt. Wenn Sie einen Ordner erstellen und in einer Textdatei speichern, sollte dies sicher sein, da der Benutzer die Ordner nach der Deinstallation nicht manuell löscht.

Bitte lesen Sie den Abschnitt "Speichern von Dateien, die freigegeben werden sollten" auf der folgenden Webseite. Wenn Sie eine Datei erstellen, die nach der Deinstallation erhalten bleibt, wird sie anderen Apps / Benutzern zum Lesen und Ändern zur Verfügung gestellt. Wenn diese Dateioptionen nicht vorgesehen sind, sollten Sie ein alternatives App-Design in Erwägung ziehen.

Ссылка

Nach der Neuinstallation kann Ihre App mithilfe der folgenden Funktion auf das erstellte öffentliche Verzeichnis zugreifen:

%Vor%

In Bezug auf die obige Funktion per Google:

Hinweis: Lassen Sie sich nicht durch das Wort "extern" verwechseln. Dieses Verzeichnis kann besser als Medien / Shared Storage betrachtet werden. Es ist ein Dateisystem, das eine relativ große Datenmenge aufnehmen kann und das für alle Anwendungen freigegeben ist (erzwingt keine Berechtigungen). Traditionell ist dies eine SD-Karte, aber sie kann auch als integrierter Speicher in einem Gerät implementiert werden, das sich vom geschützten internen Speicher unterscheidet und als Dateisystem auf einem Computer bereitgestellt werden kann.

Google empfiehlt außerdem, geteilte Dateien in ein vorhandenes öffentliches Verzeichnis zu legen, um den Root-Namespace des Benutzers nicht zu belasten.

    
C0D3LIC1OU5 30.10.2013 13:35
quelle
0

Sind die Zeichenfolgen für jeden Benutzer eindeutig oder sind sie anwendungsspezifisch? In jedem Fall wäre es das Richtige, es in einer Art Remote-Server zu speichern. Firebase verwende ich für so etwas. Überprüfen Sie das Vorhandensein in Ihrer Application -Klasse und laden Sie sie herunter und speichern Sie sie in SQLite , falls sie nicht existiert. Für benutzerspezifische Daten benötigen Sie jedoch eine Art von Authentifizierung, so dass Sie wissen, welcher Benutzer was bekommt. Firebase macht das auch perfekt.

Geht man aber von den Anforderungen (kein Internet, keine SD-Karte) des OP aus, sehe ich keinen anderen Weg neben einem, der nicht unethisch ist.

    
ojonugwa ochalifu 21.01.2017 05:43
quelle