在共享首选项中如何在android应用程序中存储字符串数组

时间:2012-04-20 06:49:42

标签: android sharedpreferences

在我的应用程序中使用基本适配器中的列表视图。

当我点击项目时,其id存储在共享首选项字符串数组格式中。如何以字符串数组格式保存多个项目ID [1,2,5,6]喜欢这个....

提前感谢...

3 个答案:

答案 0 :(得分:10)

您也可以尝试使用JSONArray,因为JSON也是light-weight,您可以创建JSONArray并将其作为字符串写入SharedPreference。

要写,

       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();

要阅读,

        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();
        }

答案 1 :(得分:4)

如果您使用的是API 11,则可以使用putStringSet。否则,您可以将字符串数组转换为@hotverispicy提到的单个字符串,也可以使用SQLite数据库

答案 2 :(得分:3)

您可以通过,(逗号)分隔符将其保存为字符串,并在获取时使用split()

string toPut="";

toPut += "listItem,";

SharePreference和commit()

中设置 toPut

要在数组中获得相同的内容:从SharePreference获取 prefString

String[] fetchArray= prefString.split(",");