save ArrayList to Sharedpreferences
where each element in ArrayList is a string
editor = getSharedPreferences("EnvironDataList", MODE_PRIVATE).edit();editor.putInt("EnvironNums", environmentList.size());for (int i = 0; i < environmentList.size(); i++){ editor.putString("item_"+i, environmentList.get(i));}editor.commit();
The corresponding fetch operation is:
List<String> environmentList = new ArrayList<String>();SharedPreferences preferDataList = getSharedPreferences("EnvironDataList", MODE_PRIVATE);int environNums = preferDataList.getInt("EnvironNums", 0);for (int i = 0; i < environNums; i++) { String environItem = preferDataList.getString("item_"+i, null); environmentList.add(environItem);}
save ArrayList to Sharedpreferences, where each element of list is a custom object
1 first serialization of custom objects
PublicClassCoordinatealtersampleImplementsSerializable {PrivateDouble X;PrivateDouble y;private String name;PublicDoubleGetX () {return x;} public void SetX (double x) { this.x = x;} public Double GetY () { return y;} public void sety (double y) { this.y = y;} Public String getName () { return name;} Public void setName (String name) { this.name = name;}}
Second, convert list to JSON and save to sharedpreferences
list<coordinatealtersample> alterSamples = new Arraylist<coordinatealtersample> () ; Sharedpreferences "altersampleslist", mode_private) .edit () ; Gson Gson = new Gson () .tojson (altersamples) ; Log.d (TAG, "saved JSON is" + JSON) ;editor.putstring ( " Altersamplejson ", JSON) ;editor.commit ()
The corresponding fetch operation is:
Sharedpreferences Preferences= Getsharedpreferences ("Altersampleslist", mode_private);String JSON= Preferences. getString ("Altersamplejson",NULL);if (JSON!=NULL) {Gson Gson=New Gson ();TypeType=New TypeToken<List<coordinatealtersample>> () {}. GetType ();List<coordinatealtersample> Altersamples=New ArrayList<coordinatealtersample> (); Altersamples= gson.fromjson (JSON, type); for ( int i = 0; I < Altersamples.size (); I++) {log.D ( tag, Altersamples.get (i) + ":" + Altersamples.get (i) .getx () + + altersamples.get (i) .gety ()); }}
Android save ArrayList to Sharedpreferences