基于App Inventor积木式编程API调用的设计与实现

来源 :现代信息科技 | 被引量 : 0次 | 上传用户:tanmh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘  要:App Inventor积木式编程程序,其优点是可视化操作、模块拼接编程,易读懂、易编写、易理解,使学习变得简单有趣。基于App Inventor开发的“天气预报APP”应用案例,在互联网环境下,结合大数据应用,在移动终端上开发应用程序,大大地提升了青少年学习积木式编程的兴趣。在对案例编写、创建和调试的过程中,有意识的培养学生的计算思维,有效提高学生发现问题、解决问题的能力,使程序学习不再枯燥。
  关键词:App Inventor;API调用;天气预报APP
  中图分类号:TP311.56      文献标识码:A 文章编号:2096-4706(2020)22-0026-04
  Design and Implementation of API Call in Building Block Programming Based on App Inventor
  ——Take the Weather Forecast APP as an Example
  LIU Zaixing
  (Guangzhou Institute of Educational Research,Guangzhou  510110,China)
  Abstract:App Inventor building block programming program,its advantages are visual operation,module splicing programming,easy to read,easy to write,easy to understand,make learning simple and interesting. Based on the application case of “weather forecast APP” developed by App Inventor,in the internet environment,combined with big data application,the application program is developed on the mobile terminal,which greatly enhances the interest of teenagers in learning building block programming. In the process of writing,creating and debugging cases,we should consciously cultivate students’computational thinking,effectively improve students’ability to find and solve problems,and make program learning no longer boring.
  Keywords:App Inventor;API call;weather forecast APP
  0  引  言
  随着信息技术的日益发展,智能设备已广泛地使用在我们的日常生活中,为我们的生活带了许多便利。App Inventor积木式编程是一款基于浏览器的在线安卓软件开发工具,采用搭积木的方式进行编程,由于其界面友好,能很好的实现学生的创意,简单有趣,使程序學习不再枯燥。笔者作为广州市教育研究院初中信息技术教研员,主编广州市中学信息技术学科教材《信息技术》第二册的“App Inventor手机积木式编程”,本文基于App Inventor积木式编程设计与开发的天气预报APP为例向读者展现API调用的设计与实现的过程,在发现问题、解决问题的过程中激发学生学习手机积木式编程的兴趣,培养学生计算思维能力,养成良好的编程思维。
  1  App Inventor积木式编程在初级中学信息技术学科教育中的实用性
  信息技术是什么,很多人首先想到的是编程,这就说明信息技术学科中的编程课程尤为重要。初级中学阶段的学生的信息技术专业知识欠缺,外语水平也不高,想要学习好一门编程语言确实不容易,往往因为传统编程课程的学习,造成很多同学对信息技术学科产生畏难情绪,觉得编程很难掌握,磨灭他们对编程乃至信息技术课程的学习兴趣。2012年1月,美国麻省理工学院推出基于安卓系统的积木式编程软件——App Inventor。不同于传统编程,App Inventor积木式编程的设计比较简单,学生不用编写烦琐的代码,使用“积木”对程序代码块进行拼接,实现在智能手机或平板上直接查看程序的调试结果,这对于活泼好动的初中生具有非常大的吸引力。初中信息技术课程App Inventor积木式编程包括“摇一摇听单词”“创意涂鸦”和“调用API制作天气预报APP”等教学内容。本文截取App Inventor积木式编程中常用的API调用为例,阐述如何设计与实现天气预报APP。
  2  天气预报APP的功能及技术可行性分析
  天气预报需要综合大量的数据进行专业处理,事实上我们很难凭一己之力实现这样的应用。不过,专业机构已经将数据处理并发布在网络上,我们只需要按照特定规范进行调用,即可获得专业的数据,这就需要调用API应用程序接口。
  Web服务器通常提供两种方式的用户接口与客户端交互,如图1所示:一种是Web UI,就是通常所说的网站或网页,客户端不需要安装特定的程序,通过浏览器就可以访问网站;另一种是Web API,需要在客户端安装应用程序,用户与客户端APP交互,客户端APP再通过Web API与服务器交互,将结果展现给用户。本文以制作一款天气预报APP为例,阐述API调用的设计与实现。   2.1  天气预报APP功能
  基于App Inventor编程平台开发天气预报APP,设计实现以下功能:
  (1)输入某个城市名称,显示该城市的实时天气状况。
  (2)可以查询任意城市的近7天天气数据,包括气温、风向、风力等信息。
  2.2  技术可行性分析
  (1)API调用。应用程序编程接口(Application Pro-gramming Interface,API)调用,即开发人员和应用程序无须访问源码或理解程序的内部工作机制细节,通过预定义函数,基于某软件或硬件得以访问一组例程的能力。API的实现是提供API所定义的功能的软件,API仅仅是一种程序接口,它的优势在于:1)系统各部分的相互依赖通过API良好的接口设计得以解决,既可降低组成单元间的耦合程度又能提高它们的内聚性,同时系统的维护性和扩展性得到很好的提升。2)API是一组极其复杂、数量上千的函数和程序构成应用程序接口,程序员可以利用程序接口完成各类开发任务。高质量的API接口,除了自身的数据外,接口的稳定性和质量也是非常重要。
  目前,世界上许多大型企业,如京东万象、Amazon等都通过API接口开放数据,使得全世界的开发人员都能够调用他们的数据。API数据接口近年来受众多开发人员的追捧,在程序的设计与开发工作中起着重要的作用。
  把通信连接Web客户端组件内置到基于App Inventor开发的天气预报APP内,天气预报APP可根据客户需求查询城市的名称,调用Web客户端组件来设置API的链接地址,使用京东万象提供的API服务,获取返回数据。
  (2)解析数据。解析的数据主要是京东万象平台API程序接口中获得的各类返回信息,包括城市的信息和当前天气的状况、目前的气温等。因为这些信息都是用JSON数据格式返回,同时Web浏览器组件中具有解码JSON文本的方法,并返回列表数据,因此我们可以在列表中通过对“键值对”的查找,查询到数据的值。
  3  JSON格式数据
  JSON相对于XML来说更为小巧,同时没有削减描述能力,是一种轻量级的数据交换格式,易于机器解析和网络传输。JSON对象表示为键值对,是一个“名称/值”的集合,每个名称后跟一个冒号,大括号保存对象,数据由逗号分隔。我们从调试信息中的JSON返回示例值中取出与本例相关的其中一段来做说明。本例中,程序需要的是關键字“weather”对应的值,作为天气预报的结果显示在界面上。
  根据JSON返回的文本结构,先查找第1层结构中关键字“result”对应的值,然后在其返回的结果(键值对“列表”)里查找第2层结构中关键字“result”对应的值,最后在其返回的结果里(键值对“列表”)查找第3层结构中关键字“weather”对应的值。用这样的方式,通过3层查找来找出关键字“weather”得到对应的值,并赋值给标签来显示数据。
  "code":"10000",
  "charge":false,
  "msg":"查询成功",
  "result":{
  "status":0,
  "msg":"ok",
  "result":{
  "city":"广州",
  "cityid":75,
  "citycode":"101280101",
  "date":"2019-07-13",
  "week":"星期六",
  "weather":"阴",
  "temp":"30",
  ……
  }
  ……
  }
  4  天气预报APP组件界面设计
  本系统的屏幕(Screen)布局设计如图2、图3所示,天气查询界面如图2所示,输入城市名单击“查询”按钮后显示的界面如图3所示,组件界面设计如图4所示。
  (1)如图2所示,屏幕上方是查询天气输入框,在输入框里填入要查询的城市后,单击“查询”按钮即可查询该城市的天气状况。所使用的组件有水平布局、标签、文本输入框、按钮等等。
  (2)通信连接Web客户端1个:把网址设置为京东万象和风天气API的接口地址,用来获取返回的信息以及进行解析。
  (3)语音合成器1个:使用语音播报查询到的某城市天气情况。
  5  京东万象平台
  系统需求方使用数据服务方(或大数据交易平台)提供的数据接口获得所需要的数据。这些数据经过平台的处理与分析,能很好地满足需求方对数据的需求。天气预报APP调用的API接口是大数据交易平台中的京东万象平台提供的“世界和中国天气预报”程序,它能提供全球5万多个城市实时和近7天的天气、气温、风力、风向等数据信息。京东万象平台的天气数据采用JSON格式数据,编写的格式比较简单,很适合初学者使用,平台每天都可以有5 000次的免费请求,满足简单程序的编写。初学者在京东万象平台上注册并申请一个APPKEY即可使用该数据接口获取数据。调用京东万象平台天气API的链接地址为:https://way.jd.com/he/freeweather?city=城市名&appkey=您的密钥。涉及的程序代码块如图5所示。
  6  天气预报APP程序设计
  当京东万象平台数据服务的API返回数据时,解析JSON数据,获取相关关键字的值,并显示在屏幕上。我们要在JSON返回文本中查找关键字“weather”对应的值,可以通过列表组件提供的“在键值列表…中查找…,没找到返回”方法来实现。此方法需要3个输入值:键值对“列表”、关键字以及找不到时的提示信息。根据JSON返回的文本结构,先查找第1层结构中关键字“result”对应的值,然后在其返回的结果(键值对“列表”)里查找第2层结构中关键字“result”对应的值,最后在其返回的结果里(键值对“列表”)查找第3层结构中关键字“weather”对应的值。用这样的方式,通过3层查找来找出关键字“weather”得到对应的值,并赋值给标签(“标签_天气数据”)来显示数据,如图6所示。
  当输入城市名,点击“查询”按钮时,设置Web客户端的网址并向京东万象平台API发送数据请求服务。调用语音合成器来将查询结果(文本)转换成语音,通过设备的扬声器进行播报,Web客户端获得文本事件的完整代码块如图7所示。
  7  结  论
  从本文介绍的基于App Inventor积木式编程API调用的天气预报APP系统的设计与实现可以看出,其结构简单,操作便捷,体现出App Inventor积木式编程软件编写简易的特点。2017年7月国务院印发《新一代人工智能发展规划》,强调“在中小学阶段设置人工智能相关课程,逐步推广编程教育”,而本系统的程序设计在互联网环境下,App Inventor积木式编程作为编程入门的课程在初级中学普及开展,学生利用积木式编程开发手机APP,更好地提升自身的信息技术素养,适应新时代的发展。
  参考文献:
  [1] 金从军.App Inventor开发训练营 [M].北京:人民邮电出版社,2018.
  [2] 广州市教育研究院.信息技术 小学:第2册 [M].广东:广东教育出版社,2015.
  [3] 白乃远,曾奕霖.App Inventor 2 Android应用开发实战 [M].北京:电子工业出版社,2017.
  [4] 鲁丹,李欣,陈金传.基于API技术的数字人文基础设施的构建 [J].图书馆学研究,2019(13):42-46+57.
  [5] 魏晓风,蒋家傅,钟红,等.我国中小学编程教育发展的路径思考 [J].中国教育信息化,2018(24):1-4+9.
  作者简介:刘载兴(1963—),男,汉族,广东广州人,中学高级教师,硕士研究生,研究方向:计算机技术教育、中小学信息技术教育、人工智能。
