让我使用复选框Android登录

时间:2015-09-06 12:43:48

标签: android checkbox sharedpreferences

我正在创建一个Android应用程序,我已经为其创建了登录页面和主页。我想在登录页面中实现“保持登录状态”功能。我尝试this但仍然无法很好地得到结果。我想我在订购代码时遇到了问题。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);


    SharedPreferences settings1 = getSharedPreferences(PREFS_NAME, 0);
    isChecked= settings1.getBoolean("isChecked", false);

    if (isChecked) {
        Intent rememberMe = new Intent(LoginPage.this, HomePageActivity.class);
        startActivity(rememberMe);
    } else {
        setContentView(R.layout.activity_login_page);
    }


    // Retrieving SharedPreferences
    sharedPreferences = this.getPreferences(Context.MODE_PRIVATE);
    // Retrieving editor
    editor = sharedPreferences.edit();

    rememberMeCB.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView,
                boolean isChecked) {
            // TODO Auto-generated method stub
            SharedPreferences settings = getSharedPreferences(PREFS_NAME,
                    0);
            SharedPreferences.Editor editor = settings.edit();
            editor.putBoolean("isChecked", isChecked);
            editor.commit();
        }
    });

1 个答案:

答案 0 :(得分:0)

用户打开应用后,检查共享首选项是否包含用户详细信息密钥。如果用户选择让我登录,则存储密钥。

protected void onCreate(Bundle savedInstanceState) {
    shrd=getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE);
    if(shrd.contains("username")==true && shrd.contains("password")==true)
    {

        Intent in=new Intent(LoginScreen.this,MainActivity.class);
        startActivity(in);
        finish();


    }
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_screen);