2015-09-06 57 views
0

我正在创建一个我为其创建登录页和主页的Android应用程序。我想在登录页面中实现“让我登录”功能。我尝试this,但仍然不能很好地得到结果。我想我在订购代码时遇到了问题。让我用复选框登录Android

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(); 
     } 
    }); 
+0

'但仍然不能得到好的结果。我认为我在订购代码时遇到了问题'更多地解释您使用当前代码获得的行为 –

+0

我想我应该使用片段来获得结果! – 20050

+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);