当前位置: 网站首页>小程序开发>小程序制作

石家庄网站制作【石家庄网站优化】石家庄建网站、石家庄微信公众号运营、石家庄网页设计、石家庄微信小程序商城

发表日期: 2021-04-10 09:18:11 浏览次数:167

石家庄网站制作【石家庄网站优化】石家庄建网站、石家庄微信公众号运营、石家庄网页设计、石家庄微信小程序商城

石家庄,简称“石”,旧称石门,是河北省省会,国务院批复确定的中国京津冀地区重要的中心城市之一 [1]  。截至2019年,全市下辖8个区、11个县,代管3个县级市,总面积14464平方千米(含辛集市),建成区面积338.16平方千米,常住总人口1039.42万人,城镇人口676.14万人,城镇化率65.05%。 [2] 

石家庄地处中国华北地区、河北省中南部、环渤海湾经济区,是河北省的政治、经济、科技、金融、文化和信息中心,中部战区陆军机关驻地 [3]  ,是国务院批准实行沿海开放政策和金融对外开放城市,也是全国重要的商品集散地和北方重要的大商埠 [4]  、全国性商贸会展中心城市之一 [4]  、中国国际数字经济博览会永久举办地 [5]  、中国(河北)自由贸易试验区组成部分。 [6] 

石家庄于民国十四年(1925年)建市,时名“石家市”,1947年更名为石家庄市。1968年河北省会迁至石家庄市。京广、石太、石德、朔黄四条铁路干线交汇于此,是中国铁路运输的主要枢纽之一,被誉为“南北通衢,燕晋咽喉”。 [7-8]  石家庄是国家首批科技创新示范城市、国家半导体照明产业化基地、国家卫星导航产业基地、国家动漫产业发展基地、国家生物医药产业基地。 [7]  [9] 

石家庄是全国文明城市、国家森林城市、中国优秀旅游城市,旅游资源丰富,名胜古迹众多,有全国重点文物保护单位40处、国家历史文化名城1座。西柏坡是国家5A级景区,被称为“晋察冀边区的乌克兰”,是解放战争时期中国革命的领导中心。2019年,当选“中国十大夜经济影响力城市”。 [10-15]  2021年3月,被评为国家卫生城市。

你所见,应用就是处理事件以及作出决策,这一过程是计算机程序的基础,而同样构成程序基础的就是数据——程序所要处理的信息。程序中很少只用到像游戏中的成绩这样的单个数据,更普遍的是使用复杂数据——一些相互关联的数据项,必须像设计应用的功能一样,非常细心地组织这些数据。

{%}

本章将探讨App Inventor中处理数据的方式,并学习两种数据类型的基本编程方法,两种数据类型为静态数据(数据的值保持不变)及动态数据(数据由用户生成),然后将学习如何处理更为复杂的包含数据的数据,即数据项本身也是一组数据。

许多应用中都存在这样复杂的数据,如facebook中的好友列表,测试应用中的问题及答案列表等等,游戏中也会有角色的列表以及当前最高成绩的列表。

列表变量的使用如同普通的文本及数字变量一样,只是它们不仅仅代表单一的有名称的存储单元,而是表示一组相互关联的存储单元,例如,考虑表19-1中的电话号码列表。

表19-1 列表变量表示一系列的存储单元

{%}

使用索引值(index)来访问列表元素,因此在列表19-1中,index为1时表示第一项111-2222,index为2时表示第二项333-4444,而index为3时表示555-6666。

App Inventor提供了操作这些数据的块,包括数据的创建、为数据添加元素、从列表中选择指定的项以及对整个列表的操作,让我们从创建列表开始。

创建列表变量

在块编辑器中,使用“initialize global (name) to”块以及“make a list”块来创建列表变量。例如,假设你正在写一个“一键发送短信”的应用,通过点击一个按键向电话号码列表中的所有成员发送短信。用如下方式创建一个电话号码列表:

1. 从块编辑器的Variables抽屉中拖出一个“initialize global (name)to”块到应用中,如图19-1。

{%}

图 19-1 初始化变量的块

2. 点击文本“name”,将其改为phoneNumbers,如图19-2所示。

{%}

图 19-2 将变量重命名为phoneNumber

3. 从Lists抽屉中拖出“make a list”块插入初始化变量块,如图19-3所示。这是告诉应用,要存储的变量是一个列表,而非单个值。通过点击“make a list”块上的蓝色增项图标来指定所需存储槽的数量,来增加数据项,如图19-3所示。

{%}

图 19-3 使用“make a list”块来定义列表变量phoneNumber

4. 最后,从Text抽屉中拖出文本块,输入需要的电话号码,插入到“make a list”块的数据项插槽中。

{%}

图 19-4 当列表中添加了全部数据项,相当于开辟了一个新的存储空间

数据项的存储中可以插入任何类型的数据,但在本例中,这些数据项是文本类型的对象,而不是数字,因为电话号码中含有一个破折号“-”,这种非数字类型的符号无法输入到数字块中,也无法与数字进行任何运算(而数字运算必须用到数字块)。

图19-4中所示的块定义了一个名为phoneNumber的变量,在应用启动时,你定义的任何变量就在此时被创建,而像表19-1中的存储槽也被同时创建并被填写上初始值。一旦有了这个列表变量,就可以使用列表中的数据开始编程了。

选择列表项

