当我的应用程序启动时,会出现登录活动。它包含复选框“下次给我签名”。如果选中了复选框,我想在下次应用程序启动时启动另一个 Activity 并将用户的用户名和密码发送给它。
我该如何实施?
当我的应用程序启动时,会出现登录活动。它包含复选框“下次给我签名”。如果选中了复选框,我想在下次应用程序启动时启动另一个 Activity 并将用户的用户名和密码发送给它。
我该如何实施?
您可能希望将用户名和复选框值保存在 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
}
用于SharedPreferences
保存您的用户名和密码。当您的活动开始时,检查它们是否存储在Shared Preferences
. 你可以在谷歌找到很多很好的例子Shared Preferences
。
在您的登录活动中执行以下操作,
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", "");