【发布时间】:2011-11-25 08:30:22
【问题描述】:
我正在编写一个小型 android 应用程序,让用户选择一个日期,它会告诉他距离这个日期还有多少天。现在我想存储该日期,以便下次应用程序启动时,它将保留信息。我在想最好将日期保存在文件中,我的问题是 - 最好如何做到这一点,以便之后轻松解析该日期?
【问题讨论】:
我正在编写一个小型 android 应用程序,让用户选择一个日期,它会告诉他距离这个日期还有多少天。现在我想存储该日期,以便下次应用程序启动时,它将保留信息。我在想最好将日期保存在文件中,我的问题是 - 最好如何做到这一点,以便之后轻松解析该日期?
【问题讨论】:
最简单的方法可能是使用 SharedPreferences:
保存在首选项中:
SharedPreferences settings = getSharedPreferences("my_prefs", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("date", myDate);
editor.commit();
恢复:
SharedPreferences settings = getSharedPreferences("my_prefs", 0);
String date = settings.getString("date", null);
【讨论】:
根据经验,存储Date 的最佳方法是存储它的 UNIX 纪元时间,
SharedPreferences settings = getSharedPreferences("my_prefs", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("date", myDate.getTime() ); //getTime is a long (So store it as a string/long, doesn't really matter)
editor.commit();
它将节省您解析它的时间/代码。
检索日期时,只需使用new Date(long date) 构造函数或Calendar 类也有setTimeinMillis。
祝你好运。
【讨论】:
将其保存到应用程序首选项。在您的 Activity 中,您可能会有以下内容:
PreferenceManager.getDefaultSharedPreferences(getApplicationContext()) .edit().putString("日期", myDate.toString()).commit();
然后你从保存的字符串中恢复你的日期。
【讨论】: