共享首选项同时保存超过 1 个值

Shared Preferences save more than 1 value at the same time

我是 android 编程新手,我想知道是否可以同时在共享首选项中添加多个值。我尝试了以下方法,但是当我尝试获取值时,我只能看到第一个。另一个值是获取默认值。你能帮帮我吗?

我的代码:

    SharedPreferences.Editor editor = getSharedPreferences("prefs", Context.MODE_PRIVATE).edit();
    String string1 = "myString1";
    String string2 = "myString2";
    editor.putString(string1, string2).apply();


    SharedPreferences preferences = getSharedPreferences("prefs", Context.MODE_PRIVATE);
    String string1FromSP = preferences.getString(string1, "default");
    String string2FromSP = preferences.getString(string2, "default");

    Log.e("Value 1", string1FromSP);
    Log.e("Value 2", string2FromSP);

要写:

SharedPreferences preferences = getSharedPreferences("AUTHENTICATION_FILE_NAME", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("Authentication_Id",userid.getText().toString());
editor.putString("Authentication_Password",password.getText().toString());
editor.putString("Authentication_Status","true");
editor.apply();

阅读:

SharedPreferences prfs = getSharedPreferences("AUTHENTICATION_FILE_NAME", Context.MODE_PRIVATE);
String Astatus = prfs.getString("Authentication_Status", "");

Android SharedPreference 中的值像键值对一样存储。并且您正在尝试将它们像列表或可变参数一样存储在一起。

因此要保存您示例中的值

SharedPreferences.Editor editor = getSharedPreferences("prefs", Context.MODE_PRIVATE).edit();
String string1 = "myString1";
String string2 = "myString2";
editor.putString("STRING_1", string1).apply();
editor.putString("STRING_2", string2).apply();


SharedPreferences preferences = getSharedPreferences("prefs", Context.MODE_PRIVATE);
String string1FromSP = preferences.getString("STRING_1", "default");
String string2FromSP = preferences.getString("STRING_2", "default");

Log.e("Value 1", string1FromSP);
Log.e("Value 2", string2FromSP);