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);

    }    
4

3 回答 3

47

你应该使用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();

确保两个“标签”字段匹配!

于 2012-07-27T13:29:10.870 回答
6

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

这个教程。

于 2012-07-27T13:26:36.050 回答
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");
于 2012-07-27T13:31:30.247 回答