Android开发 简单的从服务器请求json数据,解析json数据并显示在界面(以和风天气app为例)

本文介绍了如何在Android应用中使用okhttputils框架和Gson库,从和风天气API获取并解析JSON数据,然后显示在界面上。详细步骤包括:注册和风天气账号获取API key,设置请求URL,使用Postman检查数据,配置okhttputils和Gson,生成JavaBean,最后展示请求、解析和显示核心代码。
摘要由CSDN通过智能技术生成

前提:

           1,使用鸿洋大神的okhttputils网络框架请求数据。okhttputils地址

           2,使用GSON解析json数据。(在AndroidStudio下载GsonFormat插件,将JSON数据字符串自动生成为一个JavaBean,再用Gson来解析)

           3,使用postman查看json数据。(在官网下载postman并百度该软件的用法)

数据准备:(以和风天气提供的数据为例)

1,到和风天气的官网去注册一个账号,注册完成认证通过后去控制台找到自己的认证key

 

2,去和风天气的官网的开发文档,天气API接口说明处查询自己需要的 “请求URL”。

注:(1) parameters可以根据自己的需要来接入。不同的接口URL不同,比如选择实况天气接口则选择其对应的URL。本例中选择的是               3-10天天气预报接口。

          (2) 比如本例中的请求URL为:

https://free-api.heweather.com/s6/weather/forecast?key=613a5123d89a4f64b9eb3a62580f0d8b&location=CN101060705

      这里的key为自己认证的key,location为要查询的城市的id。(问号后的参数可根据自身需求修改,但是key一定要有)

3,请求URL得到了,可以postman里查看我们本例中要请求的数据了。

   (1) 选择GET将URL输入,点击Send,便可以在下方看到需要请求的数据了。

 

 

请求数据的URL准备好了,接下来就是请求和解析数据了。

请求和解析数据

1,配置okhttputils和GSON

  (1)在model的build.gradle里添加依赖:

dependencies {
       ......
    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'com.zhy:okhttputils:2.6.2'

}

   (2)新建MyApplication.java文件:用来配置okhttputils。

public class MyApplication extends Application{
    /**系统上下文*/
    private static Context mContext;
    @Override
    public void onCreate() {
        super.onCreate();
        mContext = getApplicationContext();
        initOkHttp();
    }

    /**获取系统上下文:*/
    public static Context getAppContext()
    {
        return mContext;
    }

    /**
     * 配置OkhttpClient
     */
    private void initOkHttp() {

        OkHttpClient okHttpClient = new OkHttpClient.Builder()
//                .addInterceptor(new LoggerInterceptor("TAG"))
                .connectTimeout(10000L, TimeUnit.MILLISECONDS)
                .readTimeout(10000L, TimeUnit.MILLISECONDS)
                //其他配置
                .build();
        OkHttpUtils.initClient(okHttpClient);

    }
}

注:记得在AndroidManifest.xml中配置MyApplication。

<application
        android:name=".application.MyApplication"
        ......
</application>

 2,将JSON数据生成为一个JavaBean

(1)新建一个WeatherBean.java文件:该类中的代码可以使用AndroidStudio的插件GsonFormat一键生成。

         使用方法如下:1,在android studio安装GsonFormat插件。

                                  2,在Code中选中Generate,再选中GsonFormat。(AS的版本为3.1.2)

                                  3,将获取到的JSON数据直接复制到里面去就可以一键生成所需要的JavaBean

 

  

点击两次ok即可生成代码。代码如下:

WeatherBean.java

public class WeatherBean {

    private List<HeWeather6Bean> HeWeather6;
    public List<HeWeather6Bean> getHeWeather6() {
        return HeWeather6;
    }

    public void setHeWeather6(List<HeWeather6Bean> HeWeather6) {
        this.HeWeather6 = HeWeather6;
    }

    public static class HeWeather6Bean {
        /**
         * basic : {"cid":"CN101060705","location":"西安","parent_city":"辽源","admin_area":"吉林","cnty":"中国","lat":"42.92041397","lon":"125.15142059","tz":"+8.00"}
         * update : {"loc":"2018-12-13 18:46","utc":"2018-12-13 10:46"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值