【问题标题】:What is the way to store a date in a file?将日期存储在文件中的方法是什么?
【发布时间】:2011-11-25 08:30:22
【问题描述】:

我正在编写一个小型 android 应用程序,让用户选择一个日期,它会告诉他距离这个日期还有多少天。现在我想存储该日期,以便下次应用程序启动时,它将保留信息。我在想最好将日期保存在文件中,我的问题是 - 最好如何做到这一点,以便之后轻松解析该日期?

【问题讨论】:

    标签: java android io


    【解决方案1】:

    最简单的方法可能是使用 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);
    

    【讨论】:

      【解决方案2】:

      根据经验,存储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

      祝你好运。

      【讨论】:

        【解决方案3】:

        将其保存到应用程序首选项。在您的 Activity 中,您可能会有以下内容:

        PreferenceManager.getDefaultSharedPreferences(getApplicationContext()) .edit().putString("日期", myDate.toString()).commit();

        然后你从保存的字符串中恢复你的日期。

        【讨论】:

          猜你喜欢
          • 2016-12-22
          • 1970-01-01
          • 2017-09-18
          • 1970-01-01
          • 2013-06-14
          • 1970-01-01
          • 2011-06-01
          • 1970-01-01
          • 2012-06-16
          相关资源
          最近更新 更多