在編寫app的時候遇到了記錄天氣的情況,所以將使用和風天氣的過程記錄下來。
一、導入和風天氣的jar包以及依賴
jar包的下載鏈接https://dev.heweather.com/docs/sdk/android,下下來之后導入即可,不在贅述,同時需要在項目的build.gradle文件中添加依賴,根據官網的介紹,加入如下兩項依賴
在AndroidManifest.xml文件中添加權限,其中,網絡權限是不可缺少的
二、申請username和key
進入和風官網,注冊賬號,進入控制台,新建應用
然后再應用中添加key,輸入key的名稱和你的包名就可以得到一個username和key
記錄下你的uername和key,在編寫代碼的時候會用到
三、通過api獲取天氣
核心代碼如下:我將返回的結果顯示在一個textview當中。
1、使用HeConfig.init(String username, String key)進行初始化,我直接寫在了onCreate當中。
2、HeConfig.switchToFreeServerNode();轉換服務器節點,這是一個需要特別注意的地方,開始我在使用的時候各項內容都配置好了,但請求數據的時候訪問被拒絕,后來查閱文檔才發現官方給的下邊這段話,所以要想使用免費的服務就要轉換服務器節點。
- 默認使用中國付費節點服務域名
HeConfig.switchToCNBusinessServerNode();
- 個人開發者、企業開發者、普通用戶等所有使用免費數據的用戶需要切換到免費服務域名
HeConfig.switchToFreeServerNode();
3、 通過getWeatherNow以及OnResultWeatherNowBeanListener這個監聽器來監聽返回的數據,第一個參數是當前的activity,第二個參數是城市編碼(官網可以找到),此sdk比較好用的一個地方,官方的sdk中已經給我們提供了一個bean,在onSuccess方法中可以進行數據的解析,我在這就直接將沒有處理的json顯示到textview當中了,實際里邊做了處理,只不過用System.out輸出了一下,主要是對它返回的json結構的處理,