sharedpreferences的使用方法小结

来源:互联网 发布:mac能用六维空间吗 编辑:程序博客网 时间:2024/05/22 01:28

1、

工具类(PrefUtils),引用自传智播客工具类

public class PrefUtils {   public static boolean getBoolean(Context ctx, String key, boolean defValue) {      SharedPreferences sp = ctx.getSharedPreferences("config",            Context.MODE_PRIVATE);      return sp.getBoolean(key, defValue);   }   public static void setBoolean(Context ctx, String key, boolean value) {      SharedPreferences sp = ctx.getSharedPreferences("config",            Context.MODE_PRIVATE);      sp.edit().putBoolean(key, value).commit();   }   public static void setString(Context ctx, String key, String value) {      SharedPreferences sp = ctx.getSharedPreferences("config",            Context.MODE_PRIVATE);      sp.edit().putString(key, value).commit();   }   public static String getString(Context ctx, String key, String defValue) {      SharedPreferences sp = ctx.getSharedPreferences("config",            Context.MODE_PRIVATE);      return sp.getString(key, defValue);   }   public static void setInt(Context ctx, String key, int value) {      SharedPreferences sp = ctx.getSharedPreferences("config",            Context.MODE_PRIVATE);      sp.edit().putInt(key, value).commit();   }   public static int getInt(Context ctx, String key, int defValue) {      SharedPreferences sp = ctx.getSharedPreferences("config",            Context.MODE_PRIVATE);      return sp.getInt(key, defValue);   }}
2、

调用方式:

PrefUtils.setString(context, "sessionId", "12345");//保存一个数据到sp
PrefUtils.getString(context,"sessionId","");//读取已经保存的数据
PrefUtils.setString(context, "sessionId", "");//清空一个sp数据
3、
一般退出程序的时候,清空sp中所有的内容,而不是一个一个的删除
private static void clearSP(Context context) {    File file= new File("/data/data/"+ context.getPackageName().toString()+"/shared_prefs","config.xml");    if(file.exists()){        file.delete();    }    //清空文件    SharedPreferences sp = context.getSharedPreferences("config",MODE_PRIVATE);    if(sp!=null) {        sp.edit().clear().commit();    }}