APPInvenor开发
2021-07-06王德贵
王德贵
一、设计思路
踏青时看到很多美丽的花却不知道名字……感觉很尴尬。于是我便想到用手机APP识别植物,显示出各种花草的名字、介绍,这样既解决了尴尬也学到了知识。
应用主要是通过调用百度智能云的植物识别API接口,向API服务地址使用POST请求和GET请求获取相关数据,试验证明大多数花草都能识别(图1)。

开发这个程序,会从简单到复杂,功能逐渐完善,后续还会在此程序基础上添加更多识别种类,敬请关注。
二、 准备工作
1.首先要在百度智能云申请Apikey和Secretkey。之前的文章已经介绍过,这里不再赘述。
2.HTTP协议与GET、POST请求。
HTTP:超文本传输协议
HTTP 的工作方式是客户机与服务器之间的请求-响应协议,通过协议保证客户机与服务器之间的正常通信。常见的Web 浏览器就是客户机,而计算机上的网络应用程序也能作为服务器端。
两种 HTTP 请求方法:GET 和 POST
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是GET 和 POST:
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据,处理后返回对应的数据(图2)。

三、 組件设计
本程序使用wxbit在线版(app.wxbit.com)(图3)。

四、 程序设计
1.变量和初始化
变量Apikey和Secretkey存储申请获得的两个KEY。
初始化程序利用Apikey和Secretkey,通过HTTP客户端1GET请求的实时申请,得到JSON文本,然后将返回的JSON保存在列表Access_token_list中,再提取令牌值保存在变量Access_token中。

请求网址格式为(需要替换你的Apikey和Scretkey):
https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【你的Apikey】&client_secret=【你的Scretkey】

请求头格式如下(Header如下):
列表变量returnplant、plantlist、highscoreplant和baike分别存储通过HTTP客户端2POST请求返回的JSON文本、植物列表、最高置信度的植物列表和相关的百科简介。
