我需要使用SharedPreference在我的应用程序中保存登录名,密码和其他字符串,但我不想使用默认布局的首选项。
我已阅读过SharedPref的文档:http://developer.android.com/guide/topics/ui/settings.html#ReadingPrefs
但是......哼。 我创建了一个名为preferences_dashboard的类。 在这个课程中,如果选中了checkbow,我会备份登录等,如果未选中该复选框,则删除备份。
有我的代码:
public void saveID(View v) {
// strMessage is the message with appears when clicking on Checkbox
String strMessage = "";
CheckBox chkBoxSaveID;
chkBoxSaveID = (CheckBox) findViewById(R.id.preferencecheckBoxSaveID);
boolean chkBoxSaveIDState = chkBoxSaveID.isChecked();
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit(); // Put the values from the UI
if (chkBoxSaveID.isChecked()) {
// Backup LOGIN
String userLogin ="Administrator2";
String userPassword = "password2";
String userDomain = "12";
editor.putString("KEY_USER_LOGIN", userLogin); // Storing string
editor.putString("KEY_USER_PASSWORD", userPassword); // Storing string
editor.putString("KEY_USER_DOMAIN", userDomain); // Storing string
editor.putBoolean("stateChkBoxMemorizeID", chkBoxSaveIDState); // value to store
editor.commit(); // commit changes
strMessage += "ID memorized" + "KEY_USER_DOMAIN" + userPassword + userDomain;
showTextNotification(strMessage);
} else {
// No backup LOGIN
editor.remove("KEY_USER_LOGIN"); // will delete key name
editor.remove("KEY_USER_PASSWORD");
editor.remove("KEY_USER_DOMAIN");
editor.putBoolean("stateChkBoxMemorizeID", chkBoxSaveIDState); // value to store
editor.commit(); // commit changes
strMessage += "Login is not memorized ";
showTextNotification(strMessage);
}
} // end saveID
我想我真的不明白如何使用SharedPreferences。 字符串登录/通过/域是固定的测试。之后,我将重新讨论其他活动的变量。
我的问题:
感谢您的帮助。
答案 0 :(得分:0)
改为使用:
SharedPreferences sharedPreferences = getSharedPreferences("customSharedPrefs", Context.MODE_PRIVATE);
通过这种方式,您可以使用单独的SharedPreferences来存储所需的信息。你可以说出任何东西。只需将名称作为字符串传递,就像我使用"customSharedPrefs"
一样。
因此,您可以使用不同的名称创建多个SharedPreferences
。