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; } }