listview联网之前就显示以前的数据
以前因为是把数据保存到数据库,但那样很麻烦,后来看了oschina客户端发现把数据序列换然后保存到文件就可以了
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import android.content.Context;
/**
*
* @author zhulei
*
*/
public class FileObj {
private Context context;
public FileObj(Context context) {
this.context = context;
}
/**
* 保存对象
* @param ser
* @param file
* @throws IOException
*/
public boolean saveObject(Serializable ser, String file) {
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try{
fos = context.openFileOutput(file, Context.MODE_PRIVATE);
oos = new ObjectOutputStream(fos);
oos.writeObject(ser);
oos.flush();
return true;
}catch(Exception e){
e.printStackTrace();
return false;
}finally{
try {
oos.close();
} catch (Exception e) {}
try {
fos.close();
} catch (Exception e) {}
}
}
/**
* 读取对象
* @param file
* @return
* @throws IOException
*/
public Serializable readObject(String file){
FileInputStream fis = null;
ObjectInputStream ois = null;
try{
fis = context.openFileInput(file);
ois = new ObjectInputStream(fis);
return (Serializable)ois.readObject();
}catch(FileNotFoundException e){
}catch(Exception e){
e.printStackTrace();
}finally{
try {
ois.close();
} catch (Exception e) {}
try {
fis.close();
} catch (Exception e) {}
}
return null;
}
}