展会信息港展会大全

android用存到缓存的方法来保存ListView里的数据
来源:互联网   发布日期:2015-12-04 16:23:50   浏览:752次  

导读:对于这样的数据:77f265bb46de068e78f35afbadec62af30119522459334369527955xtaJR3436952795005xtaJR马艳丽http:...

对于这样的数据:

77f265bb46de068e78f35afbadec62af30119522459334369527955xtaJR3436952795005xtaJR马艳丽http://tp2.sinaimg.cn/1195224593/50/5614100014/0101321125000000婚礼在北海美丽的北海公园举行…好美好浪漫的地方… http://ss12.sinaimg.cn/wap240/473dae11494344debfc5b1288852274彩信

首先我们把从服务器取到的数据,里面有个主要的对象mblog,我们用一个对象来存储:

public class MBlog implements Serializable {//保证这个对象是可以序列化的

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 list = (List)array[1];

FileUtils.save(list, mCacheDir+'/'+"001_fav");

List list1 = (List)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();

}

}

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港