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
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();
}
you can add only primitive values to sharedpreference
......
refer this doc:
http://developer.android.com/reference/android/content/SharedPreferences.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With