Ich bin Neuling in der Programmierung, und ich versuche, Objektlisten in eine Sicherungsdatei zu speichern, aber nichts scheint zu funktionieren. Ich bekomme keine Fehler oder irgendetwas anderes, aber Werte werden einfach nicht gespeichert (Zum Beispiel: Ich klicke auf "Geld" und verdiene Geld, es muss gespeichert werden, aber wenn ich App neu starte, ist "Geld" wieder 0) In Java meine Version arbeitet, jetzt bin Umwandlung ich meinen Code in android und es funktioniert gewohntAndroid Java - Objektlisten in Datei speichern
Meine Savefile Klasse:
public void SaveFile(){
try{
File SaveFile = new File("SaveFile.sav");
if(!SaveFile.exists()) {
SaveFile.createNewFile();
}
FileOutputStream saveFileSub = new FileOutputStream(SaveFile);
ObjectOutputStream save = new ObjectOutputStream(saveFileSub);
save.writeObject(CarMain.main);
save.writeObject(Box.boxes);
save.writeObject(CarFrame.frames);
save.writeObject(Part.parts);
save.writeObject(CarsLv1.cars);
save.writeObject(CarsLv2.cars);
save.writeObject(CarsLv3.cars);
save.writeObject(CarsLv4.cars);
save.writeObject(CarsLv5.cars);
save.writeObject(CarsLv6.cars);
save.writeObject(CarsLv7.cars);
save.writeObject(CarsLv8.cars);
save.writeObject(CarsLv9.cars);
save.writeObject(CarsLv10.cars);
save.writeObject(Statistic.statistic);
save.close();
}
catch(Exception exc){
exc.printStackTrace();
}
}
Meine Loadfile Klasse:
public void LoadFile(){
try{
File SaveFile = new File("SaveFile.sav");
FileInputStream SaveFileSub = new FileInputStream(SaveFile);
ObjectInputStream load = new ObjectInputStream(SaveFileSub);
CarMain.main = (Integer[]) load.readObject();
Box.boxes = (Integer[]) load.readObject();
CarFrame.frames = (Integer[]) load.readObject();
Part.parts = (Integer[]) load.readObject();
CarsLv1.cars = (Integer[]) load.readObject();
CarsLv2.cars = (Integer[]) load.readObject();
CarsLv3.cars = (Integer[]) load.readObject();
CarsLv4.cars = (Integer[]) load.readObject();
CarsLv5.cars = (Integer[]) load.readObject();
CarsLv6.cars = (Integer[]) load.readObject();
CarsLv7.cars = (Integer[]) load.readObject();
CarsLv8.cars = (Integer[]) load.readObject();
CarsLv9.cars = (Integer[]) load.readObject();
CarsLv10.cars = (Integer[]) load.readObject();
Statistic.statistic = (Integer[]) load.readObject();
load.close();
}
catch(Exception exc){
exc.printStackTrace();
}
}
Und mein Spiel Loop in „OnCreate“ Klasse:
LoadFile();
GameLoop= new Thread() {
@Override
public void run() {
try {
int waited = 1;
while (waited > 0) {
sleep(100);
waited += 1;
SaveFile();
}
SaveFile();
} catch (InterruptedException e) {
// do nothing
} finally {
SaveFile();
}
}
};
GameLoop.start();
Für echt ist es so schwer? Es sieht wie ein Kosmos aus. Warum kann ich keine einfachen Integer-Werte wie mein Beispiel speichern? In Java funktionierte meine Version, jetzt konvertiere ich meinen Code in Android und es wird nicht funktionieren. – crelix12345
Ich habe gesehen, dass du mit deinen Infos bearbeitet hast. Ich habe meiner Meinung nach eine Menge Daten. – crelix12345