SharedPreferencesUtils.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package com.sunzee.utils;
  2. import android.content.Context;
  3. import android.content.SharedPreferences;
  4. import com.sunzee.base.BaseApplication;
  5. /**
  6. * @Description SharedPrefence工具类
  7. */
  8. public class SharedPreferencesUtils {
  9. /**
  10. * 保存在手机里面的文件名
  11. */
  12. private static final String FILE_NAME = "share_date";
  13. /**
  14. * 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法
  15. *
  16. * @param key
  17. * @param object
  18. */
  19. public static void setParam(String key, Object object) {
  20. String type = object.getClass().getSimpleName();
  21. SharedPreferences sp = BaseApplication.getContext().getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
  22. SharedPreferences.Editor editor = sp.edit();
  23. if ("String".equals(type)) {
  24. editor.putString(key, (String) object);
  25. } else if ("Integer".equals(type)) {
  26. editor.putInt(key, (Integer) object);
  27. } else if ("Boolean".equals(type)) {
  28. editor.putBoolean(key, (Boolean) object);
  29. } else if ("Float".equals(type)) {
  30. editor.putFloat(key, (Float) object);
  31. } else if ("Long".equals(type)) {
  32. editor.putLong(key, (Long) object);
  33. }
  34. editor.commit();
  35. }
  36. /**
  37. * 得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值
  38. *
  39. * @param key
  40. * @param defaultObject
  41. * @return
  42. */
  43. public static Object getParam(String key, Object defaultObject) {
  44. String type = defaultObject.getClass().getSimpleName();
  45. SharedPreferences sp = BaseApplication.getContext().getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
  46. if ("String".equals(type)) {
  47. return sp.getString(key, (String) defaultObject);
  48. } else if ("Integer".equals(type)) {
  49. return sp.getInt(key, (Integer) defaultObject);
  50. } else if ("Boolean".equals(type)) {
  51. return sp.getBoolean(key, (Boolean) defaultObject);
  52. } else if ("Float".equals(type)) {
  53. return sp.getFloat(key, (Float) defaultObject);
  54. } else if ("Long".equals(type)) {
  55. return sp.getLong(key, (Long) defaultObject);
  56. }
  57. return null;
  58. }
  59. }