1. 程式人生 > >Android 用sp儲存登入狀態以及退出登入

Android 用sp儲存登入狀態以及退出登入

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儲存登入狀態以及退出登入