代码复制可用
封装方法
public class ObjectSaveUtils {
/**
* 保存对象
* @param context
* @param name
* @param obj
*/
public static void saveObject(Context context, String name, Object obj) {
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
fos = context.openFileOutput(name, Context.MODE_PRIVATE);
oos = new ObjectOutputStream(fos);
oos.writeObject(obj);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
// fos流关闭异常
e.printStackTrace();
}
}
if (oos != null) {
try {
oos.close();
} catch (IOException e) {
// oos流关闭异常
e.printStackTrace();
}
}
}
}
/**
* 读取对象
* @param context 上下文
* @param name KEY
* @return 返回对象,没有对象返回空
*/
public static Object getObject(Context context, String name) {
FileInputStream fis = null;
ObjectInputStream ois = null;
try {
fis = context.openFileInput(name);
ois = new ObjectInputStream(fis);
return ois.readObject();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
// fis流关闭异常
e.printStackTrace();
}
}
if (ois != null) {
try {
ois.close();
} catch (IOException e) {
// ois流关闭异常
e.printStackTrace();
}
}
}
return null;
}
}
具体使用
下面的 “object” 就是需要保存的对象数据
KEY:随便写,读取的时候对应就好,多个对象保存时 KEY 不重复就好
ObjectSaveUtils.saveObject(MainActivity02.this, "KEY", object); //保存数据对象
//根据你的对象读取
List<Exchange> ExchangeObject = (List<Exchange>) ObjectSaveUtils.getObject(MainActivity02.this, "KEY"); //读取数据对象