我正在尝试在Android Studio中制作一个应用程序,为此,我想保存一个Player对象,主要是为了跟踪他们的长期平均得分。
Player对象包含多个变量name
average
score
等。
某些变量每转都会更改,而某些变量将保持不变。在每个回合结束时,大多数都重置为0,但是average
将保持不变。平均值为int类型,因为它需要一个十进制值。
我有以下代码可以编译和运行,但是没有任何反应,使用调试器显示,它似乎只能读取FileOutputStream
而不是ObjectOutputStream
//Write data to file
try{
FileOutputStream f = new FileOutputStream(new File("myObject.txt"));
ObjectOutputStream o = new ObjectOutputStream(f);
o.writeObject(p1);
o.close();
f.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//Read data from file
try {
FileInputStream fi = new FileInputStream(new File("myObject.txt"));
ObjectInputStream oi = new ObjectInputStream(fi);
p2 = (Player) oi.readObject();
oi.close();
fi.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
我已经设置了对象,因此为其分配了属性。我还尝试了一个笨拙的版本,该版本仅包含一个Player
和name
的{{1}}对象,但是我还是没有运气。
任何人都可以告诉我我在做什么错。
average
类
Player
这是一个愚蠢的版本,而不是显示具有所有属性的版本。