Android Studio 通过和风天气SDK获取天气

话不多说,直接上步骤

第一步:去官网下载SDK传送门

下载好了之后把jar包放入libs文件中并且引用,引用成功之后会有如下显示
在这里插入图片描述
build.gradle中的dependencies会自动出现这行代码
在这里插入图片描述

继续在app的build.gradle中添加引用

	implementation 'com.squareup.okhttp3:okhttp:3.9.0'
    implementation 'com.google.code.gson:gson:2.6.2'

第二步:在和风天气官网申请项目username和key,没账号的先注册一个

在这里插入图片描述

填入KEY和包名,KEY类型选择Android SDK (免费项目数量达到上限了,所以下图是我已有项目的样式图)
创建成功
在这里插入图片描述

第三步:接下来就是在acty中写代码了


@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cameraimage);
        mtvWeather= findViewById(R.id.textView);
        
        //刚刚创建项目成功之后显示出来的username和key
        HeConfig.init("username", "key");
        HeConfig.switchToFreeServerNode();
		//CN101190101是城市编号,例如CN101190101代表的就是南京的编号,查询城市编号可以去和风天气官网查
        HeWeather.getWeatherNow(MainActivity.this, "CN101190101", new HeWeather.OnResultWeatherNowBeanListener() {
            @Override
            public void onError(Throwable e) {
                Log.i(TAG, "Weather Now onError: ", e);
            }

            @Override
            public void onSuccess(Now dataObject) {
                Log.i(TAG, " Weather Now onSuccess: " + new Gson().toJson(dataObject));
                //先判断返回的status是否正确,当status正确时获取数据,若status不正确,可查看status对应的Code值找到原因
                if (Code.OK.getCode().equalsIgnoreCase(dataObject.getStatus())) {
                    //此时返回数据
                    NowBase now = dataObject.getNow();
                    String a = now.getCond_txt();
                    String b = now.getTmp();
//                    String c =now.getVis();
                    mtvWeather.setText("南京  " + a + "  " + b + "℃");
                } else {
                    //在此查看返回数据失败的原因
                    String status = dataObject.getStatus();
                    Code code = Code.toEnum(status);
                    Log.i(TAG, " " + code);
                }
            }
        });
 
    }

搞定。。
在这里插入图片描述

忘了说了,,要在AndroidManifest中添加权限!!!!!!!!!

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值