我正在用Java创建一个android应用,游戏中的得分一直在变化,每秒变化多次。我想创建一个保存文件,以便当用户回到应用程序时能够跟踪分数,问题是我应该如何保存它?每当分数改变时,每秒多次多次写入保存文件似乎效率极低。我曾考虑过将其保存在onDestroy()方法中,但听说不能保证将其命名为...
那么在不必每秒访问文件多次的情况下保存分数的保证方法是什么?
答案 0 :(得分:0)
您可以使用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
}