在完成记账APP的时候需要用到了用SharedPreferences存取List数组数据,记录下使用。
代码:
保存list数组数据到SharedPreferences中。
private List<String> outcomeitemList;`
SharedPreferences sp = this.getSharedPreferences("data", Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
edit.putInt("size", outcomeitemList.size());
for (int i = 0; i < outcomeitemList.size(); i++) {
edit.putString("type" + i, outcomeitemList.get(i));
}
edit.commit();
取出SharedPreferences中list数组数据。
SharedPreferences sp=this.getSharedPreferences("data",Context.MODE_PRIVATE);
int size=sp.getInt("size",0);
for(int i=0;i<size;i++) {
outcomeitemList.add ( sp.getString("type"+i,null));
}
一开始使用的时候 在循环里“type”后面忘记+i,导致后来显示的时候数据全乱套,补上+i后才正常。
list数组是被存储到了data.xml文件中。data.xml文件位于