2017-09-06 2 views
0

Je fais une application météo. L'application complète est terminée et tout fonctionne correctement sauf les icônes de nuit. J'ai mis des icônes pour la journée. Mais je ne sais pas comment définir deux icônes différentes sur une condition qui vérifie le temps, si son jour, il montre SUN & si la nuit il devrait montrer MOONComment régler les icônes météo pour la nuit et le jour à la fois sur Android

Voici mon 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"; 
} 

s'il vous plaît aide moi.

+1

Comment est votre code lié à jour ou de la nuit? C'est seulement la condition météorologique. Alors pouvez-vous s'il vous plaît poster comment vous obtenez jour/nuit Et btw vous n'avez pas besoin de faire si (condition> = x && condition Eselfar

+0

voir avec les conditions météorologiques, il utilise cette icône comme si la condition météo est de 800 il retour icône ensoleillée. ces conditions sont dans l'API openweather. ce que je veux faire est si les conditions == 800 je veux retourner ensoleillé dans l'icône de jour et de lune dans la nuit. alors pouvez-vous me dire comment je peux faire cela? @Eselfar – Murtaza

+0

Vous devez savoir quelle heure il est à l'endroit où vous essayez d'obtenir la météo. Base sur que vous pouvez définir si c'est le jour ou la nuit. Ensuite, vous pouvez choisir l'icône appropriée. Donno si l'heure est retournée par l'API mais sinon vous pouvez trouver un autre moyen de le savoir. – Eselfar

Répondre

0

1) L'API météo ne reviendrait jamais «ensoleillée» la nuit. Donc, vous ne devez pas vous inquiéter à ce sujet.

2) API OpenWeather renvoie le code d'icône dans la réponse - « icône »: « 04N » Ils ont un ensemble d'icônes météo répertorié dans https://openweathermap.org/weather-conditions que vous pouvez utiliser ou mimétique. Ils ont des icônes différentes pour le jour et la nuit.

Espérons que ça aide!

+0

Ils reviennent Clair dans la journée et même dans la nuit aussi. il n'y a donc aucun moyen de définir une icône de cette façon. – Murtaza

+0

parcourez cette documentation https://openweathermap.org/current, vous n'avez pas besoin de vérifier la condition pour déterminer l'icône. l'api vous donne directement l'icône "04n" pour la nuit et "04d" pour le jour. Je l'ai implémenté avec succès en utilisant ceci. – Suriya

0

Les gars que j'ai trouvé ma solution Merci à vous tous

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