在Android应用中保存不断变化的得分

时间:2019-05-26 10:24:32

标签: java android

我正在用Java创建一个android应用,游戏中的得分一直在变化,每秒变化多次。我想创建一个保存文件,以便当用户回到应用程序时能够跟踪分数,问题是我应该如何保存它?每当分数改变时,每秒多次多次写入保存文件似乎效率极低。我曾考虑过将其保存在onDestroy()方法中,但听说不能保证将其命名为...

那么在不必每秒访问文件多次的情况下保存分数的保证方法是什么?

1 个答案:

答案 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

}