https://github.com/scobin/Android_WeatherApp/tree/feature/weatherData
一款顯示現在以及未來天氣資訊的應用程式。
使用Open Weather所提供的API來獲取正確的天氣訊息。
使用免費方案的API,取得5 day weather forecast,在使用時要透過正確的AppId做認證,可透過註冊帳號來取得AppId。 API的使用限制:https://openweathermap.org/price
為了接收API的回傳資料以方便在應用程式中使用,接下來會使用JSON to kotlin class這項工具快速製作資料物件。
為了方便快速生成資料物件(data class),使用JSON to kotlin class插件(需安裝)自動生成文件檔案。 (但使用此工具時,要注意物件型態可能會出錯,特別是INT, DOUBLE, Long的資料,發生錯誤的情形時,必須自己手動修正。)
自動產生的Main物件中的temp_kf若被定義為INT型態的話,需手動改成Double
由於溫度的數值會有小數點以下的部分,為了方便,先定義了回傳溫度整數數字的函數getTempC。
data class Main(
val feels_like: Double,
val grnd_level: Int,
val humidity: Int,
val pressure: Int,
val sea_level: Int,
val temp: Double,
val temp_kf: Double,
val temp_max: Double,
val temp_min: Double
){
fun getTempC(): Int = temp.toInt()
}