是否可以使用Date
存储SharedPreferences
对象?
实际上,在我的代码中,我有一个String
变量,boolean
和Date
。这是我存储除Date
以外的所有对象的函数。那么如何做呢请建议我?
private void SavePreferences() {
String key="1";
String value="hello";
int x=5;
Date currentDate=new Date();
SharedPreferences sharedPreferences = getPreferences(MODE_APPEND);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.putInt("2",5);
editor.commit();
}
所以我的问题是如何使用Date
存储SharedPreferences
?
答案 0 :(得分:27)
editor.putLong("THE_DATE", currentDate.getTime());
你可以从这样的偏好中读出Date
:
long millis = sharedPreferences.getLong("THE_DATE", 0L);
Date theDate = new Date(millis);
答案 1 :(得分:3)
设定日期时间
SharedPreferences sharedPreferences = getPreferences(MODE_APPEND);
SharedPreferences.Editor editor = sharedPreferences.edit();
Date dt = getSomeDate();
editor.putLong(dateTimeKey, dt.getTime());
获取日期时间
long myDate = sharedPreferences.getLong(dateTimeKey, new Date().getTime());
答案 2 :(得分:1)
您可以使用像这样的共享偏好来存储日期值
editor.putLong("date",currentDate.getTime());
答案 3 :(得分:1)
将Date
格式化为String
,例如
//for putting
Date myDate;
final String FORMAT="yyyy-MM-dd";
String prefData=SimpleDateFormat(FORMAT).format(myDate);
editor.putString("Date", prefDate);
//for reading
prefDate=settings.getString("Date", "");
Date date=new SimpleDateFormat(FORMAT).parse(prefDate);
或者你可以将millis视为Long