2017-09-06 1 views
0

天気アプリを作成しています。アプリ全体が完了し、夜間アイコン以外はすべて正常に動作しています。私はその日のアイコンを設定しました。夜間と昼間の両方の天気アイコンを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"; 
} 

てください。しかし、私はどのようにその夜はそれがここMOON

を示さなければならない場合、その日には日&を示している場合、時間をチェックつの条件の2つの異なるアイコンを設定するには私のコードでありません私を助けてください。

+1

すべてのいただきありがとうございますか!唯一の天候です。だから、あなたは昼夜をどのようにして投稿するのですか?また、if(condition> = x && condition Eselfar

+0

気象条件を見ると、気象条件が800の場合、そのアイコンが晴れたアイコンを返します。これらの条件はオープンウィザーAPIにあります。私は何をしたいのですか?条件== 800夜に晴れた日と月のアイコンに戻りたいです。どうすればいいのか教えてもらえますか?@ Eselfar – Murtaza

+0

天気を奪おうとしている場所で何時になったのかを知る必要があります。あなたはそれが昼夜かどうかを定義することができるということに基づいています。その後、適切なアイコンを選択することができます。時間がAPIによって返される場合はドンノですが、そうでない場合は、それを知る別の方法を見つけることができます。 – Eselfar

答えて

0

1)天気APIは、夜間に「晴れ」を返すことはありません。したがって、心配する必要はありません。

2)OpenWeather APIは、応答のアイコンコードを返す - 「アイコンを」:「04n」 は、彼らはあなたが使用したり、模倣することができますhttps://openweathermap.org/weather-conditions に記載されている天気アイコンのセットを持っています。彼らは昼と夜に異なるアイコンを持っています。

希望に役立ちます!私は私の解決策を見つけた

+0

彼らは一日でも夜でも明瞭に戻る。そのようにアイコンを設定する方法はありません。 – Murtaza

+0

このドキュメントのhttps://openweathermap.org/currentを参照すると、アイコンを判断するために条件を確認する必要はありません。 apiは夜にはアイコン "04n"を、日には "04d"というアイコンを直接表示します。私はこれを使用して正常に実装しました。 – Suriya

0

Guysはあなたのコードは、昼も夜に関連してどのように

long currentTime = new Date().getTime(); 
      if(currentTime>=sunrise && currentTime<sunset) { 
       return "sunny"; 
      } else { 
       return "nighticon"; 
      }  
関連する問題