Java 共享首选项未保存以供登录

Java 共享首选项未保存以供登录,java,android,sharedpreferences,Java,Android,Sharedpreferences,我正在尝试在用户登录后使用android应用程序的共享首选项。在我的应用程序中,用户输入他的登录信息,然后发送到api,如果他们登录,api将返回用户名和id 我使用以下命令保存共享首选项数据: //set preferences SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(c); SharedPreferences.Editor editor = preferences.edit()

我正在尝试在用户登录后使用android应用程序的共享首选项。在我的应用程序中,用户输入他的登录信息,然后发送到api,如果他们登录,api将返回用户名和id

我使用以下命令保存共享首选项数据:

//set preferences
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(c);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("userName",userName);
editor.putString("userID",userID);
editor.commit();
SharedPreferences prefs = getPreferences(MODE_PRIVATE); 
String restoredText = prefs.getString("userName", null);
String restoredText2 = prefs.getString("userID", null);

Toast.makeText(this,  restoredText, Toast.LENGTH_SHORT).show();
Toast.makeText(this,  restoredText2, Toast.LENGTH_SHORT).show();
然后,我尝试通过以下方式访问数据:

//set preferences
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(c);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("userName",userName);
editor.putString("userID",userID);
editor.commit();
SharedPreferences prefs = getPreferences(MODE_PRIVATE); 
String restoredText = prefs.getString("userName", null);
String restoredText2 = prefs.getString("userID", null);

Toast.makeText(this,  restoredText, Toast.LENGTH_SHORT).show();
Toast.makeText(this,  restoredText2, Toast.LENGTH_SHORT).show();

使用

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(c);
在设置和获取方法中

getPreferences
是活动的专用设置。当您使用
getPreferences
方法时,它会创建一个带有活动文件名的首选项。

*您可以使用我创建的这个类—它使用起来很简单*

代码中的用法

CommonUtil.setStringPreference(MyClass.this, "UID", userID);
CommonUtil.setStringPreference(MyClass.this, "PASS", pinNo);