此Demo將使用中央氣象局開放資料平台API內的 36小時天氣預報資料 (F_C0032_001),搭配條件:台北市、MinT,以獲取台北市36小時氣象預報等天氣資訊,接著透過解析API回傳的氣象資訊Json資料,得到最低溫度(MinT)
並在每筆氣象資料(type_A)之間插入一張任意圖片(type_B)。點擊 type_A 可跳至下一頁,該頁面將會顯示此筆資料的數據;點擊 type_B 則不做任何動作。
所有頁面皆使用 ConstraintLayout 實現,以達成各種螢幕尺寸自適應、不跑版的目的。
關閉App後,再次啟動(第二次開啟)時將透過Toast SnackBar 顯示「歡迎回來」歡迎詞。
Material Design推薦使用 SnackBar元件,因此Demo改成使用SnackBar元件做相關資訊的顯示,但仍保留Toast的程式碼,僅註解掉。
實作項目 | 功能描述 |
---|---|
RecycleView | 顯示三十六小時天氣預報資訊清單的元件 |
OKHttp | 一個高效的Http連線第三方函示庫 |
Gson | 用來解析Json的第三方函式庫 |
Constraintlayout* | Android的各種尺寸、不同螢幕解析度、不同螢幕密度的介面自適應佈局功能,類似 iOS的 AutoLayout概念。 |
ViewModel* | 一個 具有生命週期感知的元件 |
LiveData* | 一個 具有生命週期感知的元件並可觀察的資料類型 |
SharedPreferences | 一個輕量化的本地數據儲存方式 |
*星號表示這個功能或函式庫是屬於 Android Architecture Components - Android Jetpack 的一部分。
這個專案使用 AndroidX相容包函式庫