我有一个简单的游戏,我需要将高分(浮动)存储到文件中,然后在用户下载应用程序时读取它。我希望它保存在设备上,但是,我发现没办法这样做。如何将设备上的数据保存到所选位置?
答案 0 :(得分: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));
}
答案 1 :(得分:0)
使用文件处理 - 我建议使用文件处理技术进行基本操作。使用java的InputStream和OutputStream类自动创建文本文件。然后在其中添加浮动。正如上面的评论中所建议的那样。
使用属性文件 - 请参阅此代码 - http://www.mkyong.com/java/java-properties-file-examples/
使用数据库 - 你可以继续使用一个安全存储分数的数据库,确保没有人轻易篡改它。这个教程 - http://www.tutorialspoint.com/jdbc/
答案 2 :(得分:0)
用很少的几行尝试简单。
public void saveHighScore(File file, float highScore){
try{
Formatter out = new Formatter(file);
out.format("%f", highScore);
out.close();
}catch(IOException ioe){}
}