Skip to content Skip to sidebar Skip to footer

In Shared Preferences How To Store String Array In Android Application

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 string array for

Solution 1:

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

Solution 2:

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


Solution 3:

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

Post a Comment for "In Shared Preferences How To Store String Array In Android Application"