天天看点

简单对接和风天气

简单对接和风天气

今天一个初学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