华容网站优化【华容开通400电话】华容网站搭建、华容微信公众号推文外包、华容开通京东拼多多设计、华容淘宝装修-网站优化-网站建设【企业网站制作|网页设计】- 高端网站建设 - 书生商友信息科技-

全国热线:400-111-6878

网站建设推广专家

华容网站优化【华容开通400电话】华容网站搭建、华容微信公众号推文外包、华容开通京东拼多多设计、华容淘宝装修

发表日期: 2021-04-09 11:00:53 浏览次数:119

{%}

假设你正在一家你很喜欢的书店里翻书,你想了解某一本书在Amazon.com(网上书店)的售价,那么这款“亚马逊掌上书店”应用就可以帮你实现这一愿望。通过扫描书上的条码,或输入书上的ISBN,应用将告诉你这本书当前在Amazon.com的最低售价。你也可以按照主题进行书籍的搜索。

“亚马逊掌上书店”演示了如何使用App Inventor来创建与web service进行交互的应用(web service又称作API 或应用程序接口)。本应用将从一个web services上获取数据,该web services是由本书的作者之一创建的。由本章结束时,你将为自己创建一款定制的应用,来访问亚马逊网上书店。

该应用界面非常简单,用户可以输入关键字或书的ISBN 码,应用将列出书名、ISBN以及新书在亚马逊上的最低售价。也可以使用条码扫描组件,让户可不必输入文本,而是通过扫描来进行搜索(从技术上讲,是扫描仪替你输入了书的ISBN!)。

学习要点

本章将学习以下内容:

此外我们将介绍用Python语言及谷歌的App引擎编写的源代码,并用它来创建自己的web service API。

什么是API?

在开始设计组件和编写应用之前,我们来解释一下什么是API(应用程序接口),以及它如何工作。可以把API想象为一个网站,只是它不与人类交互,而是与其他计算机程序交互。

{%}

图 13-1 模拟器中的“亚马逊掌上书店”

API通常被称作“服务器端”程序,因为它们的特点就是为“客户端”程序提供信息。“客户端”程序负责实现与人类的接口——如App Inventor应用。如果你曾经在手机上使用Facebook 应用,你实际上是通过Facebook的客户端程序与Facebook的服务器端程序(API)进行通信。

本章将创建一个Android客户端应用,与Amazon API进行通信。应用将向Amazon API请求书的信息(书名、书号及价格等),而API将向应用返回最新的信息列表,用户将在应用中浏览到书的相关信息。

我们即将使用的Amazon API是App Inventor专用的API。这里我们不想过多地解释细节,但有关配置的知识是非常有用的,正是由于有了这些配置,我们才能用TinyWebDB组件与Amazon进行沟通。好在你已经学会了使用TinyWebDB!调用TinyWebDB.GetValue来请求信息,然后在TinyWebDB.GotValue事件处理程序中处理返回的信息,就像在用Web数据库一样。(如果忘记了,去复习一下第10章的“出题”应用。)

在创建应用之前,需要先了解一下Amazon API协议,协议规定了请求数据的方式以及返回数据的格式。就像不同的族群有不同的礼仪(两人相遇时,是握手、鞠躬还是点头?),计算机之间的互相则需要有协议 。

Amazon API为调用者提供了一个Web页面,来说明API的使用方法。虽然设计API的目的是为了与其它计算机交互,但在这个页面上,你可以看到这种交互的过程。 按照下列步骤,你可以尝试调用一个指定tag参数的GetValue,并在页面上看到返回的数据,这与你在App Inventor中使用TinyWebDB组件请求数据的结果完全一致:

1. 在浏览器中访问网站http://aiamazonapi.appspot.com/,你会看到如图13-2所示的页面(页面中的中文为译者添加)。

{%}

图 13-2 App Inventor专用的Amazon API的说明及测试页面

2. 本页面允许你对与此API的GetValue功能进行测试:在tag输入框中输入搜索词(如“natural computing”),然后单击“Get value”按钮。页面将显示从Amazon API返回的排在前五位的书籍列表,如图13-3所示。

{%}

图 13-3 调用Amazon API来搜索与tag(或关键字)“natural computing”有关的书籍

返回值是一个书的列表,每本书的信息由一对方括号包围[像这样],提供了书名、售价及ISBN。如果仔细观察,你会发现每本书其实是另一主列表的子列表。主列表(natural computing)由外层的方括号包围,每个子列表(或书)被封闭在单独的一对方括号内。所以此API的返回值实际上是一个列表的列表,每个子列表提供一本书的信息。我们来细致地观察一下。

数据中的每个左括号([)标志列表的开头。第一左括号标志外层列表(书籍列表)的开始,紧挨着它的左括号是第一个子列表,即第一本书的开头:

[['"Natural Computing: DNA, Quantum Bits, and the Future of Smart Machines"', '$5.77', '0393336832'],

子列表包含三个部分:书名、该书在亚马逊书店的最低售价及这本书的ISBN。当你的App Inventor应用取得这些信息时,就可以使用select list item块来访问其中的每个部分,用索引值1访问书名,索引值2访问价格,索引值3访问ISBN。(如果淡忘了有关列表及索引的使用方法,请复习第十章的“出题”应用。)

3. 除了搜索关键字,你还可以通过ISBN来精确地搜索一本书,只要在tag后面直接输入书号即可,试试输入“1449397484”,如图13-4所示。返回结果如下:

[['"App Inventor: Create Your Own Android Apps"', '$21.64', '1449397484']]

返回结果中的双括号([[)表示返回的仍然是一个列表的列表,虽然列表中只有一本书。这似乎有点奇怪,但这一点对需要访问这类信息的应用来说非常重要。

{%}

图 13-4 用ISBN替代关键字在AmazonAPI中查询书籍

设计组件

华容网站优化【华容开通400电话】华容网站搭建、华容微信公众号推文外包、华容开通京东拼多多设计、华容淘宝装修

华容,在我国,表示三个地区都有“华容”的简称。湖南省岳阳市华容县、湖北省鄂州市华容区、湖北省鄂州市华容区华容镇。


华容网站优化华容开通400电话华容网站搭建、华容微信公众号推文外包、华容开通京东拼多多设计、华容淘宝装修


上一条:华容400电话办理【华容网站公司】华容百度优化、华容域名注册、华容网店美工、华容微信公众号托管
下一条:华容小程序制作【华容企业邮箱】华容网站外包、华容微信商城开发、华容网店美工、华容淘宝设计
网站制作
小程序制作
网站优化
网站开发
400电话办理
网络推广
网站建设
网店装修
微信公众号开发
网页设计
网络公司
域名企业邮箱
服务器空间
网站案例报价
百科问答
编辑排版美工
App软件开发
百度推广
代运营托管
logo设计
网络全网营销
网站备案
网站定制
小程序开发公司
首页
电话
立即预约