我在android中使用sql数据库的自动登录系统有问题。在此之前,我遵循本教程:
http://techblogon.com/android-login-registration-screen-with-sqlite-database-example/
使用sql进行安卓登录,但是如果用户关闭应用程序,我想修改为自动登录,任何机构都可以给我确切的代码,每个答案对我来说非常有用,谢谢之前
答案 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