Android共享首选项如何注册用户然后保持登录

时间:2016-06-05 07:24:36

标签: android android-studio login sharedpreferences registration

我对Android Studio相当陌生,我正在使用下面的代码尝试制作它,以便不是总是提示用户登录,而是应该保存/注册用户首先去,所以他们总是在应用程序运行时登录,即跳过登录。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    // declaring variebles
    etUsername = (EditText)findViewById(R.id.etUsername);
    etPassword= (EditText)findViewById(R.id.etPassword);
    btnLogin = (Button)findViewById(R.id.btnLogin);
    etIpAddress = (EditText) findViewById(R.id.etIpAddress);

    // setting up things for login button
    btnLogin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            String ipAddress = etIpAddress.getText().toString();

            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(LoginActivity.this);

            sharedPreferences.edit()
                    .putString("ip", ipAddress)
                    .apply();

            String username = etUsername.getText().toString().trim();
            String password = etPassword.getText().toString().trim();

            performLogin(username, password, ipAddress);
        }
    });
}

1 个答案:

答案 0 :(得分:0)

只需检查onCreate是否存在以前的ip

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(LoginActivity.this);
    if (sharedPreferences.contains("ip")) {                 
         performLogin(username, password, sharedPreferences.getString("ip","default value here"));
    }

    //other code 
}