Android SharedPreferences保存集合(List類型)


 

安卓項目中會經常遇到使用SharedPreferences的情況,如果要保存的類型是List,可以這樣實現:
1.定義MessageModel .java


public class MessageModel implements Serializable{ private String name; private String title; private String body; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getBody() { return body; } public void setBody(String body) { this.body = body; } } 

2.集合中添加數據並保存:

List namelist = new ArrayList<>(); MessageModel messageModel = new MessageModel(); messageModel.setName(name.getText().toString()); messageModel.setTitle(title.getText().toString()); messageModel.setBody(body.getText().toString()); namelist.add(messageModel); SharedPreferences sp = mBaseActivity.getSharedPreferences("SP_NewUserModel_List", Activity.MODE_PRIVATE);//創建sp對象 Gson gson = new Gson(); String jsonStr=gson.toJson(namelist); //將List轉換成Json SharedPreferences.Editor editor = sp.edit() ; editor.putString("KEY_NewUserModel_LIST_DATA", jsonStr) ; //存入json串 editor.commit() ; //提交 

3.讀取數據

SharedPreferences sp = mBaseActivity.getSharedPreferences("SP_NewUserModel_List",Activity.MODE_PRIVATE);//創建sp對象,如果有key為"SP_PEOPLE"的sp就取出 String peopleListJson = sp.getString("KEY_NewUserModel_LIST_DATA",""); //取出key為"KEY_PEOPLE_DATA"的值,如果值為空,則將第二個參數作為默認值賦值 if(peopleListJson!="") //防空判斷 { Gson gson = new Gson(); namelist = gson.fromJson(peopleListJson, new TypeToken<List<MessageModel>>() {}.getType()); //將json字符串轉換成List集合 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM