我想从API检索一些数据,但基于它是否是第一次运行,则应从年初开始检索数据,但是如果是下一次运行,则应仅检索新数据(即,仅在之后才可用的数据)前一次运行)。

我的问题是保存和检索两次运行之间的时间戳的最佳方法是什么。

最佳答案

您可以使用Preferences API以与系统无关的方式存储和读取应用程序特定的标记。

package com.preferencetest;

import java.util.prefs.Preferences;

public class PreferenceTest {

  private static final String RUN_MARKER = "RUN_MARKER";

  public static void main(String[] args) {

    // Obtain a Preferences node for this class name.
    final Preferences pref = Preferences.userRoot().node(
        PreferenceTest.class.getName());

    // Read the RUN_MARKER value. For the first start this should be the
    // default value false.
    final boolean previouslyStarted = pref.getBoolean(RUN_MARKER, false);

    if(!previouslyStarted) {
      // First run: Set the marker to true.
      pref.putBoolean(RUN_MARKER, true);
      System.out.println("First run");
    } else {
      System.out.println("This is not the first run.");
    }
  }
}

关于java - 根据应用程序是否首次运行检索正确的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27672720/

10-10 13:35