アプリ内の更新データの最終日をプリファレンスに書き込みたい。だから私はこれが好きだった
Calendar cal = Calendar.getInstance();
SharedPreferences settings = getSharedPreferences("OrderOnline", 0);
Long updDate = settings.getLong("lastupdate", 0);
Long currdate= cal.getTimeInMillis();
if (!(updDate == currdate)) {
Log.d("AMainActivity", "updDate = " + updDate + "; currdate = " + currdate);
...
Editor ed = settings.edit();
ed.putLong("lastupdate", currdate);
ed.commit();
}
しかし、これは私が望むものではありません。SharedPreferences で現在の日付を読み書きするにはどうすればよいですか? 非推奨のオブジェクトは使用したくありません。ありがとうございました。
PS私は秒ではなく、設定で現在の日付が欲しいです。(!(updDate == currdate)) は常に True になります。
UPDこれを追加します
Calendar cal = Calendar.getInstance();
SharedPreferences settings = getSharedPreferences("OrderOnline", 0);
Long updDate = settings.getLong("lastupdate", 0)/ MILLIS_PER_DAY;
Long currdate= cal.getTimeInMillis()/ MILLIS_PER_DAY;
if (!(updDate == currdate)) {
Log.d("AMainActivity", "updDate = " + updDate + "; currdate = " + currdate);
...
Editor ed = settings.edit();
ed.putLong("lastupdate", currdate);
ed.commit();
}
これが結果です
03-07 13:10:15.031: D/AMainActivity(9291): updDate = 15771; currdate = 15771
何かがうまくいきません。