利用AppInventor读取天气预报接口(完整版)

Step1:界面设计

如图所示,界面中有三个水平布局,第一个水平布局的city为文本输入框,提示信息为:请输入城市的拼音(之所以提示输入拼音,是百度接口规定的要求),query和clear都是按钮;第二个布局中有两个标签,headinfo用来显示提示信息,info用来显示返回的基本信息;第三个布局中同样也包含了两个标签,headweather用来显示提示信息,weather用来显示天气预报信息。非可视组件添加一个web客户端,用来访问天气预报API接口。

Step2:逻辑设计

1、初始化全局变量

globalList用来存放从接口返回的JSON数据,newList用来存放处理过后的数据

2、定义解析JSON数据的Procedure(将多级列表扁平化为二级列表)

3、设置Web组件的请求头和访问网址

4、处理网页返回的数据

infoLlist和weatherList都为局部变量,分别用来存取城市信息数据和天气预报数据,globalList用来存放客户端返回的JSON数据,接下来调用解析JSON数据的过程,将globalList作为参数传过去。调用完这个过程,扁平化的二级列表已经存至newList这个变量中,因此,我们可以很容易地通过关键字“basic”在newList中查找城市信息,通过关键字“now”查找实时天气信息。

最后在infoList和weatherList中通过相应的关键字取出城市名称,国家名称以及天气情况。(由于天气预报数据较复杂,没有全部读完,云朵们可以根据实际情况来选择自己需要的信息将其显示出来)

5、 设置“清空”按钮代码

当点击按钮“清空”,则把当前列表和显示信息清空,目的是为了避免上一次访问数据的滞留对本次访问造成影响。

Step3:测试

云端微课不做网络的搬运工

坚持分享实用信息资讯和原创信息技术教程

时间: 2024-10-15 03:05:55

利用AppInventor读取天气预报接口(完整版)的相关文章

虹软最新版 python 接口 完整版

虹软最新版 python 接口 完整版 当前开源的人脸检测模型,识别很多,很多小伙伴也踩过不少坑.相信不少使用过dlib和facenet人脸识别的小伙伴都有这样的疑惑,为什么论文里高达99.8以上的准确率,自己实际使用下来的准确率却并不好,甚至用来落实到百人以内的人脸识别,都经常出现误识别现象,造成这样的现象最主要的原因来自于训练人脸识别模型的样本和国内人脸有差距.因此,这些看似准确率很高的模型,直接拿来做项目使用是不行的,测试两种模型在使用几百人的考勤图片上的表现,准确率上dlib和facen

CI框架下 新浪微博登录接口完整版

https://www.cnblogs.com/yznyzcw/p/3756622.html#top 说明:本贴只适合CI框架.功能实现:登录接口跳转链接成功,获取用户信息(包括最重要的u_id)成功,将用户与本地平台连接起来,用户登录成功后信息的存储,本地数据库第三方登录表的设计.总之接口流程已全部完成.每个关键步骤我几乎都有注释,讲解详细. 首先来看下流程:流程原理:     1.通过code获得access_token通过授权,并获取用户的信息(包括用户u_id)(这个u_id在后面的第三

python利用urllib2读取webservice接口数据

import urllib2 import json response = urllib2.urlopen('http://imanage.spreadtrum.com/imanage/home/pm?act=GetAllUser') all_staff = [] result = response.read() result = json.loads(result, encoding="utf-8") for k,v in result["data"].iteri

Jquery Mobile实例--利用优酷JSON接口读取视频数据

本文将介绍,如何利用JqueryMobile调用优酷API JSON接口显示视频数据. (1)注册用户接口. 首页,到 http://open.youku.com 注册一个账户,并通过验证.然后找到API接口 (http://open.youku.com/docs/tech_doc.html) 可以看到优酷提供不少API,本文将演示“通过视频关键词”接口. 点击进去后,会发现client_id和keyword是必填的,因此,未来构造的URL应该类似 https://openapi.youku.c

微信公众平台开发接口PHP SDK完整版

原文:微信公众平台开发接口PHP SDK完整版 官方提供的SDK只有一个文本消息功能,我们将所有消息的消息类型及事件响应都整理了进来,并且加入日志记录,代码如下: 更新日志: 2013-01-01 版本1.02014-03-15 增加图片.视频.语音的内容回复2014-04-09 增加菜单链接事件2014-04-10 修改文本回复的判定方法2014-05-20 增加高级群发消息通知事件2014-05-26 增加多客服消息及多客服的判定方法2014-05-27 修改自动回复判定方式2014-06-

完整版java读取apk、ipa包名、版本名、版本号等信息

有时候,我们上传apk或者是ipa文件的时候,是需要读取到里面的一些信息的,比如软件的包名,以及其版本信息等.在网上搜索了一下资料 , 找了很多版本,对于apk文件的版本号,一直读取不到,在这里,笔者自己总结了,读取apk.ipa文件的一些代码,大家可以参考下,去其糟粕,取其精华.以便适用于自己的需求. 下面会提供源码给大家,我用的开发工具是eclipse,直接导入就可以,jar包也是我已经下载好的,大家可以免积分拿去.本来里面是有2个apk.2个ipa文件提供测试的,但是由于文件太大,上传不了

Linux学习总结(1)——Linux命令大全完整版

Linux命令大全完整版 目    录I 1. linux系统管理命令1 adduser1 chfn(change finger information)1 chsh(change shell)1 date2 exit3 finger4 free5 fwhois5 gitps(gnu interactive tools process status)5 groupdel(group delete)6 groupmod(group modify)6 halt7 id7 kill8 last8 la

vue组件间通信六种方式(完整版)

vue组件间通信六种方式(完整版) 前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.一般来说,组件可以有以下几种关系: 如上图所示,A 和 B.B 和 C.B 和 D 都是父子关系,C 和 D 是兄弟关系,A 和 C 是隔代关系(可能隔多代). 针对不同的使用场景,如何选择行之有效的通信方式?这是我们所要探讨的主题.本文总结了vue组件间通信的几种方式,如props.$emit/$on.vuex.$parent / $chil

rip路由协议 细节分析及实例配置【完整版】

rip路由协议 细节分析及实例配置[完整版] RIP呢,这是一个比较重要的知识点,所以它的知识覆盖面很广泛:但是呢,我将会对碰到的问题进行一些分析解刨(主要是为了帮助自己理清思维):也希望能够从中发现自己不足的问题,也希望能够找到一些比较冷僻的问题,这样子才会有意思多了.   先上图,这个就是我准备做实验的基本用图了.现在已经按照图上标注的IP将所有基本配置设置好了. 在这个实验中,大多数都是基于ripv1,只有在需要比较的时候才会把版本改成ripv2,然后判断完之后再切换为ripv1: 第一步