网站大量收购闲置独家精品文档,联系QQ:2885784924

第 22 篇 数据库.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 22 章 数据库 Facebook 的数据库中,有每位⽤户的账户信息、好友列表以及发布的信息,Amazon的 数据库中有你能买到的任何东西, Google的数据库中有互联⽹上的每个页⾯的信 息。你⾃⼰的应⽤虽然没有那么⼤的规模,但⼀个正规的应⽤都会⽤到数据库组件。 在⼤多数的编程环境中,编写与数据库通信的应⽤是⼀种⾼级编程技术:要搭建数据 库 (软件)服务器,如Oracle或MySQL等,并编写程序与数据库建⽴连接。在⼤学 ⾥,这些内容通常要在软件⼯程或数据库这样的⾼级课程中才会涉及。 App Inventor承担了与数据库 (以及许多其它有⽤的事情)有关的这部分繁琐的设置, 在这个语⾔中,提供了数据库组件,将数据库通信简化为单纯的读写操作。应⽤可以 直接将数据保存在Android设备上,也可以保存到集中式⽹络数据库中,从 实现在不 同设备与其他⼈之间的数据共享。 保存在变量及组件属性中的数据属于临时存储:如果⽤户在表单中输⼊某些信息然后 关闭应⽤,那么当应⽤重新打开时,这些信息将不复存在。想要长期保存信息,就需 要将它们保存到数据库中。数据库中的信息被称为永久信息,因为当应⽤在关闭后重 新打开时,数据依然存在。 作为例⼦,考虑第4章开车不发短信的应⽤,那个繁忙时⾃动回复短信的应⽤。这个 应⽤允许⽤户输⼊⼀条个性化的信息,作为收到短信时的⾃动回复信息。如果⽤户将 信息改为“我在睡觉,别来烦我” ,然后关闭了应⽤,当重新打开应⽤时,定制的⾃动 回复信息依然是“我在睡觉,别来烦我” 。因此,定制信息必须保存到数据库中,在每 次启动应⽤时,再将信息从数据库提取到应⽤中。 在TinyDB中永久保存数据 App Inventor提供了两个便于操作数据库的组件: inyDB及 inyWebDB 。 inyDB⽤于 直接在Android设备上永久保存数据,它适合于那些极其私⼈化的应⽤,如开车不发短 信,这类应⽤不需要让数据在不同设备及⼈群之间共享。 inyWebDB则将数据保存 到web数据库中,并可实现不同设备之间的共享。能够通过web数据库访问数据,这是 多⼈游戏及应⽤的基础,⽤户可以借此分享信息 (如第10章的出题应⽤)。 这两个数据库组件⾮常相似,但 inyDB更简单些,因此我们先来研究它。⾸先,不需 要任何设置就可以直接使⽤它,此外,数据直接保存在设备上,并于应⽤相关联。 使⽤ inyDB .StroeValue块来实现数据的长期存储,如图22-1所⽰,这段代码来⾃于“开 车不发短信” 。 http://appinvtinywebdb .appspot .com的web数据库服务器中。由于这⾥⽤的是默认 的服务,会显⽰来⾃于各种应⽤的很多数据,因此在第⼀个显⽰窗⼜中,有可能看 到,也有可能看不到你的数据。如果看不到,可以⽤页⾯上的GetValue链接⽤特定标 签来有哪些信誉好的足球投注网站数据。  测试:⽤ inyWebDB编程时,使⽤数据库服务器的web接⼜ 来测试是否按要求被保存起来。 ⽤TinyWebDB来请求并处理数据 ⽤ inyWebDB提取数据要⽐ inyDB复杂得多。由于 inyDB的GetValue操作是直接与 Android设备上的数据库通信,因 可以⽴即获得返回值,但使⽤ inyWebDB的应⽤ 则需要跨越⽹络来请求数据,因此需要分两步来实现。 ⾸先使⽤ inyWebDB的GetValue请求数据,稍后再来处理 inyWebDB .GotValue事件处 理程序。实际上, inyWebDB .GetValue应该叫做“RequestValue (请求值)” ,因为他 只是向web数据库发出请求, 请求实际上并不能⽴即“get (得到)”⼀个值。为了更 清楚地了解⼆者之间的差别,可以对⽐图22-5 中的 inyDB .GetValue与图22-6 中的 inyWebDB .GetValue 。 图 22-6 TinyWebDB.GetValue块 inyDB .GetValue块⽴即得到返回值,因此该块的左侧有⼀个插头以便可以将返回值保 存到⼀个变量或属性中; inyWebDB .GetValue块不能⽴即得到返回值,因此左侧没 有插头。 对 inyWebDB ⾔,当web数据库实现了请求并将数据返回给设备时,将触发 inyWebDB .GotValue事件。因此整个提取数据过程分为两步,⾸先在⼀个地⽅调⽤ inyWebDB .Ge

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档