我試圖從SharedPreferences是真正得到布爾值,但每次我得到一個假值。 名爲 「MyPref」 的SharedPreferences文件包含以下代碼:Android的SharedPreferences布爾不工作
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<boolean name="PREMIUM" value="true" />
</map>
我用下面的代碼在MyActivity.class增加值SharedPreferences:
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 1); // 0 - for private mode
Editor editor = pref.edit();
editor.putBoolean("PREMIUM", true); // Storing boolean - true/false
editor.commit(); // commit changes
Log.d(TAG, "User is " + (mIsPremium ? "PREMIUM" : "NOT PREMIUM"));
和檢索它多個類別使用:
boolean mIsPremium = false;
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 1); // 0 - for private mode
mIsPremium = pref.getBoolean("PRIVATE", false); // getting boolean
Log.d("IS PREMIUM", String.valueOf(mIsPremium));
if(mIsPremium) {
// PREMIUM USER - NO ADS
} else {
// NOT PREMIUM USER - SHOW ADS
}
我總是得到的的價值溢價爲假,可能是什麼原因,要做到這一點,如何解決呢?我正在使用android 4.2.2。謝謝你們。
爲什麼你正在使用1作爲標誌。和不同的鍵來獲取和存儲布爾值? –
關於商店溢價,但是當私下爲什麼? – Senthil