AppInventor3--应用的结构.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

AppInventor应用的结构-wuhuth应用的结构•通常从两个方面来描述应用的内部结构:组件及行为,这大致与AppInventor的两个主要窗口相对应:组件设计器及块编辑器。•前者用来设定应用中的对象(组件),而后者用来编写程序,实现对用户及外部事件的响应(应用程序的行为)。AppInventor应用的内部结构组件•组件分为两大类:可视组件及非可视组件。•可视组件:在应用启动后能够看到的组件,通常被视为应用的用户界面。••非可视组件是不可见的,通常用于访问设备的内置功能,是设备的技术核心,服务于应用程序•属性•组件都是由一组属性来定义,属性相当于组件信息的存储空间。如可视组件的Width、Height及Alignment属性,它们共同定义了组件的外观。行为•应用中的行为,往往是抽象的和复杂的。•行为定义了应用对事件的响应,无论是用户发起的事件(如点击按钮),还是外部事件(如手机收到短信)。•AppInventor提供了一种非常适合于定义行为的可视化“块”语言用什么来解释应用?•人们习惯于把软件与菜谱相对比。像菜谱一样,传统的应用由一系列的顺序排列的指令构成,而计算机(厨师)则按顺序执行这些指令。•应用就是一系列的事件处理程序应用就是一系列的事件处理程序•应用更为普遍的是对事件的响应,事件的触发者是最终用户。•应用更适合于概括为“对事件做出响应的组件的集合”。应用中依然包含了“菜谱”——一些顺序执行的指令,但每个菜谱只限于对某些特定事件做出响应。事件处理程序(EventHandler)•当事件发生时,应用通过调用一系列的函数进行回应。如:①利用某些组件来完成某些操作,如发送短信;②对某些组件属性进行操作,如在用户界面上修改label的text属性。•我们把事件,连同对事件进行响应的一系列函数统称为事件处理程序(EventHandler)。•应用可以兼顾对内部及外部事件的响应•事件处理程序(EventHandler)•AppInventor编程完全基于事件响应模式,而“事件处理程序”则是最重要的词汇。•想要定义某个行为,首先要拖出一个事件块,事件块在形式上是这样的:“Whendo”。假设有这样一个“朗读”应用,当用户点击按钮时,应用大声读出用户输入的文字,这个应用只需要一个事件处理程序•在AppInventor中,所有活动都发生在对事件的响应之中,应用中不可能存在事件块“when-do”之外的块。事件处理程序(EventHandler)事件类型用户引发的事件•用户引发的事件是一种最常见的事件类型。•在输入表单中,通常点击按钮事件•会引发应用的响应。•图形化的应用更多的是对触摸及拖拽事件做出响应。初始化事件•应用启动时实现某些功能•AppInventor中,应用的启动也被视为一种事件。可以拖出Screen1.Initialize事件块,并将某些函数调用块放在其中。计时器事件•应用中的某些活动是由时间的流逝而触发的,比如动画,可以理解为计时器事件触发了角色的移动。•AppInventor有一个Clock组件,用于触发计时器事件。动画事件•在canvas范围内的图形对象(sprites),它们的活动将触发动画事件。•当两个sprites发生碰撞,或一个sprites到达canvas的边界时,将触发动画事件。•因此可以编写游戏或其他交互式动画程序,利用动画事件来定义游戏或动画的情节。外部事件•当手机收到短信时,会触发此类事件。•这类向设备输入外来信息的行为都被视为外部事件,用户点击按钮也属于此类事件。•应用是一系列的事件处理程序•从本质上讲应用是一系列的事件处理程序。•对应用的初始化,响应最终用户的输入,由事件触发,由外部事件触发。•要以事件处理的方式构思应用,然后设计对每个事件的响应方式。事件处理程序能做什么?事件处理程序可以提问“条件分支”----使用if块、ifelse块事件处理程序可以重复执行某些块循环结构---foreach及whiledo事件处理程序可以实现存储功能临时存储(变量)及永久存储(数据库)事件处理程序可以与Web对话小结•应用开发者必须以两种视角来观察一个应用,一个是最终用户的视角,另一个则是自内向外的程序员的视角。•开发应用,首先要设计应用的外观,然后设计应用的行为——一套事件处理程序,让应用按照你的意图去运行。

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功