今天,简单讲讲如何写一个sharedpreferences的工具类。

 

很简单,把一些重复的操作封装在工具类里,其他地方调用就可以。在网上搜索了比较多的资料,找到一个比较好的工具类。

参考文章:https://blog.csdn.net/androidsj/article/details/79796194

import android.content.Context;import android.content.SharedPreferences; /** * 作者:Yzp on 2017-03-20 15:28 * 邮箱:15111424807@163.com * QQ: 486492302 * 用户账户信息保存工具类 */public class SharedPreferencesUtils {     /**     * 保存在手机里面的文件名     */    private static final String FILE_NAME = "share_date";     /**     * 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法     * @param context     * @param key     * @param object     */    public static void setParam(Context context , String key, Object object){         String type = object.getClass().getSimpleName();        SharedPreferences sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);        SharedPreferences.Editor editor = sp.edit();         if("String".equals(type)){            editor.putString(key, (String)object);        }        else if("Integer".equals(type)){            editor.putInt(key, (Integer)object);        }        else if("Boolean".equals(type)){            editor.putBoolean(key, (Boolean)object);        }        else if("Float".equals(type)){            editor.putFloat(key, (Float)object);        }        else if("Long".equals(type)){            editor.putLong(key, (Long)object);        }        editor.commit();    }     /**     * 得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值     * @param context     * @param key     * @param defaultObject     * @return     */    public static Object getParam(Context context , String key, Object defaultObject){        String type = defaultObject.getClass().getSimpleName();        SharedPreferences sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);         if("String".equals(type)){            return sp.getString(key, (String)defaultObject);        }         else if("Integer".equals(type)){            return sp.getInt(key, (Integer)defaultObject);        }         else if("Boolean".equals(type)){            return sp.getBoolean(key, (Boolean)defaultObject);        }         else if("Float".equals(type)){            return sp.getFloat(key, (Float)defaultObject);        }         else if("Long".equals(type)){            return sp.getLong(key, (Long)defaultObject);        }         return null;    }     /**     * 清除所有数据     * @param context     */    public static void clear(Context context) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME,                Context.MODE_PRIVATE);        SharedPreferences.Editor editor = sp.edit();        editor.clear().commit();    }     /**     * 清除指定数据     * @param context     */    public static void clearAll(Context context) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME,                Context.MODE_PRIVATE);        SharedPreferences.Editor editor = sp.edit();        editor.remove("定义的键名");        editor.commit();    } }

 

android sharedpreferences工具类就讲完了。

 

就这么简单。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

更多相关文章

  1. android 字符串数组资源
  2. Android(安卓)ListView Adapter的getItemViewType和getViewTypeC
  3. Android(安卓)ListView Adapter的getItemViewType和getViewTypeC
  4. Android设备和PC设备有线USB连接双向通信预研报告
  5. Android的数据存储方式
  6. android如何查看app数据(无root权限)
  7. Android(安卓)编译环境 - 安装工具包
  8. Android(安卓)Handler
  9. mybatisplus的坑 insert标签insert into select无参数问题的解决

随机推荐

  1. java小白到架构师技术图谱(整理全网,持续更
  2. 教程资源汇总(已更新)
  3. 一次StackOverflowError排查,原因竟然和Du
  4. 你的程序出现了bug?这几款JVM工具也许可以
  5. React Async Rendering
  6. React 16.3新API
  7. 第2年
  8. 我们到底该如何学习数据结构与算法
  9. 为你Springboot项目自定义一个通用的异常
  10. 看源码,我为什么推荐IDEA?