设为首页 加入收藏

TOP

Android 保存浏览记录 SharedPreTools(一)
2014-11-24 02:01:46 来源: 作者: 【 】 浏览:1
Tags:Android 保存 浏览 记录 SharedPreTools

一、简单的数据存储方式,用来保存账号、密码等信息


二、用来保存多键值对象的id 等信息,如果我要获取一组自定义的存储对象,我可以先将它的id先保存下来


三、对象类型的数据存储 一般用于自动登录、浏览历史等


下面是工具类,serviceinfo对象是网络获取的信息对象,我会存储并以查看时间的毫秒为对象的saveTime值


import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.StreamCorruptedException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;


import org.apache.commons.codec.binary.Base64;


import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;


import com.maq.api.ServiceInfo;
import com.maq.api.ServiceInfoComparator;
import com.maq.app.EdjApp;
public class SharedPreTools {

//单键值存储----------------------------
public static String readShare(String sharename,String key) {
SharedPreferences user = EdjApp.getInstance().getSharedPreferences(sharename,0);
return user.getString(key, "");
}


public static void writeShare(String sharename,String key,String value ) {
SharedPreferences user = EdjApp.getInstance().getSharedPreferences(sharename, 0);
Editor editor = user.edit();
editor.putString(key, value);
editor.commit();
}

public static void removeShare(String sharename,String key ) {
SharedPreferences user = EdjApp.getInstance().getSharedPreferences(sharename, 0);
Editor editor = user.edit();
editor.remove(key);
editor.commit();
}


//多键值存储
public static void writegroup(String sharename,String key,String value) {
SharedPreferences call = EdjApp.getInstance().getSharedPreferences(sharename, 0);
String group = call.getString(key, "");
if (group.indexOf(value) < 0) {
String newgroup = group + "," + key;
Editor editor = call.edit();
editor.putString(key, newgroup);
editor.commit();
}
}


public static void removegroup(String sharename,String key) {
SharedPreferences call = EdjApp.getInstance().getSharedPreferences(sharename, 0);
String group = call.getString(key, "");
String newgroup = group.replace("," + key, "");
Editor editor = call.edit();
editor.putString(key, newgroup);
editor.commit();
}



/**
* 储存单条对象 serviceInfo
* @param per_name
* @param key
* @param vaule
*/
public static void saveServicePre(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){
ServiceInfo info1=(ServiceInfo)vaule;
info1.setSaveTime(getTimeId());
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos=null;
try {
oos = new ObjectOutputStream(baos);

oos.writeObject(info1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String info = new String(Base64.encodeBase64(baos.toByteArray()));
preEd.putString(key, info);
}
preEd.commit();
}
}

/**
* 读取对象集合 serviceInfo
* @param per_name
* @param oblist
*/
public static List readAllServicePre(String per_name){
SharedPr

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android ShareSdk 分享错误解析 下一篇30分钟了解C++11新特性

评论

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