我正在用java创建一个android应用程序,游戏中的比分一直在变化,每秒变化多次。我想创建一个保存文件,以便当用户返回应用程序时能够跟踪分数,问题是我应该如何保存它?每当分数发生变化时,每秒多次写入保存文件似乎效率极低。我考虑过将它保存在onDestroy()方法中,但我听说不能保证它会被调用……
那么,在不需要每秒多次访问文件的情况下,保存分数的保证方法是什么?
发布于 2019-05-27 00:45:40
您可以使用SharedPreferences来存储属于某个应用程序的数据。
为SharedPreferences增值的
//Whenever you update the score call this function
void updateScore(int score){
SharedPreferences mySharedPref = getSharedPreferences("give Any Name", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = mySharedPref.edit();
editor.putInt("score", score);
editor.apply(); //this function will commit asynchronously
}
如果您需要在任何时候获得分数,请调用此函数。
//Whenever you update the score call this function
public int getScore(){
SharedPreferences mySharedPref = getSharedPreferences("give Any Name", Context.MODE_PRIVATE);
return mySharedPref.getInt("score", -1); //-1 is the default value that is returned if the value is not set using putInt
}
https://stackoverflow.com/questions/56312669
复制相似问题