Android 用sp存储登录状态以及退出登录
16lz
2021-01-23
public class SharedPrefUtility { private static final String FILE_NAME = "share_date"; public static final String INDEX="index"; public static final String LOGIN_DATA="loginData"; public static final String IS_LOGIN="isLogin"; /** * save data into FILE_NAME ,this path is data/data/POCKET_NAME/shared_prefs * @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.apply(); } /** * get value via enter key * @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; } /** * delete key * @param context * @param key */ public static void removeParam(Context context,String key){ SharedPreferences sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); editor.remove(key); editor.apply(); }
}
创建一个Utils
然后 调用判断是否登录
isLogin=(Boolean) SharedPrefUtility.getParam(getActivity(), SharedPrefUtility.IS_LOGIN, false);
存储登录状态:
//保存登录状态SharedPrefUtility.setParam(LoginActivity.this, SharedPrefUtility.IS_LOGIN, true);//保存登录个人信息SharedPrefUtility.setParam(LoginActivity .this, SharedPrefUtility.LOGIN_DATA, result);
退出登录:
SharedPrefUtility.setParam(MySettingsActivity.this, SharedPrefUtility.IS_LOGIN, false);
SharedPrefUtility.removeParam(MySettingsActivity.this, SharedPrefUtility.LOGIN_DATA);
这就是简单的sp存储登录状态以及退出登录
更多相关文章
- android中的状态保存
- 检测Android设备有线网络连接状态
- android取得当前网络连接状态
- 【Android】网络状态
- android WIFi 连接状态之DetailedState
- android 电池状态获取
- Android 监控网络状态
- 【notification】Android 中创建状态栏通知