2016-06-22 10 views
0

Ich brauche Hilfe beim Speichern von Daten auf meiner Android App. Ich muss eine Textdatei erstellen, aber nur einmal. Ich habe versucht, wenn (file.exists()) und wenn (file! = Null) aber nichts funktioniert. Ich benötige diese Textdatei, um Benutzerdatenzeichenfolgen zwischen Appneustarts zu speichern. Dieser Code wird die Datei onCreate jedes Mal zu erstellen, aber ich brauche es nur es tun, wenn die Datei bereits doesnt existierenAndroid erstellen Textdatei auf der Installation

private void createFile(String filename){ if(memoryFile != null){ memoryFile = new File(getApplicationContext().getFilesDir(), filename); } }

Antwort

2

Dieser Code wird die Datei onCreate jedes Mal

Nein, erstellen es wird nicht. Es wird keine Datei erstellt. Es erstellt eine Instanz eines File Objekts. Das ist ein Java-Objekt, das eine (mögliche) Datei im Dateisystem darstellt. Es erstellt die Datei nicht tatsächlich. Um die Datei zu erstellen, schreiben Sie etwas mit einem (und einem Hintergrund-Thread). Um zu sehen, ob die Datei bereits existiert, rufen Sie exists() auf memoryFile.

Beachten Sie auch, dass Sie hier getApplicationContext() nicht benötigen. Verwenden Sie einfach getFilesDir().

+0

danke! Könntest du mich mit etwas über den Hintergrund-Thread verbinden? – kevinb

+0

@kevinb: https://developer.android.com/guide/components/processes-and-threads.html#Threads – CommonsWare

Verwandte Themen