如何在android中的某些应用程序中编写登录代码,下次我打开应用程序时不需要再次登录?我尝试了很多,但没有成功。如果可能,请给我代码。
问问题
65 次
3 回答
1
在我的应用程序中,我为我的所有活动创建了一个基类,如果用户使用共享首选项登录,它会签入 oncreate。如果没有,我会显示登录屏幕并在成功登录后继续我的应用程序。
于 2013-07-18T03:41:34.167 回答
0
如果此登录是本地登录:首次登录时,
Editor editor= YourSharedPreference.edit();
editor.put(nameOfAccount,name);
editor.put(passwordOfAccount,password);
editor.commit();
然后每次打开APP,
if(YourSharedPreference.contain(nameOfAccount)&&YourSharedPreference.contain(passwordOfAccount))
{//do not need login}
else
{//do login thing}
于 2013-07-18T03:52:07.577 回答
0
一种将其存储在共享首选项中的简单方法。
基本上您请求共享首选项,然后您可以从中获取字符串值(加载)。使用 SharedPreferences.Editor 您可以将字符串值放入其中(保存)。
检查该值是否已设置(null)将告诉您用户是否已登录您的应用程序。
这里有一个例子:
@Override
protected void onCreate(Bundle state){
super.onCreate(state);
. . .
// Restore preferences
SharedPreferences settings = getSharedPreferences("LOGIN_PREF", 0);
String login = settings.getString("login", null);
String password = settings.getString("password", null);
if(login == null || password == null){
// Do stuff for login user
}else{
// Do stuff for not logged user
}
}
public void saveLogin(String password, String login){
SharedPreferences settings = getSharedPreferences("LOGIN_PREF", 0);
SharedPreferences.Editor loginEditor = settings.edit();
loginEditor.putString("login", login);
loginEditor.putString("password", login);
loginEditor.commit();
}
于 2013-07-18T03:55:07.897 回答