带有缓存的Android登录应用

时间:2018-07-23 07:34:51

标签: java android

我正在尝试使用缓存开发一个应用程序。该应用程序将检查服务器中的登录凭据并允许用户。我希望用户只登录一次,例如 Facebook G mail 应用等。

到目前为止,我正尝试使用共享的首选项来首次存储登录凭据,当用户下次尝试打开应用程序时,我将使用存储的凭据登录。但是我想像G邮件应用程序那样简化它,仅当我需要登录时,下次用户打开该应用程序时,除非他注销,否则不会向他显示登录页面。

onCreate 中,我正在检查是否已存储凭据,然后我将使用该凭据登录,否则用户必须输入登录凭据并按登录按钮。

sharedPref_login = MainActivity.this.getSharedPreferences("login_credentials",Context.MODE_PRIVATE);

        username = sharedPref_login.getString("username", defaultValue);
        password = sharedPref_login.getString("password", defaultValue);
        roles = sharedPref_login.getString("roles", defaultValue);

        if (!username.equals("")){
            if (!isInternetOn()){
                Toast.makeText(MainActivity.this, "Restart the application once the internet connection established", Toast.LENGTH_SHORT).show();
            }
            else {
                Applogin(username, password, millisInString);

            }
        }

除非他按注销按钮,否则我只想登录一次即可避免这种方法。

2 个答案:

答案 0 :(得分:0)

您应该使用 SharedPreferences

这是为了保存数据:

    SharedPreferences prefs = getSharedPreferences("UserData", MODE_PRIVATE);
    SharedPreferences.Editor editor = prefs.edit();
    editor.putString("username", username);
    editor.putString("password", password);
    editor.commit();

这是为了检索它:

    SharedPreference prefs = getSharedPreferences("UserData", MODE_PRIVATE);
    String username = prefs.getString("username","");
    String pwd = prefs.getString("password","");

答案 1 :(得分:0)

//Fetching id from shared preferences
    SharedPreferences sharedPreferences;
    sharedPreferences =getSharedPreferences(Constant.SHARED_PREF_NAME, Context.MODE_PRIVATE);
    username = sharedPreferences.getString(Constant.USERNAME_SHARED_PREF, "");
    password = sharedPreferences.getString(Constant.PASSWORD_SHARED_PREF, "");


if(!username.equals("")){ 
     Intent intent = new Intent(getApplicationContext(),LoginActivity.class)
startActivity(intent)
}else{
     if (!isInternetOn()){
            Toast.makeText(MainActivity.this, "Restart the application once the internet connection established", Toast.LENGTH_SHORT).show();
        }
        else {
            Applogin(username, password, millisInString);

        }
}