來(lái)一個(gè)屬于程序猿的打招呼方式:
public class ConfigManager {
private int mPwdLength;
private boolean mIsAutoLogin;
private boolean mIsFinishGuide;
private Context mContext;
private ConfigManager() {
mContext = BaseApplication.getContext();
mIsAutoLogin = getBoolean(IS_AUTO_LOGIN);
mIsFinishGuide = getBoolean(IS_FINISH_GUIDE);
mPwdLength = SpfUtils.getInt(mContext, LENGTH, 0);
}
private static ConfigManager singleInstance = new ConfigManager();
public static ConfigManager getInstance() {
return singleInstance;
}
private boolean getBoolean(String key) {
return SpfUtils.getBoolean(mContext, key,false);
}
private boolean getBoolean(String key, boolean defaultValue) {
return SpfUtils.getBoolean(mContext, key, defaultValue);
}
public int getPwdLength() {
return mPwdLength;
}
public void setPwdLength(int pwdLength) {
mPwdLength = pwdLength;
SpfUtils.putInt(mContext, LENGTH, pwdLength);
}
public boolean isAutoLogin() {
return mIsAutoLogin;
}
public void setAutoLogin(boolean autoLogin) {
mIsAutoLogin = autoLogin;
SpfUtils.putBoolean(mContext, IS_AUTO_LOGIN, autoLogin);
}
public boolean isFinishGuide() {
return mIsFinishGuide;
}
public void setFinishGuide(boolean finishGuide) {
mIsFinishGuide = finishGuide;
SpfUtils.putBoolean(mContext, IS_FINISH_GUIDE, finishGuide);
}
}
看到這么密集的代碼,估計(jì)有人想報(bào)警了(看個(gè)博客都不能安生敢辩,就不能讓我愉快的閱讀匀们,遠(yuǎn)離代碼幾分鐘来惧?心理暗暗的罵道。)
大兄弟摹迷,不要急!貼代碼就是為了證明我不是在吹B,你再忍一忍郊供!
牛B的你肯定已經(jīng)看出來(lái)了峡碉,這里只是對(duì)日常我們操作SP的一個(gè)封裝。經(jīng)常使用SP的童鞋肯定有寫(xiě)錯(cuò)key的經(jīng)歷颂碘,別環(huán)顧左右了异赫,說(shuō)的就是你椅挣。
還有另外的一個(gè)好處是,只管調(diào)方法取你想要的值塔拳,完全不用關(guān)心是不是有哪個(gè)冒失鬼修改了里面的值鼠证。
對(duì),就是這么任性靠抑。
這里寫(xiě)的都是一些設(shè)置里的配置參數(shù)量九,沒(méi)有考慮并發(fā)的情況
吹完了優(yōu)點(diǎn)總得出來(lái)溜一溜吧:
來(lái)一段熟悉的代碼
if (ConfigManager.getInstance().isFinishGuide()) {
startActivity(new Intent(this, MainActivity.class));
finish();
}
設(shè)置?
ConfigManager.getInstance().setAutoLogin(isChecked);
AndroidStudio那么強(qiáng)大的代碼提示功能怎么能閑著
這個(gè)沒(méi)有什么酷炫到爆的功能颂碧,但是能讓工作更便利荠列,你覺(jué)得呢?