Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SharedReferences不适用于save_Android_Sharedpreferences - Fatal编程技术网

Android SharedReferences不适用于save

Android SharedReferences不适用于save,android,sharedpreferences,Android,Sharedpreferences,我正在使用SharedReferences保存用户名,但它不起作用 在登录活动中(阅读): 在第二个活动中(写入): 我认为问题在于您无法读取写入的值。您需要在登录活动中使用相同的文件: SharedPreferences prefs = this.getSharedPreferences("com.mesbahsoft.IRIB", Context.MODE_PRIVATE); 如果这不起作用,请明确说明您在何处看到问题,并指定看到的异常情况。您在活动中访问不同的共享首选项 this.get

我正在使用
SharedReferences
保存用户名,但它不起作用

在登录
活动中
(阅读):

在第二个
活动中
(写入):


我认为问题在于您无法读取写入的值。您需要在登录活动中使用相同的文件:

SharedPreferences prefs = this.getSharedPreferences("com.mesbahsoft.IRIB", Context.MODE_PRIVATE);

如果这不起作用,请明确说明您在何处看到问题,并指定看到的异常情况。

您在活动中访问不同的共享首选项

this.getPreferences(Context.MODE\u PRIVATE)
是this.getSharedReferences()的缩写


活动。getPreferences(int模式)
(在登录活动中使用)有一条注释:

检索{@link SharedPreferences}对象以访问此活动专用的首选项

在第二个活动中,使用
activity.getSharedReferences(字符串名称,int模式)
并提供与应用程序Id类似的名称

实际上,您在每个活动中使用了两组不同的共享首选项


我建议使用
PreferenceManager.getDefaultSharedReferences(上下文)
如果您打算在整个应用程序中使用共享首选项。

什么不起作用?请具体说明。您是否能够无错误地编写,获取sharedpref,但读取空值?下面是一个关于如何使用sharedPreferences保存、检索和清除数据的教程:您可能想试试。
SharedPreferences prefs = 
    getSharedPreferences("com.mesbahsoft.IRIB", MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
String userNameKey = "userName";
editor.putString(userNameKey, ocUser);
editor.commit();
SharedPreferences prefs = this.getSharedPreferences("com.mesbahsoft.IRIB", Context.MODE_PRIVATE);
getSharedPreferences("com.mesbahsoft.IRIB", MODE_PRIVATE);