将日期保存到共享首选项

时间:2013-12-23 17:31:58

标签: android android-listview android-fragments sharedpreferences

我想将当前日期保存到listview中的textview我还有其他所有设置,所以不需要帮助那里只是将日期保存到textview我的代码如下可以有人告诉我什么错误?

SharedPreferences settings =  PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
                SharedPreferences.Editor editor = settings.edit();
                editor.putLong("time", date.getTime());
                editor.commit();
                Date date2 = new Date(settings.getLong("time", 0));

2 个答案:

答案 0 :(得分:4)

不推荐使用Date类的大多数方法。您应该使用Calendar类。 Calendar c = Calendar.getInstance();

要存储在您的SharedPreferences中,我建议您存储一个很长的,这是c.getTimeInMillis();

返回

要获取此日期并存储在Calendar对象中,您应该放置c.setTimeInMillis(myTimeStoredInSharedPreferences)

答案 1 :(得分:1)

我会忘记忘记日期和日历 - 只使用:

SharedPreferences settings =
    PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
settings.edit().putLong("time", System.currentTimeMillis()).commit();
// get the time and make a date out of it
Date date2 = new Date(settings.getLong("time", 0));

这是在您的应用内部使用currentTimeMillis(),如果您想向用户显示内容,只需使用日期

永远不要在本地使用Calendar.getInstance() - 这很贵

如果你一直使用日期考虑JodaTime