天天看點

簡單對接和風天氣

簡單對接和風天氣

今天一個初學Android的同學問我要Android 第一行代碼的第二版,聊了聊,是為了對接和風天氣!不知道如何下手!

在這裡簡單的說一下!希望可以幫助到初學的同學們!

代碼和錄屏都在這裡

連結:https://pan.baidu.com/s/1LtyYmZ9TODS52LCq-93KRg

提取碼:zm8h

第一步是注冊一個和風天氣的賬号,然後建立一個自己項目!

簡單對接和風天氣

然後是下載下傳和風天氣的SDK

簡單對接和風天氣

下載下傳好了之後,把下載下傳好的jar包複制到項目的lab裡面!

簡單對接和風天氣

複制進來之後點選右鍵選擇“Add As Library…” 會在build.gradle檔案中生成

“implementation files(‘libs/HeWeather_Public_Android_V3.3.jar’)”

簡單對接和風天氣

接着我們需要添權重限

android.permission.INTERNET 這個是網絡請求的權限必須添加

下面的可加可不加

android.permission.READ_PHONE_STATE 通路裝置狀态

android.permission.ACCESS_WIFI_STATE 通路WIFI狀态

android.permission.ACCESS_COARSE_LOCATION 通路網絡定位

android.permission.ACCESS_FINE_LOCATION 通路GPS

有了權限之後,我們還要導入okhttp網絡請求架構和Gson 解析json架構

//okhttp 網絡通路
implementation 'com.squareup.okhttp3:okhttp:3.14.1'
//json解析
implementation 'com.google.code.gson:gson:2.8.5'
           

下面我們開始擷取資料

第一步:進行賬戶初始化(全局執行一次即可),最好寫在MyApplication中

第二步:選擇服務域名,一般我們選擇免費的

//免費節點服務域名
HeConfig.switchToFreeServerNode();
//付費節點服務域名
 HeConfig.switchToCNBusinessServerNode();
           

第三步:調用相應的接口

簡單對接和風天氣

我們使用getWeatherNow來擷取一下

HeWeather.getWeatherNow(MainActivity.this, new HeWeather.OnResultWeatherNowBeanListener() {
    @Override
    public void onError(Throwable throwable) {
        Log.i("weather", "Weather Now onError: ", throwable);
    }

    @Override
    public void onSuccess(Now now) {
        Log.i("weather", " Weather Now onSuccess: " + new Gson().toJson(now));
        //先判斷傳回的status是否正确,當status正确時擷取資料,若status不正确,可檢視status對應的Code值找到原因
        if ( Code.OK.getCode().equalsIgnoreCase(now.getStatus()) ){
            //此時傳回資料
            NowBase now2 = now.getNow();
            Basic basic = now.getBasic();
            String str =basic.getParent_city()+" "+ now2.getCond_txt() +" 氣溫:"+now2.getVis()+"-"+now2.getTmp();
            textView.setText(str);
        } else {
            //在此檢視傳回資料失敗的原因
            String status = now.getStatus();
            Code code = Code.toEnum(status);
            Log.i("weather", "failed code: " + code);
        }
    }
});
           

下面是擷取的資料結構

簡單對接和風天氣

代碼和錄屏都在這裡

連結:https://pan.baidu.com/s/1LtyYmZ9TODS52LCq-93KRg

提取碼:zm8h