Java 与SharedReference相关的问题
我想通过SharePreference将字符串存储在内存中,但出现了一些无法存储在内存中的问题。请告诉我如何解决此问题? 需要许可吗 代码::Java 与SharedReference相关的问题,java,android,Java,Android,我想通过SharePreference将字符串存储在内存中,但出现了一些无法存储在内存中的问题。请告诉我如何解决此问题? 需要许可吗 代码:: SavePreferences("MEM1", LanguageSelcted); LoadPreferences(); 方法:: public void SavePreferences(String key, String value) { try { SharedPreferences sh
SavePreferences("MEM1", LanguageSelcted);
LoadPreferences();
方法::
public void SavePreferences(String key, String value) {
try {
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value.trim());
editor.commit();
} catch (Exception e) {
e.printStackTrace();
}
private void LoadPreferences() {
try {
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
LanguageSelection = sharedPreferences.getString("MEM1", "");
Log.i(TAG, "LanguageSelection is :>>>" + LanguageSelection);
Toast.makeText(getBaseContext(), "LanguageSelection is :>>>" + LanguageSelection, Toast.LENGTH_LONG).show();
/*
* textSavedMem1.setText(strSavedMem1);
* textSavedMem2.setText(strSavedMem2);
*/
} catch (Exception e) {
e.printStackTrace();
}
}
最突出的是这一行:
LanguageSelection = sharedPreferences.getString("MEM1", "");
应该有一个参考
LanguageSelection whateverNameYouWant = sharedPreferences.getString("MEM1", "");
或者你的意思是
String LanguageSelection = sharedPreferences.getString("MEM1", "");
保存应该是
SharedPreferences myPrefs1 = this.getSharedPreferences(
"update", MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = myPrefs1.edit();
prefsEditor.putString("URL", apkurl);
prefsEditor.commit();
SharedPreferences pref = this.getSharedPreferences("update",
MODE_PRIVATE);
String key = pref.getString("URL", "");
而且应该是
SharedPreferences myPrefs1 = this.getSharedPreferences(
"update", MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = myPrefs1.edit();
prefsEditor.putString("URL", apkurl);
prefsEditor.commit();
SharedPreferences pref = this.getSharedPreferences("update",
MODE_PRIVATE);
String key = pref.getString("URL", "");
getSharedPreferences将包含两个参数。你能详细说明你遇到了什么问题吗?当我加载Preference时,它在字符串中没有得到任何值……SavePreferences方法(或LoadPreferences方法)是否引发了任何异常?@MikeIsrael不,它不会引发任何类型的错误。抛出一个Log.d()如何插入它之前,请确保它具有值。LanguageSelection可能是其应用程序中的成员变量。。只是没有使用正确的Java变量命名实践如果他正在存储跨活动使用的首选项,那么这是正确的。他使用的getPreferences(int模式)存储特定活动的首选项。因此,如果他试图在不同的活动中访问这些偏好,则不会起作用。这将说明这一点,并获得正确的值。