3

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 format [1,2,5,6] like this

3 Answers 3

10

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();
        }
Sign up to request clarification or add additional context in comments.

Comments

4

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

Comments

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

3 Comments

Not so great if your strings have commas in them.
what about special character? like @ | and so on.
Why don't you use regular expressions for the commas in the string.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.