Android Text aus Textfeld speichern

LucasZL

Mitglied
Hi,
ich habe folgendes Problem: Wenn ich in ein Textfeld etwas tippe, dann per Button sowohl Activity als auch xml wechsel und wieder zurück ist das Textfeld leer. Wie schaffe ich es das der Text zum Beispiel in eine .txt Datei gespeichert und dann wieder ausgelesen und eingetragen wird?
 
Entweder über Shared Preferences , oder du baust dir eine Klasse die all das was du speichern möchtest beinhaltet und lässt sie Serializable imlementieren

Java:
public class Container implements Serializable{

private String deinText;


//Getter und Setter dazu

}


Dann kannst du beispielsweise in der onDestroy Methode der Activity den Text in ein neues Containerobjekt speichern und danach Serialisieren.
In der onCreate Methode lädst du das Objekt einfach wieder und setzt den Text in das Feld, null-Check nicht vergessen.

Ist zwar keine Textdatei, aber der einfachste Weg

Musst dir halt anschauen wie das mit dem Serialisieren läuft.

als Pfad für sowas empfiehlt sich /Android/Data/dein.android.projekt/Settings da dort die meisten Apps ihre Einstellungen etc reinhauen

MfG
 
SharedPreferences würde ich nur dann nutzen, wenn es auch wirklich Einstellungen sind. Wenn diese nicht persistent sein sollen, könnte man den Text über Intents weitergeben:

Java:
Intent intent=new Intent(this, TargetClass.class);
intent.putExtra("myextra.TEXT", textView.getText());

Ansonsten würde ich die Daten entweder als Datei auf die SDKarte, internen Speicher oder in einer SQLiteDatenbank ablegen.
 
SharedPreferences würde ich nur dann nutzen, wenn es auch wirklich Einstellungen sind. Wenn diese nicht persistent sein sollen, könnte man den Text über Intents weitergeben:

Java:
Intent intent=new Intent(this, TargetClass.class);
intent.putExtra("myextra.TEXT", textView.getText());

Ansonsten würde ich die Daten entweder als Datei auf die SDKarte, internen Speicher oder in einer SQLiteDatenbank ablegen.


Ich war immer der Meinung, dass alles was temporär gespeichert werden soll am besten mittels den Preferences gemacht wird. Und wirklich "dauerhafte" Settings über files bzw. DB

Warum ist das keine gute Idee?

Aber Daten von einer View zur anderen hin und her zu jonglieren, nur damit diese nicht verloren gehen, das habe ich bis jetzt noch nie gehört!
 
ich war immer der Meinung, dass alles was temporär gespeichert werden soll am besten mittels den Preferences gemacht wird.

Folgendes Szenario:
Du hast einen ListView in Activity A und willst beim Anklicken den Text des Listelements in Activity B anzeigen.
Dann würdest du im OnItemClickListener des ListViews den Text in den Preferences speichern?

Das würde ich auf keinen Fall so machen. Im Intent gibst du den Text als Extra an und wertest diesen Eintrag in Activity B aus. Preferences würde ich nur für Werte verwenden, die auch sinnvoll in einer PreferenceActivity pflegbar wären.
 

Zurück
Oben