Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I add an int array into shared preferences?

Tags:

arrays

android

I am trying to save an int array into the shared preferences.

int myInts[]={1,2,3,4};
SharedPreferences prefs = getSharedPreferences(
                        "Settings", 0);
                SharedPreferences.Editor editor = prefs
                        .edit();
                editor.putInt("savedints", myInts);

Since the putInt method does not accept int arrays, I was wondering if anyone knew another way to do this. Thanks

like image 936
Sean Avatar asked Dec 02 '22 01:12

Sean


2 Answers

Consider JSON. JSON is well integrated into Android and you can serialize any complex type of java object. In your case the following code would be suited well.

// write
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    JSONArray arr = new JSONArray();
    arr.put(12);
    arr.put(-6);
    prefs.edit().putString("key", arr.toString());
    prefs.edit().commit();
    // read
    try {
        arr = new JSONArray(prefs.getString("key", "[]"));
        arr.getInt(1); // -6
    } catch (JSONException e) {
        e.printStackTrace();
    }
like image 122
AZ13 Avatar answered Dec 28 '22 09:12

AZ13


you can add only primitive values to sharedpreference ......

refer this doc:

http://developer.android.com/reference/android/content/SharedPreferences.html

like image 26
Vineet Shukla Avatar answered Dec 28 '22 11:12

Vineet Shukla