应用中可以使用“select list item”块,并指定索引值(index)来访问列表中指定的数据项。index代表了该数据项在列表中的位置。因此,如果列表中有三个数据项,就可以用索引值1、2、3来访问这些项。图19-5中显示了选中列表第二项的块。

{%}

图 19-5 选择列表中的第二项

使用选择块“select list item”需要提供两项参数,首先是要查询的列表,将其插入选择块的第一个插槽中,其次是索引值index,将其插入选择块的第二个插槽中。图19-5中的块是告诉应用从列表phoneNumber中选出第二个元素。如果列表的定义如表19-1的话,俺么选择的结果就是“333-4444”。

从列表中选择数据项,这仅仅是第一步,通过选择可以实现各种操作,下面将举例说明。

使用Index遍历列表

许多应用中,定义列表的目的是让用户可以遍历(逐个查看)它。第8章总统测验就是一个很好的例子:用户点击“下一题”按钮,程序从问题劣币哦啊中选择下一道题并显示出来。

但如何实现对下一项的选择呢?图19-5中选择的是列表phoneNumber中的第二项,而遍历列表时,每次选择的项目序号是不同的,会根据当前选中项在列表中的位置来确定。因此就需要定义一个变量来表示这个位置,通常用index来作为变量名,初始值通常设为1(列表中的第一个位置),如图19-6所示。

{%}

图 19-6 变量index的初始值为1

当用户设法移动到下一项时,可以在当前的index值上加1来实现变量的递增,并使用递增后的值在列表中做选择。图19-7中显示了实现这一点使用的块。

{%}

图 19-7 使index值递增,并用递增后的值选择列表项

举例:遍历画笔颜色列表

来看一个例子,用户可以通过点击按钮来为他的房子选择一种可能的粉刷颜色,每次点击,按钮的颜色都会变化。当用户查阅完全部颜色时,再重新回到第一种颜色。

例子中,可以使用基本色,也可以替换成任何一组颜色,关于颜色的更多信息,可以参见App Inventor文档(http://appinventor.googlelabs.com/learn/reference/blocks/colors.html)。

第一步是定义一个颜色列表变量,并以颜色为列表项来初始化列表,如图19-8中所示。

{%}

图 19-8 用一组颜色为colors列表做初始化

接下来,定义变量index来跟踪列表的当前项位置,初始值为1。可以给变量一个更有意义的名字,如currentColorIndex,但如果你的应用中不需要处理其他更多的列表,用index就好。如图19-9所示。

{%}

图 19-9 使用index变量来跟踪列表当前项的位置,初始值为1

用户通过点击ColorButton从列表中浏览到下一项(颜色),此时,index值递增,而按钮的BackgroundColor变为当前选中的颜色,如图19-10所示。

{%}

图 19-10 用户通过点击按钮浏览颜色列表——每次点击都会改变按钮颜色

先假设我们已经在组件设计器中将按钮的背景颜色设为红色(Red),第一次点击按钮时,index值从初始的1变为2,按钮颜色变为列表中的第二项——绿色;第二次点击按钮时,索引值从2变为3,按钮变为蓝色。

想象一下,下一次的点击会出现什么情况?

如果你说会出错,那么你对了!index值将变成4,程序将试图在列表中选择第4项,但列表中只有3项,因此程序强行关闭,或退出,用户将看到一条如图19-11中所示的错误信息。

{%}

图 19-11 当试图从一个只有三项的列表中选择第四项时,程序将提示错误信息

显然,你不想让用户看到这样的信息,为了避免出现这样的问题,需要添加一个if块来检查是否到达了列表中的最后一项。如果是,将index值设回1,来显示第一种颜色,如图19-12所示。

{%}

图 19-12 使用if块检查索引值index是否大于列表的长度,如果是,将index值重新设为1

用户点击按钮时,index值递增,然后检查它的值是否过大。与index值进行比较的是“length of list”,而不是3,因此,即便是列表中添加了更多的项,程序也能正常运行。通过检查index是否大于列表长度(而不是与固定的数字3进行比较),可以消除程序中的代码相关性。所谓“代码相关性”是一个编程术语,举例来说,如果你的应用中某些方面的程序写得过于具体,那么当你想对某处做出修改时(如,列表的数据项),你不得不找到应用中所有使用过这个list的地方,并对程序块进行逐一修改。

正如你所想象得,这种相关性会让程序在短时间内变得混乱不堪,也会产生更多的错误等待你去排查。事实上,在“粉刷彩色房屋”应用的设计中,就在我们刚刚完成的程序中,还存在另一个代码相关性问题,你能找出是什么吗?

如果将颜色列表中的第一项由红色改为其他颜色,应用的运行结果就不再正确,除非你能记得在组件设计器中修改ColorButton.BackgroundColor属性的初始设定。消除这种代码相关性的方法是,将ColorButton.BackgroundColor初始值设定为颜色列表中的第一项,而不是某个特定的颜色。由于这一修改涉及到程序启动时的行为,因此需要在应用启动时调用的Screen.Initialize事件处理程序中进行这一设定。如图19-13所示。

{%}

图 19-13 应用启动时,将按钮的背景色设置为颜色列表中的第一项


石家庄网站制作石家庄网站优化石家庄建网站、石家庄微信公众号运营、石家庄网页设计、石家庄微信小程序商城

400-111-6878
服务热线
顶部

备案号: 苏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