UserSp.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package com.xzjmyk.pm.activity.sp;
  2. import android.content.Context;
  3. /**
  4. * 保存当前登录用户的一些简单快捷使用的基本信息 userId ,userName,userPassword进入了MainActivity一定是正常的,可以随意取
  5. *
  6. *
  7. */
  8. public class UserSp extends CommonSp {
  9. private static final String SP_NAME = "login_user_info";// FILE_NAME
  10. private static UserSp instance;
  11. /* known key */
  12. private static final String KEY_USER_ID = "user_id";
  13. private static final String KEY_TELEPHONE = "telephone";// 用户手机号码,相当于用户名
  14. private static final String KEY_ACCESS_TOKEN = "access_token";
  15. private static final String KEY_EXPIRES_IN = "expires_in";// 过期时间,服务器返回的是7天这样的时间,本地转换为当前时间+过期时间段的1个时间戳
  16. private static final String KEY_UPDATE = "update";// 本地资料有没有更新,防止切换手机出现数据断层
  17. public static final UserSp getInstance(Context context) {
  18. if (instance == null) {
  19. synchronized (UserSp.class) {
  20. if (instance == null) {
  21. instance = new UserSp(context);
  22. }
  23. }
  24. }
  25. return instance;
  26. }
  27. private UserSp(Context context) {
  28. super(context, SP_NAME);
  29. }
  30. // access_token
  31. public String getAccessToken(String defaultValue) {
  32. return getValue(KEY_ACCESS_TOKEN, defaultValue);
  33. }
  34. public void setAccessToken(String value) {
  35. setValue(KEY_ACCESS_TOKEN, value);
  36. }
  37. // access_token
  38. public long getExpiresIn(long defaultValue) {
  39. return getValue(KEY_EXPIRES_IN, defaultValue);
  40. }
  41. public void setExpiresIn(long value) {
  42. setValue(KEY_EXPIRES_IN, value);
  43. }
  44. // user_id
  45. public String getUserId(String defaultValue) {
  46. return getValue(KEY_USER_ID, defaultValue);
  47. }
  48. public void setUserId(String value) {
  49. setValue(KEY_USER_ID, value);
  50. }
  51. // telephone
  52. public String getTelephone(String defaultValue) {
  53. return getValue(KEY_TELEPHONE, defaultValue);
  54. }
  55. public void setTelephone(String value) {
  56. setValue(KEY_TELEPHONE, value);
  57. }
  58. // update
  59. public boolean isUpdate(boolean defaultValue) {
  60. return getValue(KEY_UPDATE, defaultValue);
  61. }
  62. public void setUpdate(boolean value) {
  63. setValue(KEY_UPDATE, value);
  64. }
  65. /* 注销登录时,将其他数据清空,只保留UserId这一个 */
  66. public void clearUserInfo() {
  67. // setValue(KEY_USER_ID, "");
  68. setTelephone("");
  69. setAccessToken("");
  70. setExpiresIn(0);
  71. setUpdate(true);
  72. }
  73. }