其他文献
摘 要:Excel是使用非常广泛的办公软件体系之一,自身带有多种类型、可实现多种功能的内置函数,但仍不能完全满足一些用户的特殊功能使用要求。基于此,Excel提供了宏功能,满足用户通过自定义的方式开发独特功能的使用需求。利用VBA的宏编程技术,通过自定义Excel函数,实现Excel单元格数据中指定字符间文本的批量去除功能,同时提供指定字符去除或保留两种实现模式的解决方案。  关键词:VBA;指定
期刊
摘 要:实习课程的线上线下混合式教学是新时代背景下的新型实习教学模式,这种模式具有“师生互助”,促进“个性化发展”的优点,对调动學生学习积极性,提高教学质量有很大帮助。以“专业方向实习”课程为例,提出课程资源建设是实习课程实行线上线下混合式教学的重要前提,并且通过众多学习平台的教学实践,提出了线上线下混合式教学模式的实施要点,以及为其他实习课程实施线上线混合式教学模式提供借鉴。  关键词:个性化发
期刊
摘 要:传统教学方式的优势在于其知识教学的高效率,但是集体学习的高效率同时也导致了教师对学生个体的忽视,无法做到因材施教。翻转课堂将传统的教学过程进行互换,整个教与学过程的主体换成了学生,在教学活动的过程中他们主动地去发现问题和解决问题,提高了课堂质量,激发了学生的学习兴趣。文章借助超星学习通平台以“机械设计基础”课程为例阐述了应用O-PIRTAS模式翻转课堂的实际操作方法。通过翻转课堂实践化教学
期刊
摘 要:Java语言程序设计是信息管理与信息系统专业的必修课,通过分析其在教学中存在的一些问题,结合中医院校信息管理与信息系统专业的特色,在教学内容上合理规划、突出中医特色;在教学方法上,改变传统讲授方式,采用案例教学法、项目驱动法相结合的方式,并通过教师队伍建设、教研结合等方式提高实践教学效果;在考核方式上注重对学生学习过程的考核,通过这几个方面的探索,提高课程的教学质量。  关键词:Java程
期刊
摘 要:云计算作为一种新的应用模式,已在各行各业广泛应用,尤其是在智慧公安领域,通过可靠的公有云服务与私有云服务相结合的模式,搭建适合智慧公安业务应用的混合云。以上海某区智慧公安视频数据建设为例,对当前已建的12 760路视频监控进行数据转发存储和智能分析算力设计,建设计算和数据存储处理兼顾的综合云计算平台。通过对云平台架构分析,数据存储及算力计算,设备选型,实现基于云平台的公安数据存储及算力设计
期刊
摘 要:中国农户的非低碳消费行为造成了严重的生态环境问题,然而,随着“互联网+”的发展,ICT的使用对农户行为有着重要影响。因此,文章对ICT的使用对农户低碳消费行为是否有影响进行了研究,采用2018年中国家庭追踪调查(CFPS)的数据,并运用Probit模型。研究发现:核心变量ICT使用、农业劳动者、家庭人口数和政府补贴对农户低碳消费行为的发生具有显著正向影响;年龄和环境污染严重程度评价对农户低
期刊
摘 要:层层递进式“按图索块”的教学模式是指在课堂教学中引导学生按照程序功能的不同层次规划不同等级的程序流程图,“按图索块”进行积木拼搭,层层递进,直至完善程序流程图,进而完成程序的整个设计,最后对整个流程图进行回顾,整体把握教学内容的过程。这种教学模式先细节后全貌、先局部后整体、先体会成功的快感再回顾成功的过程,符合技工教育的认知规律,因而能达到较好的教学效果,很好的培养学生的程序设计思维。  
期刊
摘 要:基于LinkVR适配技术,构建沉浸式虚拟现实场景;针对场景的布局、结构和特点,运用Profile等相关手段进行性能分析,寻找主机资源消耗的关键点;通过烘焙、遮挡剔除和LOD等技术手段,对虚拟场景进行优化。文章以虚拟ICU为案例,叙述了一种沉浸式场景的构建方式,总结了对沉浸式复杂场景进行性能优化的关键技术。  关键词:虚拟现实技术;沉浸式;复杂场景构建  中图分类号:TP391 文献标识
期刊
摘 要:在新冠肺炎疫情暴发的背景下,患者来院就医流程面临诸多改变。通过对患者入院行为进行调查分析,结合医院实际流程,整合线下人工流程与线上流程,依托微信公众号掌上医院平台,最大化利用线上流程办理业务,实现了社区核酸检测系统核酸检测自助开单、在线办理陪护证等功能,提高了医护人员工作效率,降低了院内人员堆积带来的交叉感染风险。通过信息化手段,实现了“让信息多跑路,患者少跑路”,改善了患者就医体验。  
期刊
摘 要:蚁群算法是一种智能仿生算法,以TSP为例分析蚁群算法中的参数设置情况,蚁群算法中的参数较多,不同的参数组合都影响着蚁群算法的全局收敛性和收敛速度,同时也是蚁群算法研究的难点,且至今为止都没有完整的理论支持,只能依靠学者的经验或者大量的数据实验。该文主要通过仿真实验,依据每个参数对蚁群算法的最优路径的影响,最终得出每个参数较为合理的取值范围。且以TSP为例有较好的实用价值。  关键词:蚁群算
期刊