退出应用程序后如何保存变量?

24

我希望在关闭我的应用程序时保存一些变量,并在打开应用程序后加载它们(用于游戏中的统计)。

我该如何做到这一点?

编辑:这是我的代码:

TextView test1;
String punkte = "15";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    SharedPreferences save = getSharedPreferences(punkte, 0);
    save.edit().putString("score", punkte);

    SharedPreferences load = getSharedPreferences(punkte, 0);
    String points = load.getString("score", "0");

    test1 = (TextView) findViewById(R.id.test1);
    test1.setText(points);

    }    

等待回答 ;) - Stupe
.putString() 后面添加 .commit() - Mxyk
3个回答

50

你应该使用SharedPrefences,它们非常简单易用,并且可以将变量存储在应用程序数据中。只要用户从设置中不清除你的应用数据,这些变量就会一直存在。

以下是代码示例。

访问变量的方法:

SharedPreferences mPrefs = getSharedPreferences("label", 0);
String mString = mPrefs.getString("tag", "default_value_if_variable_not_found");

编辑变量并提交(存储)它们:

SharedPreferences.Editor mEditor = mPrefs.edit();
mEditor.putString("tag", value_of_variable).commit();

确保两个“tag”字段匹配!


如果我想保存和加载一个变量,我应该把它放在哪里? - Stupe

6

使用SharedPreference,这是更好的选择。

查看教程。


1
你能解释一下我如何使用它吗? - Stupe
所以你的代码中没有提到链接中的任何内容。亲爱的,请努力一下。我不能为你编写代码。 - MAC
6
为了使 Stack Overflow 变成一个有答案的地方而不仅仅是一个链接的地方,为了达到这个目的,做一个被链接的解决方案的摘要也是有益的。 - Sergi Juanola

3

示例代码: 保存:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = settings.edit();
editor.putString("statepara1", ts);
editor.commit();

获取:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);    
String ret = settings.getString("statepara1", "0");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接