使用聚合数据的API

聚合数据地址:https://www.juhe.cn/

在数据服务->生活常用->全国天气预报,申请天气预报的API使用的KEY

保存请求示例的地址,把您申请的KEY替换成自己申请的KEY,

Key获取方法,在个人中心中找到我的数据,在全国天气预报的上方的AppKey就是我们需要的KEY,将这个值保存下来

打开Android Studio创建好项目,就来安装我们需要用到的框架

记住是贼几把牛逼的开源框架(okhttputils,阿里巴巴的fastjson,这里的okhttputils需要依赖okio)

okhttputils:implementation 'com.zhy:okhttputils:2.6.2'   用于网络请求

okio:implementation 'com.squareup.okio:okio:1.11.0'    网络请求依赖

fastjson:implementation 'com.alibaba:fastjson:1.1.54.android'  解析JSON数据

安装方式:把目录浏览切换成Project,在app的build.gradle中的dependencies大花括号导入这几个框架

我们还要在安装一个插件GsonFormat,安装方式在下图:(我这里已经安装过了,显示的是Uninstall,如果没有安装显示的是绿色的背景install)

可能在安装的时候也可能会搜索不到这插件,可以可以去百度下,百度上很详细

安装完成后会提示重启Android Studio,重启就可以了。

因为这里解析JSON数据的方式都一样的,因为时间关系,我这里只写一个获取城市名称的例子

这里我们需要创建4个JAVA类文件:CONFIG、JsonBean、MainActivity、MyApplication(MainActivity是创建项目不修改文件名默认的)

避免以后修改请求URL地址不方便这里我们创建一个CONFIG的JAVA类

URl中cityname=到&中间的代码是城市的名称,可以自己修改

这里的URL是我上面所说的请求的地址就是那个地址加你申请KEY值

创建MyApplication来配置okHttpClient:

创建了MyApplication文件后一定要记得在AndroidManifest.xml添加,添加网络访问权限:

还需要一个JsonBean这个是用来解析接受到的Json数据的

创建好以后首先通过浏览器访问请求的URL地址:

访问后浏览器会返回关于这个城市的天气状况和一些其他的建议

这是复制这些返回的数据:

打开创建的JsonBean文件把鼠标放到花括号的中间位置,按ctrl+n键:弹出

在弹出的对话框中点击底部的setting按钮弹出:

在Convert Library中选择Fastjson,因为下载的框架就是Fastjson,点击ok,返回到这界面,把在浏览器复制的json数据粘贴到框框中点击ok

这个时候就会自动生成代码

来到MainActivity中:

添加initData方法,并在onCreate方法中调用

onError是在联网不成功的状态下执行的

onResponse是在联网成功的状态下执行的

因为我在 onResponse中添加了输出Log,所以当程序执行并成功访问到网络是,会返回服务端返回的数据保存在response中,

当我们的程序执行成功时应该在Logcat中打印返回的数据

看这样就代表访问成功:

下面我就开始解析返回=的json数据了

创建processData(String json)方法,在onResponse中调用

这里的cityName是一个字符串类型,因为getCity返回的是字符串类型

JsonBean JsonBean = JSON.paresObject(json,JsonBean.class);  则是通过JsonBean来解析

在Log.d("TT","城市名:" + cityName);  则是在获取到的城市名在Logcat打印出来

执行下程序:

这样就把城市名称获取出来了,获取其他的数据,同理。

注:如博客内容有错误,请联系博客更改。

