在SharedPrefer中写入数据 - 应用程序停止响应

时间:2012-10-05 11:45:37

标签: android sharedpreferences

我使用以下代码将数据存储在共享pref中。 但是,当调用此代码时,虚拟设备会告诉我该应用程序 停止响应。有什么建议为什么会这样?

SharedPreferences spref =       this.getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = spref.edit();
editor.putString("td", "SharedPref"); //name-value pair
editor.commit();

编辑: 现在我使用以下

SharedPreferences spref = this.getSharedPreferences(“myPrefs”,MODE_WORLD_READABLE);     SharedPreferences.Editor editor = spref.edit();     editor.putString(“td”,“SharedPref”);     editor.commit();

但我仍然在“应用程序意外停止了......请再试一次”

看起来虚拟设备存在一些问题。重新创建后,我的应用程序开始正常工作。

3 个答案:

答案 0 :(得分:1)

试试这个

SharedPreferences spref = PreferenceManager.getDefaultSharedPreferences(Context);

答案 1 :(得分:1)

您正在初始化错误的初始化

final SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);

这样可行。

答案 2 :(得分:0)

在我的应用中,我更喜欢使用自己的位置名称。声明

public static final String PREFS_NAME = "MyPrefsFile";

然后在代码中

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);  //0 might be bad naming, can just use MODE_PRIVATE or something instead depending on what you need to do :)
SharedPreferences.Editor editor = settings.edit();
editor.putInt("key", "value");
editor.commit();
如果你保存的信息是正确的

不应该有任何问题

修改

您还需要使用以下内容更新清单:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />