Keija
Fortgeschrittenes Mitglied
- 2
Hallo leute, ich stehe nach mehreren stunden rumprobieren und rätseln leider vor einem problem, bei dem mir meine google such fähigkeiten leider nicht viel geholfen haben. ..
ich will, ganz simpel, den highscore meines Tetris spiels in einem File speichern und beim starten des Spiels einlesen. (bei game over dann speichern)
ich habe als erstes natürlich auf der android seite geschaut und folgendes gefunden:
Data Storage | Android Developers
und dann mit meinen alten java kenntnissen folgendes gebastelt:
soweit so gut, mit dem debugger bin ich das durchgegangen und er liefert keine fehlermeldung.
leider kann ich nicht verifizieren ob er das file erstellt, da ich nicht weiss, wo android das macht - vielleicht liegt auch da schon gleich das problem, muss ich einen genauen Pfad angeben? (./sdcard ...)
naja, also wie gesagt, da kommt zumindest keine fehlermeldung.
wenn ich aber nun versuche einzulesen, bekomme ich eine EndOfFileException:
ich weiss, dass ich keine endoffile abfrage drin habe, allerdings sollte er ja mindestens ein int vorfinden und weitere lese ich ja nicht ...
sind das überhaupt die richtigen befehle um zu lesen und zu schreiben?
habt ihr nen tipp? oder ne idee, wie ich mit dem debugger rausfinden kann, ob er das file wirklich kreeirt und soweiter?
danke im Vorraus!
ich will, ganz simpel, den highscore meines Tetris spiels in einem File speichern und beim starten des Spiels einlesen. (bei game over dann speichern)
ich habe als erstes natürlich auf der android seite geschaut und folgendes gefunden:
Data Storage | Android Developers
und dann mit meinen alten java kenntnissen folgendes gebastelt:
Code:
// int highscore = 8; z.b.
// score soll die datei heissen, in die ich schreiben will
try {
FileOutputStream stream = myContext.openFileOutput("score", 0);
PrintStream ps = new PrintStream(stream);
ps.print(highscore);
ps.close();
stream.close();
} catch [...]
}
soweit so gut, mit dem debugger bin ich das durchgegangen und er liefert keine fehlermeldung.
leider kann ich nicht verifizieren ob er das file erstellt, da ich nicht weiss, wo android das macht - vielleicht liegt auch da schon gleich das problem, muss ich einen genauen Pfad angeben? (./sdcard ...)
naja, also wie gesagt, da kommt zumindest keine fehlermeldung.
wenn ich aber nun versuche einzulesen, bekomme ich eine EndOfFileException:
Code:
try {
FileInputStream instream = context.openFileInput("score");
DataInputStream in = new DataInputStream(instream);
this.highScore = in.readInt();
in.close();
instream.close();
} catch [...]
}
ich weiss, dass ich keine endoffile abfrage drin habe, allerdings sollte er ja mindestens ein int vorfinden und weitere lese ich ja nicht ...
sind das überhaupt die richtigen befehle um zu lesen und zu schreiben?
habt ihr nen tipp? oder ne idee, wie ich mit dem debugger rausfinden kann, ob er das file wirklich kreeirt und soweiter?
danke im Vorraus!