我有一个简单的游戏,我需要将高分(浮点数)存储到文件中,然后在用户下次使用应用程序时读取它。我希望将其保存在设备上,但是,我没有办法做到这一点。如何将设备上的数据保存到选定的位置?
问问题
1259 次
3 回答
1
您可以使用内部存储。这将创建可以写入和读取的文件。最好的方法是创建一个单独的类来处理文件。这里有两种读取和写入高分的方法。
要设置高分,请使用setHighScore(float f)。
public void setHighScore(float highscore){
FileOutputStream outputStream = null;
try {
outputStream = (this).openFileOutput("highscore", Context.MODE_PRIVATE);
outputStream.write(Float.toString(f)).getBytes());
outputStream.close();
} catch (Exception e) {e.printStackTrace();}
}
要获得最高分,请使用getHighScore()。
public float getHighScore(){
ArrayList<String> text = new ArrayList<String>();
FileInputStream inputStream;
try {
inputStream = (this).openFileInput("highscore");
InputStreamReader isr = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(isr);
String line;
while ((line = bufferedReader.readLine()) != null) {
text.add(line);
}
bufferedReader.close();
} catch (Exception e) { e.printStackTrace();}
return Float.parseFloat(text.get(1));
}
于 2015-09-06T13:20:59.837 回答
0
使用文件处理- 我建议通过使用文件处理技术来进行基本操作。使用 java 的 InputStream 和 OutputStream 类自动创建一个文本文件。然后在其中添加浮动。正如上面评论中所建议的那样。
使用属性文件- 请参阅此代码 - http://www.mkyong.com/java/java-properties-file-examples/
使用数据库- 您可以继续使用数据库,该数据库将安全地存储分数并确保没有人轻易篡改它。教程 - http://www.tutorialspoint.com/jdbc/
于 2015-09-06T12:50:39.357 回答
0
用很少的几行尝试简单。
public void saveHighScore(File file, float highScore){
try{
Formatter out = new Formatter(file);
out.format("%f", highScore);
out.close();
}catch(IOException ioe){}
}
于 2017-08-24T04:10:34.793 回答