一、前言:最近公司的项目马上要做盘库功能了,大概就是当盘库的时候扫描芯片扫描到一半时停止扫描后,需要把已经扫描好的芯片存放到app的内部存储中。我先试着写了一下,发现还是用sharePreference最合适。
二、上代码
新建一个model:CalculateNotDone
public class CalculateNotDone {
/**
* 我要新建一个model里面存放的是已经盘库好的芯片编码吗
*/
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;
}
}
fragment中的代码:
/**
* 生成内部存储文件
*/
List<CalculateNotDone> list = new ArrayList<>();
CalculateNotDone calculateNotDone = new CalculateNotDone();
calculateNotDone.setName("朱文静");
calculateNotDone.setTitle("内部存储");
calculateNotDone.setBody("166");
list.add(calculateNotDone);
Gson gson = new Gson();
String jsonStr = gson.toJson(list);//将list转化为json
SharedPreferences sp = getActivity().getSharedPreferences("mData", Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
edit.putString("listData",jsonStr);//存入json字符串
edit.commit();
/**
* 删除key对应的list
*/
SharedPreferences userSettings= getActivity().getSharedPreferences("mData", 0);
SharedPreferences.Editor editor = userSettings.edit();
editor.remove("listData");
editor.commit();
三、总结:这个方法只能适用于简单的数据存储,如果是大量数据我还建议使用数据库。我在网上看这个方法会使得app启动速度变慢,具体怎么做我已经不想看了,等以后在研究吧!
最后 与君共勉。