Я новичок в программировании, и я пытаюсь сохранить списки объектов в файл сохранения, но ничего не работает. Я не получаю никаких ошибок или чего-то еще, но значения просто не будут сохраняться (например: я нажимаю кнопку «Деньги» и зарабатываю деньги, ее нужно сохранить, но когда я перезапущу приложение, «деньги» снова будут 0) В Java моя версия работала, теперь я преобразовать свой код в Android, и это не будет работатьAndroid Java - Сохранение списков объектов в файл
Мой SAVEFILE класс:
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();
}
}
Мой LoadFile класс:
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();
}
}
И моя игра Loop в классе «OnCreate»:
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();
Действительно ли это так сложно? Это похоже на космос .. Почему я не могу сохранить простые целочисленные значения, например, мой пример? В Java моя версия работала, теперь я конвертирую свой код в android, и он не будет работать. – crelix12345
Я видел, что вы редактировали свою информацию. По-моему, у меня много данных. – crelix12345