4

当我的应用程序启动时,会出现登录活动。它包含复选框“下次给我签名”。如果选中了复选框,我想在下次应用程序启动时启动另一个 Activity 并将用户的用户名和密码发送给它。

我该如何实施?

4

3 回答 3

4

您可能希望将用户名和复选框值保存在 SharedPreferences 中。之后,您可以在应用程序启动时检索它们。

例子:

//Saving the values
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("username",username);
editor.putString("password",password);
editor.putBoolean("isChecked", isCheckBoxChecked);
editor.commit();

//Retrieving the values
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
if(sharedPreferences.getBoolean("isChecked"))
{
     //Do whatever you need to do if it's checked
}
于 2012-08-21T08:46:11.520 回答
1

用于SharedPreferences保存您的用户名和密码。当您的活动开始时,检查它们是否存储在Shared Preferences. 你可以在谷歌找到很多很好的例子Shared Preferences

于 2012-08-21T08:41:27.307 回答
0

在您的登录活动中执行以下操作,

 pref = getSharedPreferences(PREFS_NAME, 0);
 intent = new Intent(context, LaunchingActivity.class);

 isChecked = pref.getBoolean("isChecked", false); 
 if(isChecked)
      startActivity(intent);


 btn.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        if(username.equalsIgnoreCase("") && password.equalsIgnoreCase("")) {
            username = userEdtTxt.getText().toString();
            password = pwdEdtTxt.getText().toString();
        }

        if(checkBox.isChecked()) {              
            editor = pref.edit();
            editor.putString("username", username);
            editor.putString("password", password);
            editor.putString("isChecked", true);
            editor.commit();
        }   
        startActivity(intent);      
    }

 });

然后在启动活动中执行此操作,

 SharedPreferences pref = getSharedPreferences(PREFS_NAME, 0);
 String username = pref.getString("username", "");
 String password = pref.getString("password", "");
于 2012-08-21T10:15:22.340 回答