我有a weather API我希望根据我们当前的日期和时间列表预测温度有9小时的差距
如果当前时间是12:00,那么它应该显示温度为9:00然后是18:00,然后第二天温度为3:00小时,然后是12:00然后21:00,使用webservice这样长达5天。
ArrayList<ForecastWeather> product_new_arrayy = new ArrayList<>();
for(int z = 0; z < arrJson.length(); z++)
{
JSONObject object3e = arrJson.getJSONObject(z);
Log.v("hour", object3e.toString());
JSONArray houre = object3e.getJSONArray("hour");
//Toast.makeText(this, "" + hour, Toast.LENGTH_SHORT).show();
// int x=foo;
stimee = object3e.getString("date");
List<String> answers = new ArrayList<String>();
for(int x=0; x<houre.length(); x++) {
JSONObject persone = (JSONObject) houre.get(x);
timee = persone.getString("time");
answers.add(timee);
String[] daysArray = new String[] {"sunday","monday","tuesday","wednesday","thursday","friday","saturday"};
String day = "";
int dayOfWeek =0;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date datee;
try {
datee = formatter.parse(timee);
Calendar c = Calendar.getInstance();
c.setTime(datee);
dayOfWeek = c.get(Calendar.DAY_OF_WEEK)-1;
if (dayOfWeek < 0) {
dayOfWeek += 7;
}
day = daysArray[dayOfWeek];
} catch (Exception e) {
e.printStackTrace();
}
ForecastWeather fw = new ForecastWeather();
fw.setTemperature(persone.getString("temp_c") + (char) 0x00B0 + "C" );
timee = persone.getString("time");
String timeappoch =persone.getString("time_epoch");
int timea = Integer.parseInt(timeappoch);
int addd= timea+32400000;
Log.v("Add",""+ addd );
fw.setTime(day + "\n\n" + timee );
product_new_arrayy.add(fw);
Log.v("array", timee );
//
jsonArrayResponsee += "Day at: " + day +" " + timee +" \n\n" + "Temp:" + namee + (char) 0x00B0 + "C" + "\n\n";
}
Log.v("HHH", answers.toString());
Calendar cal = Calendar.getInstance();
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");
String datetime = dateformat.format(cal.getTime());
if(answers.contains(datetime)){
}
}
ArrayList <ForecastWeather> all = new ArrayList <>();
all.addAll(product_new_arrayy);
showAllProducts(all);
我得到所有日子和每小时的温度,但我想要9小时的差距
答案 0 :(得分:0)
您可以使用ASynk进行短暂的网络通话。但为什么要有9个小时的差距。使用asynk,每次打开应用程序时都可以获得json响应。这样您的信息就会非常重要和有效。