2017-08-17 67 views
-1

我有a weather API,我根據我們的當前日期和時間列表中選擇所需的預測溫度9小時差距天氣API如何通過JSON與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

歡迎來到Stack Overflow。你試過什麼了? SO不是代碼寫入服務。 – disinfor

回答

0

可以使用ASynk短網絡調用。但爲什麼要有9個小時的差距。使用asynk,每次打開應用程序時都可以獲得json響應。這樣你的信息將會非常重要和高效。

+0

是的,我可以使用異步或排球,但從JSON網絡電話,我需要顯示天氣應用程序的溫度預測,即未來的時間與9小時的差距 –

+0

未來的估計氣候是否也包含在該API中。 – Pavan

+0

是的,它存在 –