如何在共享首选项中设置数组?

Sco*_*ian 1 android sharedpreferences

可能的重复:
是否可以将数组或对象添加到 Android 上的 SharedPreferences

我使用共享首选项在我的闹钟中创建了多个闹钟,现在我希望闹钟应该在一周中的特定一天响起,为此我想要一个可以保存闹钟响铃日期的数组。谁能告诉如何将数组放入共享首选项以及如何再次检索它..?

SharedPreferences set=getSharedPreferences(MYPR, 0);
            SharedPreferences.Editor ed=set.edit();
            ed.putInt("Ahh", Ahh);
            ed.putInt("Amm",Amm);
            ed.putBoolean("en", true);
            ed.commit();
Run Code Online (Sandbox Code Playgroud)

现在我将闹钟时间及其属性放在共享首选项中。要添加什么来放置数组(星期几)也..?

kam*_*mal 5

来写,

SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(this);
    JSONArray jsonArray = new JSONArray();
    jsonArray.put(1);
    jsonArray.put(2);
    Editor editor = prefs.edit();
    editor.putString("key", jsonArray.toString());
    System.out.println(jsonArray.toString());
    editor.commit();
Run Code Online (Sandbox Code Playgroud)

阅读,

try {
        JSONArray jsonArray2 = new JSONArray(prefs.getString("key", "[]"));
        for (int i = 0; i < jsonArray2.length(); i++) {
             Log.d("your JSON Array", jsonArray2.getInt(i)+"");
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)