如何使用sql数据库在android中自动登录

时间:2015-12-18 06:26:40

标签: android eclipse login

我在android中使用sql数据库的自动登录系统有问题。在此之前,我遵循本教程:

http://techblogon.com/android-login-registration-screen-with-sqlite-database-example/

使用sql进行安卓登录,但是如果用户关闭应用程序,我想修改为自动登录,任何机构都可以给我确切的代码,每个答案对我来说非常有用,谢谢之前

2 个答案:

答案 0 :(得分:1)

如果用户关闭应用程序,自动登录是什么意思?我想您想要首次运行应用程序时询问用户帐户信息,并且在连续运行时,应用程序会自动登录。您可以使用共享偏好。 http://developer.android.com/reference/android/content/SharedPreferences.html

答案 1 :(得分:0)

可能是你试图说当你关闭app时,用户不必再次输入登录凭据,你说的是自动登录,为此。 在android

中使用shared preferences和会话管理器

以下步骤: -

    在您的登录页面中
  • 请检查以下条件

    session = new SessionManager(getApplicationContext());
    
    // Check if user is already logged in or not
    if (session.isLoggedIn()) {
        // User is already logged in. Take him to main activity
        Intent intent = new Intent(LoginActivity.this, MainActivity.class);
        startActivity(intent);
        finish();
    }
    

然后在注销时清除会话

if (id == R.id.action_logout) {
        //clearing the stored sessions
        session.setLogin(false);
        Intent intent = new Intent(this.getApplicationContext(), LoginActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
        startActivity(intent);
        return true;
    }

这里的会话管理器看起来像我的情况

package com.vikaskumar.materialdesign.helper;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.util.Log;
public class SessionManager {
    // Shared preferences file name
    private static final String PREF_NAME = "PrefName";
    private static final String KEY_IS_LOGGEDIN = "isLoggedIn";
    private static final String NAME = "name";
    private static final String EMAIL = "email";
    private static final String FLAG = "flag";
    // LogCat tag
    private static String TAG = SessionManager.class.getSimpleName();
    // Shared Preferences
    SharedPreferences pref;
    Editor editor;
    Context _context;
    // Shared pref mode
    int PRIVATE_MODE = 0;

    public SessionManager(Context context) {
        this._context = context;
        pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
        editor = pref.edit();
    }

    public void setLogin(boolean isLoggedIn) {

        editor.putBoolean(KEY_IS_LOGGEDIN, isLoggedIn);

        // commit changes
        editor.commit();

        Log.d(TAG, "User login session modified!");
    }

    public void setUserFlag(String flag) {
        editor.putString(FLAG, flag);
        editor.commit();
    }

    public String getUserEmail() {
        return pref.getString(EMAIL, null);
    }

    public void setUserEmail(String email) {
        editor.putString(EMAIL, email);
        editor.commit();
    }

    public String getFLAG() {
        return pref.getString(FLAG, null);
    }

    public String getUserName() {
        return pref.getString(NAME, null);
    }

    public void setUserName(String name) {
        editor.putString(NAME, name);
        editor.commit();
    }

    public boolean isLoggedIn() {
        return pref.getBoolean(KEY_IS_LOGGEDIN, false);
    }
}

我希望这会对你有所帮助,这里有一个很好的教程 tutorial