0

如何在android中的某些应用程序中编写登录代码,下次我打开应用程序时不需要再次登录?我尝试了很多,但没有成功。如果可能,请给我代码。

4

3 回答 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 回答