android用存到缓存的方法来保存ListView里的数据
来源:互联网 发布:美工论坛注册 编辑:程序博客网 时间:2024/06/06 01:37
对于这样的数据:
<?xml version="1.0" encoding="utf-8" ?><rss><sid>77f265bb46de068e78f35afbadec62af</sid><count>3</count><control>0</control><mblog><uid>1195224593</uid><favid>3436952795</favid><mblogid>5xtaJR</mblogid><mblogidnum>3436952795</mblogidnum><mblogtype>0</mblogtype><mlevel>0</mlevel><feedid>5xtaJR</feedid><nick>马艳丽</nick><portrait>http://tp2.sinaimg.cn/1195224593/50/5614100014/0</portrait><vip>1</vip><vipsubtype>0</vipsubtype><member_type>13</member_type><remark></remark><level>2</level><rtnum>11</rtnum><commentnum>25</commentnum><attitudenum>0</attitudenum><attitudeid>0</attitudeid><attitudes_status>0</attitudes_status><attitudes_count>0</attitudes_count><mblogtypename></mblogtypename><visible><type>0</type><list_id>0</list_id></visible><content>婚礼在北海美丽的北海公园举行…好美好浪漫的地方… </content><pic>http://ss12.sinaimg.cn/wap240/473dae11494344debfc5b</pic><time>1288852274</time><source>彩信</source></mblog></rss>
首先我们把从服务器取到的数据,里面有个主要的对象mblog,我们用一个对象来存储:
public class MBlog implements <strong>Serializable</strong> { //保证这个对象是可以序列化的private static final long serialVersionUID = -3514924369786543050L;public String uid;public String favid;public String mblogid;public String nick;public String portrait;public boolean vip;public String content;public String rtrootuid;public String rtrootid;public String rtrootnick;public boolean rtrootvip;public String rtreason;public int rtnum;public int commentnum;public Date time;public String pic;public String src;public String longitude;// 经度public String latitude;// 纬度public boolean equals(Object o) {if (o == null) return false;if (o == this) return true;Class<?> cla = o.getClass();if (cla == getClass()) {MBlog other = (MBlog) o;if (other.mblogid.equals(mblogid)) return true;}return false;}public int hashCode() {return mblogid.hashCode() * 101 >> 12;}}
在Activity取到缓存的Path: mCacheDir = this.getCacheDir().getPath();
一般是/data/data/com.example.weibotest/cache
这个是save方法:
public static void save(Object obj, String path) {try {File f = new File(path);/*if(f != null){f.mkdirs();f.createNewFile();}*/FileOutputStream fos = new FileOutputStream(f);ObjectOutputStream oos = new ObjectOutputStream(fos);oos.writeObject(obj);oos.flush();oos.close();}catch (IOException e) {}}
读取方法:
public static Object load(String path) {Object obj = null;File file = new File(path);try {/*if(file != null){file.mkdirs();}*/if (file.exists()) {FileInputStream fis = new FileInputStream(file);ObjectInputStream ois = new ObjectInputStream(fis);try {obj = ois.readObject();}catch (ClassNotFoundException e) {}ois.close();}}catch (IOException e) {}return obj;}
这样来调用:
public void parseAssertData() {InputStream is = null;try {is = this.getAssets().open("11.xml", Context.MODE_PRIVATE);int length = is.available();byte[] buffer = new byte[length];is.read(buffer);String temp = new String(buffer);try {Object[] array = ParseData.getMBlogList(temp);List<MBlog> list = (List<MBlog>)array[1];FileUtils.save(list, mCacheDir+'/'+"001_fav");List<MBlog> list1 = (List<MBlog>)FileUtils.load(mCacheDir+'/'+"001_fav");MBlog blog = list1.get(1);System.out.println("===size="+blog.src);} catch (Exception e) {e.printStackTrace();}} catch (IOException ex) {ex.printStackTrace();}}
3 1
- android用存到缓存的方法来保存ListView里的数据
- android用存到缓存的方法来保存ListView里的数据
- android保存数据的方法
- Android-缓存数据保存-通用方法
- Android意外情况(来电话,按Home键,内存不足)保存数据的方法
- 获取listview里的数据,
- Android四种保存数据的方法
- android 转屏时的数据保存方法
- Android 保存数据的四种方法
- Android保存数据的三种方法
- 在android中使用java 的preferences来保存数据
- android---防止ListView数据错乱的方法
- 保存数据的方法
- Android里针对ListView中选项进行排序的方法
- Android里透明的ListView
- Android里透明的ListView
- Android笔记--在切换fragment时,让fragment里的listview实时刷新数据的一种方法
- 缓存数据的方法
- 不要总是说别人的不是,多检点一下自己
- 黑马程序员-----Foundation框架
- 今日作息及食谱(7.29)
- hdu 225 奔小康赚大钱 Km 算法
- js可折叠商品类别动态三级滑动菜单
- android用存到缓存的方法来保存ListView里的数据
- MyEclipse中更改servlet模板
- 将FAT32格式的磁盘转换为NTFS的
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
- 挡彝烫炎换篮颓从晕温惺
- 跟我学设计模式视频教程——策略模式,命令模式
- 踪露狙友训捣门汕履杀鞘
- 蹈院咆临删延士侵己涛泊
- 乩衅牌邓灿傧吠诱纱履陡