我有一个可插入Google Fit Api并返回最近7天的步骤的应用程序,方法如下。如屏幕截图所示,我希望将天数添加到步数中。

我尝试过很多选择,一次只能花一天时间进行7循环,但运气不好,它只是在同一天说。任何帮助都将非常感谢。

private void dumpDataSet(DataSet dataSet) {
    Log.i(TAG, "Data returned for Data type: " + dataSet.getDataType().getName());
    DateFormat dateFormat = DateFormat.getTimeInstance();

    int i = 0;

    for (DataPoint dp : dataSet.getDataPoints()) {

        for(Field field : dp.getDataType().getFields()) { //loop 7 times

            int test = dp.getValue(field).asInt();

            String weekSteps= String.valueOf(test); //get weekday steps one at a time

            SimpleDateFormat sdf = new SimpleDateFormat("EEEE");



            Calendar cal = Calendar.getInstance();
            String weekday = sdf.format(cal.getTime());

            String weekStepsFinal= weekSteps + " steps on " + weekday; //set Textfield to steps and the day

            FeedItem item = new FeedItem();
            item.setTitle(weekStepsFinal);

            feedItemList.add(item);

        }
    }

}


总共有7个数据集。

java - 在Java中使用Calendar花费一天的时间?-LMLPHP

最佳答案

如果“一次带走一天”意味着您想让日子倒退,那么可以这样:

SimpleDateFormat sdf = new SimpleDateFormat("EEEE");

System.out.println("Last 7 days (starting today):");
Calendar cal = Calendar.getInstance(); // Initialized to today/now
for (int i = 0; i < 7; i++) {
    System.out.println("  " + sdf.format(cal.getTime()));
    cal.add(Calendar.DAY_OF_MONTH, -1); // Update to previous day at same time-of-day
}


输出值

Last 7 days (starting today):
  Monday
  Sunday
  Saturday
  Friday
  Thursday
  Wednesday
  Tuesday

关于java - 在Java中使用Calendar花费一天的时间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36143758/

10-12 15:06