2017-09-06 1 views
0

Ich mache eine Wetter App. Ganze App ist fertig und alles funktioniert gut außer Night ICONS. Ich habe Icons für den Tag gesetzt. Aber ich weiß nicht, wie zwei unter einer Bedingung unterschiedliche Symbole zu setzen, die die Zeit überprüft, wenn ihr Tag zeigt es SUN & Wenn es Nacht sollte es MOON zeigenWie man Wettersymbole für Nacht und Tag auf Android setzt

Hier ist mein Code:

private static String updateWeatherIcon(int condition) { 

    if (condition >= 0 && condition < 300) { 
     return "tstorm1"; 
    } else if (condition >= 300 && condition < 500) { 
     return "light_rain"; 
    } else if (condition >= 500 && condition < 600) { 
     return "shower3"; 
    } else if (condition >= 600 && condition <= 700) { 
     return "snow4"; 
    } else if (condition >= 701 && condition <= 771) { 
     return "fog"; 
    } else if (condition >= 772 && condition < 800) { 
     return "tstorm3"; 
    } else if (condition == 800) { 
     return "sunny"; 
    } else if (condition >= 801 && condition <= 804) { 
     return "cloudy2"; 
    } else if (condition >= 900 && condition <= 902) { 
     return "tstorm3"; 
    } else if (condition == 903) { 
     return "snow5"; 
    } else if (condition == 904) { 
     return "sunny"; 
    } else if (condition >= 905 && condition <= 1000) { 
     return "tstorm3"; 
    } 

    return "dunno"; 
} 

bitte helfen Sie mir.

+1

Wie ist Ihr Code Tag und Nacht zu tun? Es ist nur Wetterbedingung. Also kannst du bitte posten, wie du Tag/Nacht bekommst Und ansonsten brauchst du 'if (Bedingung> = x && Bedingung Eselfar

+0

sehen Sie mit Wetterbedingungen, die es dieses Symbol wie verwendet, wenn Wetterbedingung 800 ist es Rückkehr sonniges Symbol. Diese Bedingungen sind in openweather API. was ich tun möchte ist, wenn Bedingungen == 800 Ich möchte sonnig in Tag und Mond Symbol in der Nacht zurückkehren. also kannst du mir sagen, wie ich das machen kann? @Eselar – Murtaza

+0

Sie müssen wissen, wie spät es an dem Ort ist, an dem Sie versuchen, das Wetter zu bekommen. Darauf basierend können Sie definieren, ob es Tag oder Nacht ist. Dann können Sie das entsprechende Symbol auswählen. Donno, wenn die Zeit von der API zurückgegeben wird, aber ansonsten können Sie einen anderen Weg finden, es zu wissen. – Eselfar

Antwort

0

1) Die Wetter-API würde in der Nachtzeit niemals "sonnig" zurückkehren. Sie brauchen sich also keine Sorgen zu machen.

2) OpenWeather API gibt das Symbol Code in der Antwort - „Symbol“: „04N“ Sie haben eine Reihe von Wetter-Icons aufgeführt in https://openweathermap.org/weather-conditions , die Sie verwenden oder nachahmen können. Sie haben unterschiedliche Symbole für Tag und Nacht.

Hoffe, dass hilft!

+0

Sie kehren Clear in Tag und sogar in der Nacht zu. Es gibt also keine Möglichkeit, ein Icon auf diese Weise zu setzen. – Murtaza

+0

Gehen Sie durch diese Dokumentation https://openweathermap.org/current, Sie müssen die Bedingung nicht überprüfen, um das Symbol zu bestimmen. die api gibt dir direkt das symbol "04n" für die nacht und "04d" für den tag. Ich habe es erfolgreich damit umgesetzt. – Suriya

0

Jungs, die ich habe meine Lösung gefunden Danke alle

long currentTime = new Date().getTime(); 
      if(currentTime>=sunrise && currentTime<sunset) { 
       return "sunny"; 
      } else { 
       return "nighticon"; 
      }  
Verwandte Themen