Weather app: 天氣資料取得與準備工作

Table of Contents

Table of Contents


Github

https://github.com/scobin/Android_WeatherApp/tree/feature/weatherData


天氣APP

一款顯示現在以及未來天氣資訊的應用程式。


功能:

  • 從地區選項中選定地區後,可以得知該地區的溫度變化,氣候狀況。
  • 地區選單可以自行添加地區或是刪除地區。
  • 透過網路即時取得與更新天氣資料。

關於天氣資料

使用Open Weather所提供的API來獲取正確的天氣訊息。

使用免費方案的API,取得5 day weather forecast,在使用時要透過正確的AppId做認證,可透過註冊帳號來取得AppId。 API的使用限制:https://openweathermap.org/price


資料物件的設計

為了接收API的回傳資料以方便在應用程式中使用,接下來會使用JSON to kotlin class這項工具快速製作資料物件。

Android Studio Plugin: 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()
}