发表日期: 2021-04-08 09:05:40 浏览次数:110
邵东网站推广【邵东办理400电话】邵东SEO优化、邵东微信公众号APP客户端小程序开发、邵东网站托管、邵东APP开发
邵东,湖南省辖县级市,由邵阳市代管,别名昭阳,位于邵阳市东部,地势南北崛起,中部抬升,分向东西倾斜;总面积为1768.75平方千米,辖4乡18镇3街道;2018年常住人口91.06万人。
邵东主要矿藏有石膏、煤、铅、锌、锰、铁。320国道、S315省道、潭邵高速、衡邵高速、娄邵铁路、洛湛铁路和怀衡铁路穿境而过。名胜古迹有昭阳候城遗址、佘湖山云霖寺、九龙岭翰墨池、明清建筑荫家堂和山塘古屋、洪桥等。
2018年,邵东实现生产总值430.45亿元,按可比价计算比上年增长11%。其中:第一产业实现增加值427966万元,増长1.9%;第二产业实现增加值2053683万元,增长11.7%;第三产业实现增加值1822838万元,增长12.9%。 [1] 2019年,邵东实现生产总值605.6449亿元。 [2] 2021年1月29日,入选湖南省人民政府公布的2020年度真抓实干成效明显的地区名单。
你创建了一个伟大的应用,却留下了一个陷阱:用户输入了定制回复,然后关闭应用,当再次启动应用时,定制回复却不见了(取而代之的是默认回复)。这种状况可不是用户所期望的,他们希望在重启应用时,定制的内容还在,为此需要信息的永久保存。
你可能认为数据放在ResponseLabel组件的Text属性中,也应该算作“储存”,但实际上组件属性中的数据是临时数据,就像人的短时记忆,只要应用关闭,数据就会被“忘记”。如果希望应用能永久记住某些数据,就需要将数据从短时记忆(组件的属性或变量)转移到永久记忆中(数据库)。
要永久地保存数据,需要使用TinyDB组件,它可以将数据存储在Android设备内置的数据库中。TinyDB提供两个功能: StoreValue(保存值)和getValue(获取值)。前者允许应用将信息存储在设备数据库中,而后者则允许应用重新读取已存储的信息。
对于多数应用,可以采取如下策略:
1. 每当用户提交新值,将其存储到数据库;
2. 应用启动时,从数据库中加载数据并将其赋给一个变量或属性。
为了实现数据的永久保存,必须修改SubmitResponseButton.Click事件处理程序,表4-4中列出了所需要的程序块。
表4-4 用TinyDB数据库存储定制回复所需要的块
块的类型 | 所在抽屉 | 功能 |
---|---|---|
TinyDB1.StoreValue | TinyDB1 | 将用户的定制信息保存在手机内置的数据库中 |
”responseMessage” | Text | 以此作为保存数据的标签 |
ResponseLabel.Text | ResponseLabel | 已设定的回复信息显示在这里 |
TinyDB从ResponseLabel的Text属性中提取内容,并将其保存在数据库中。如图4-5所示,向数据库中保存数据时,要为数据设置一个tag(标签),本例中的tag是“responseMessage”。可以把tag想象成数据在数据库中的存放地址,是数据的唯一标识。在下节中你将看到,必须使用相同的tag(“responseMessage”)才能将数据从数据库中读取出来。
图 4-5 永久保存自定义回复信息
将定制回复信息保存在数据库中,以便用户再次启动应用时,保存的数据可以被重新读取出来。App Inventor提供了一个特殊的事件块:Screen1.Initialize,当应用启动时,将触发该事件(我们在第3章MoleMash中使用过)。将Screen.Initialize块拖出来,并将某些程序块放在其中,那么这些程序块会在应用启动时逐一执行。
在本应用中,Screen1.Initialize事件的处理程序会检查数据库中是否存放了自定义回复内容。如果是,则使用TinyDB.GetValue函数加载存储的内容。实现这一功能所需的块见表4-5。
表4-5 应用启动时用于加载数据的块
组件类型 | 所在抽屉 | 作用 | |
---|---|---|---|
Initialize global response to | Variables | 用于存放数据库中读出的定制回复信息 | |
“” | Text | 变量的初始值可以是任意值 | |
Screen1.Initialize | Screen1 | 应用启动时会触发该事件 | |
set global response to | Variables | 用从数据库中读出的值为该变量赋值 | |
TinyDB1.GetValue | TinyDB1 | 从数据库中读取已存储的定制回复信息 | |
"responseMessage" | Text | 插入TinyDB.GetValue的tag插槽,与之前TinyDB.StoreValue使用相同文本 | |
If | Control | 判断读出的数据中是否包含文字 | |
> | Math | 检查读出的数据长度是否大于0 | |
Length(text) | Text | 检查文本类型数据的长度 | |
get global response | Variables | 从变量中读出的数据(定制回复信息) | |
数字0 | Math | 用于比较长度 | |
set ResponseLabel.Text to | ResponseLabel | 如果读出的数据有内容,放在label中 | |
get global response | Variables | 从变量中读出的数据(定制回复信息) |
邵东网站推广【邵东办理400电话】邵东SEO优化、邵东微信公众号APP客户端小程序开发、邵东网站托管、邵东APP开发
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: https://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 昌平殡葬| 朝阳殡葬|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878