Android SharedPreferences的工具类

来源:互联网 发布:mac系统偏好隐藏 编辑:程序博客网 时间:2024/06/06 00:40

我们平常保存一些数据,都会用到SharedPreferences,他是保存在手机里面的,具体路径是data/data/你的包名/shared_prefs/保存的文件名.xml, SharedPreferences的使用也很简单,我自己就写了一个SharedPreferences的工具类,然后就保存在这里,等自己以后需要保存数据直接从这里copy代码,哈哈

工具类如下

    package com.example.shortcut;      import android.content.Context;      import android.content.SharedPreferences;            /**      * SharedPreferences的一个工具类,调用setParam就能保存String, Integer, Boolean, Float, Long类型的参数      * 同样调用getParam就能获取到保存在手机里面的数据      * @author xiaanming      *      */      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;          }      }  


使用也很简单,保存数据

    SharedPreferencesUtils.setParam(this, "String", "xiaanming");      SharedPreferencesUtils.setParam(this, "int", 10);      SharedPreferencesUtils.setParam(this, "boolean", true);      SharedPreferencesUtils.setParam(this, "long", 100L);      SharedPreferencesUtils.setParam(this, "float", 1.1f);  


获取数据

    SharedPreferencesUtils.getParam(TimerActivity.this, "String", "");                                                                                        SharedPreferencesUtils.getParam(TimerActivity.this, "int", 0);      SharedPreferencesUtils.getParam(TimerActivity.this, "boolean", false);      SharedPreferencesUtils.getParam(TimerActivity.this, "long", 0L);      SharedPreferencesUtils.getParam(TimerActivity.this, "float", 0.0f);  


0 0
原创粉丝点击