我使用以下代码将数据存储在共享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();
但我仍然在“应用程序意外停止了......请再试一次”
看起来虚拟设备存在一些问题。重新创建后,我的应用程序开始正常工作。
答案 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" />