In shared preferences how to store string array in android application

后端 未结 3 489
不知归路
不知归路 2020-12-16 08:21

In my application am using list view in base adapter.

when i click the item its id store in shared preferences string array format. how to save multiple item id in s

相关标签:
3条回答
  • 2020-12-16 08:40

    If you are using API 11 then its possible by using putStringSet. Otherwise you may either convert your string array into a single string as mentioned by @hotverispicy or use SQLite database

    0 讨论(0)
  • 2020-12-16 08:51

    you can save it as string by ,(comma) seperator and while fetching just use split()

    string toPut="";
    
    toPut += "listItem,";
    

    set toPut in your SharePreference and commit()

    To get the same in array: get prefString from SharePreference

    String[] fetchArray= prefString.split(",");
    
    0 讨论(0)
  • 2020-12-16 08:58

    You can try using JSONArray as JSON is light-weight also, you can create a JSONArray and write it to SharedPreference as String.

    To write,

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

    To Read,

            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();
            }
    
    0 讨论(0)
提交回复
热议问题