Android通过聚合数据API实现天气预报的更多相关文章

  1. 用聚合数据API(苏州实时公交API)快速写出小程序

    利用聚合数据API快速写出小程序,过程简单. 1.申请小程序账号 2.进入开发 3.调用API.比如“苏州实时公交”小程序,选择的是苏州实时公交API. 苏州实时公交API文档:https://www ...

  2. 使用聚合数据API查询快递数据-短信验证码-企业核名

    有位朋友让我给他新开的网站帮忙做几个小功能,如下: 输入快递公司.快递单号,查询出这个快件的所有动态(从哪里出发,到了哪里) 在注册.登录等场景下的手机验证码(要求有一定的防刷策略) 通过输入公司名的 ...

  3. PHP 获取IP地址位置信息「聚合数据API」

    聚合数据 提供了[查询IP所属区域]的服务接口,只需要以 GET 请求的方式向 API 传入 IP地址 和 APPKEY 即可获得查询结果. 这里的难点主要在于如何通过PHP获取客户端IP地址,以及如 ...

  4. TP5结合聚合数据API查询天气

    php根据城市查询天气情况看到有人分享java的查询全国天气情况的代码,于是我想分享一个php版本的查询天气接口.免费查询天气的接口有很多,比如百度的apistore的天气api接口,我本来想采用这个 ...

  5. Android解析聚合数据之天气预报

    免费天气预报API:https://www.juhe.cn/docs/api/id/73 ,申请APPKEY MainActivity.java <span style="font-s ...

  6. 利用AFNetworking框架去管理从聚合数据上面请求到的数据

    数据从JSON文档中读取处理的过程称为“解码”过程,即解析和读取过程,来看一下如果利用AFNetworking框架去管理从聚合数据上面请求到的数据. 一.下载并导入AFNetworking框架 这部分 ...

  7. 聚合数据全国天气预报api接口

    查询天气预报在APP中常用的一个常用功能,聚合数据全国天气预报api接口可以根据根据城市名/id查询天气.根据IP查询天气.据GPS坐标查询天气.查询城市天气三小时预报,并且支持全国不同城市天气预报查 ...

  8. Android程序之全国天气预报查询(聚合数据开发)

    一.项目演示效果例如以下: 项目源码下载地址: http://pan.baidu.com/s/1pL6o5Mb password:5myq 二.使用 聚合数据SDK: (1)聚合数据官网地址:http ...

  9. 聚合数据天气预报API-ajax 通过城市名取数据

    如需要,可申请聚合数据天气预报API:https://www.juhe.cn/docs/api/id/39,并生成AppKey. 接口地址:http://v.juhe.cn/weather/index ...

随机推荐

  1. Angular-ui-router+ocLazyLoad.js应用实例

    AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Goole所收购.是一款优秀的前端JS框架.AngularJS有着诸多特性,最为核心的是:MVC,撗块化,自动化双向数据绑 ...

  2. vue 在已有的购买列表中(数据库返回的数据)修改商品数量

    连续加班一个月  连续通宵三天 到最后还是少了一个功能 心碎 简介:一个生成好的商品列表(数据库返回的数据) 首先拿到我们需要渲染的数组 在data中定义 我是在测试的时候 直接写了两条数据 下面开始 ...

  3. signalR 消息推送

    业务情景一:上传报表,上传excel.如果excel的数据量很大,上万条,上十万条数据,那么这个上传请求必然是个耗时请求.用户上传之后,很关心上传的进度和结果. 业务情景二:站内消息提醒,实时有效地接 ...

  4. JAVA_SE基础——4.path的临时配置&Classpath的配置

    这次,我来写下关于path的临时配置的心的 我来说个有可能的实例:如果你去到别人的电脑 又想写代码 又不想改乱别人的path配置的话  再说别人愿意你在别人的电脑上瞎配吗? 那该怎么办呢? 那没问题 ...

  5. LeetCode & Q283-Move Zeroes-Easy

    Array Two Pointers Description: Given an array nums, write a function to move all 0's to the end of ...

  6. 初学深度学习(TensorFlow框架的心得and经验总结)自用环境的总结

    初学者的时间大部分浪费在了环境上了: 建议直接上Linux系统,我推荐国产的深度系统,deepin这几年一直在不断的发展,现在15.4已经很不错了 1,图形化界面很漂亮,内置正版crossover,并 ...

  7. 算法题丨3Sum

    描述 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all ...

  8. 深入了解GOT,PLT和动态链接

    之前几篇介绍exploit的文章, 有提到return-to-plt的技术. 当时只简单介绍了 GOT和PLT表的基本作用和他们之间的关系, 所以今天就来详细分析下其具体的工作过程. 本文所用的依然是 ...

  9. Linux实战案例(1)CentOS修改主机名(hostname)

    1.临时修改主机名 显示主机名: oracle@localhost:~$ hostname localhost 修改主机名: oracle@localhost:~$ sudo hostname orc ...

  10. docker注意事项

      当你最后投入容器的怀抱,发现它能解决很多问题,而且还具有众多的优点: 第一:它是不可变的 – 操作系统,库版本,配置,文件夹和应用都是一样的.您可以使用通过相同QA测试的镜像,使产品具有相同的表现 ...