在我的应用程序中,我在共享的pref文件中获得了用户信息。当用户在登录页面上输入他们的详细信息时,我只希望其信息在共享pref文件中的用户登录。我该怎么做?
答案 0 :(得分:3)
您可以使用应用共享偏好设置。可以使用您为这些 prefs 设置的密钥随时访问prefs。
static final String KEY_USERNAME = "username";
static final String KEY_PASSWORD = "password";
if (saveLogInDetail) { //save username and pw to prefs
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
Editor ed = prefs.edit();
ed.putString(KEY_USERNAME, theUsername);
ed.putString(KEY_PASSWORD, thePW);
ed.commit();
}
要访问该信息或查看有效的用户名和密码,请使用以下信息:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String storedUsername = prefs.getString(KEY_USERNAME, "Default Value if not found");
String storedPassword = prefs.getString(KEY_PASSWORD, ""); //return nothing if no pass saved
答案 1 :(得分:1)
将您的登录数据存储在sharedpreferences中: String username =“dipali”; String pass =“1111”;
SharedPreferences.Editor editor = viewLoginScreen
.getSharedPreferences(
"prefernce",
Context.MODE_PRIVATE).edit();
editor.putString(
"username",
user);
editor.commit();
SharedPreferences.Editor editor = viewLoginScreen
.getSharedPreferences(
"prefernce",
Context.MODE_PRIVATE).edit();
editor.putString(
"pass",
pass);
editor.commit();
获取共享prefences数据:
SharedPreferences shar = viewLoginScreen
.getSharedPreferences(
"prefernce",
Context.MODE_PRIVATE);
String username=shar.getString("username","");
String pass=shar.getString("pass","");
答案 2 :(得分:-1)
您应该使用SQlite数据库而不是使用共享首选项。设置数据库后,如果用户不是注册,则将用户凭据插入数据库。在您的情况下,检查当前用户是否在数据库中,如果退出对其他人进行身份验证,则可以强制他注册到应用程序。您可以在此处详细查看sqlite http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html