设为首页 加入收藏

TOP

Android 保存浏览记录 SharedPreTools(二)
2014-11-24 02:01:46 来源: 作者: 【 】 浏览:5
Tags:Android 保存 浏览 记录 SharedPreTools
eferences loginUserInfo = EdjApp.getInstance().
getSharedPreferences(per_name, Context.MODE_APPEND);
Map maps = loginUserInfo.getAll();//取出所有数据
List oblist = new ArrayList();
Iterator it = maps.values().iterator();
while(it.hasNext()){
String base64Str = (String) it.next();
byte[] base64Bytes = Base64.decodeBase64(base64Str .getBytes());
ByteArrayInputStream bais = new ByteArrayInputStream(base64Bytes);
ObjectInputStream ois;
try {
ois = new ObjectInputStream(bais);
T tempobj = (T) ois.readObject();
oblist.add(tempobj);
// LoginUser loginUser = (LoginUser)tempobj;
} catch (StreamCorruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
ArrayListtempserviceInfo = new ArrayList();
tempserviceInfo.addAll((Collection< extends ServiceInfo>) oblist);

Comparator ascComparator = new ServiceInfoComparator();
Collections.sort(tempserviceInfo, ascComparator);
oblist.clear();
oblist.addAll((Collection< extends T>) tempserviceInfo);

return oblist;
}
/**
* 删除单条对象数据
* @param per_name
* @param key
*/
public static void removeObjectPre(String per_name,String key){
SharedPreferences loginUserInfo = EdjApp.getInstance().
getSharedPreferences(per_name, Context.MODE_APPEND);
Editor preEd = null;
if(loginUserInfo != null){
preEd = loginUserInfo.edit();
}
preEd.remove(key);
preEd.commit();
}

//当前时间为id
public static long getTimeId() {
Date data = new Date();
long time=data.getTime();
return time;
}

//---------------------------
/**
* 储存单条对象
* @param per_name
* @param key
* @param vaule
*/
public static void saveObjectPre(String per_name,String key,Object vaule){
SharedPreferences loginUserInfo = EdjApp.getInstance().
getSharedPreferences(per_name, Context.MODE_APPEND);
Editor preEd = null;
if(loginUserInfo != null){
preEd = loginUserInfo.edit();
}
if(preEd != null){
if(vaule != null){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos=null;
try {
oos = new ObjectOutputStream(baos);
oos.writeObject(vaule);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String info = new String(Base64.encodeBase64(baos.toByteArray()));
preEd.putString(key, info);
}
preEd.commit();
}
}

/**
* 读取对象集合
* @param per_name
* @param oblist
*/
public static List readAllObjectPre(String per_name){
SharedPreferences loginUserInfo = EdjApp.getInstance().
getSharedPreferences(per_name, Context.MODE_APPEND);
Map maps = loginUserInfo.getAll();//取出所有数据
List oblist = new ArrayList();
Iterator it = maps.values().iterator();
while(it.hasNext()){
String base64Str = (String) it.next();
byte[] base64Bytes = Base64.decodeBase64(base64Str .getBytes());
ByteArrayInputStream bais = new ByteArrayInputStream(base64Bytes);
ObjectInputStream ois;
try {
ois = new ObjectInputStream(bais);
T tempobj = (T) ois.readObject();
oblist.add(tempobj);
} catch (StreamCorruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-gener
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android ShareSdk 分享错误解析 下一篇30分钟了解C++11新特性

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: