如何在Android上设置夜间和日间的天气图标
问题描述:
我在制作天气应用程序。整个应用程序已完成,除夜光图标外,一切正常。我为这一天设置了图标。但我没怎么上,检查时,如果那天发现SUN &如果晚上它应该显示MOON如何在Android上设置夜间和日间的天气图标
这里有一个条件设置两种不同的图标是我的代码:
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";
}
请帮帮我。
答
1)天气API不会在夜间返回“晴天”。所以,你可能不需要担心它。
2)OpenWeather API返回图标代码的响应 - “图标”:“04n” 他们在https://openweathermap.org/weather-conditions 上市,您可以使用或模仿一套天气图标。他们白天和夜晚确实有不同的图标。
希望有帮助!
答
家伙,我发现我的解决方案,谢谢大家
long currentTime = new Date().getTime();
if(currentTime>=sunrise && currentTime<sunset) {
return "sunny";
} else {
return "nighticon";
}
如何关系到白天还是晚上你的代码?这只是天气状况。所以你可以请你发布如何得到白天/夜晚btw你不需要做if(condition> = x && condition
Eselfar
与天气情况看,它使用该图标,如果天气条件为800,则返回阳光图标。这些条件都在openweather API中。我想要做的是如果条件== 800我想在夜晚返回晴天和月亮图标。那么你能告诉我我该怎么做吗?@Eselfar – Murtaza
你需要知道你在什么时间试图从天气中获得天气。基于此,您可以定义它是白天还是晚上。然后你可以选择适当的图标。不知道时间是由API返回的,否则你可以找到另一种方式来了解它。 – Eselfar