0
我在我的Android應用程序中使用SharedPreference來存儲字符串值,但它總是從.getString(String key,String defValue)中獲取defValue,儘管有一個設定值。Android中的SharedPreference出現問題。 「String lastAlertTime = lastAlertTimeSettings.getString(LAST_ALERT_TIME,null)」返回null
這裏是我的代碼:
public class AddAlert extends Activity {
[...]
public static final String LAST_ALERT_TIME = "1414931472952";
[...]
public boolean checkIfMoreThanTenMinutesFromLastAlert() {
SharedPreferences lastAlertTimeSettings = getSharedPreferences(LAST_ALERT_TIME, 0);
String lastAlertTime = lastAlertTimeSettings.getString(LAST_ALERT_TIME, null);
double currentDate = new Date().getTime();
if (getDifference(currentDate, Double.valueOf(lastAlertTime))/1000/60>10) {
return true;
} else return false;
}
public double getDifference(double currentDate, double lastAlertDate) {
//milliseconds
double difference = currentDate - lastAlertDate;
return difference;
}
}
的問題是,LAST_ALERT_TIME具有預設值,但它總是返回利用DefValue(「空」在這種情況下「)
這有什麼錯。我在做什麼?
謝謝!
一個真正的價值?這很奇怪。無論如何,你需要做的,首先存儲的東西(如默認值)對LAST_ALERT_TIME鍵,然後當你檢索的值,你不會得到空。 – 2014-11-02 17:59:46