2013-07-18 100 views
0

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

+1

请你包括你试过,你遇到了什么错误。 – 2013-07-18 03:52:35

回答

1

在我的应用程序中,我为所有活动创建了一个基类,如果用户使用共享首选项登录,它将检查oncreate。如果没有,我会显示登录屏幕并在成功登录后继续我的应用程序。

0

如果登录是本地的:当你登录 第一次,

Editor editor= YourSharedPreference.edit(); 
editor.put(nameOfAccount,name); 
editor.put(passwordOfAccount,password); 
editor.commit(); 
每次打开应用时,

然后,

if(YourSharedPreference.contain(nameOfAccount)&&YourSharedPreference.contain(passwordOfAccount)) 
{//do not need login} 
else 
{//do login thing} 
+1

请不要以明文存储密码!使用像会话cookie或类似的东西的令牌! – rekire

0

一个简单的方法是将其存储在共享偏好。

Basicaly you request a shared preference then then get string value from it(load)。 使用SharedPreferences.Editor,你可以将put string value加入(保存)。

检查值是否设置(空)会告诉您用户是否已登录您的应用程序。

这里的为例:

@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(); 
} 
+0

请不要以明文形式存储密码!使用像会话cookie或类似的东西,你的答案看起来很好。 – rekire

+0

@rekire我只是100%同意你的观点。但我想让答案尽可能简单。 –