最新消息:

App Inventor应用开发体系结构

App Inventor 少儿编程 3947浏览 0评论
零基础Android应用开发

App Inventor也是一种可视化的集成开发环境。在App Inventor中应用面向对象程序设计思想,把设计界面将常用的元素和行为封装成为组件,如可见的组件按钮、标签、图像等,不可见组件如音效、传感器、微数据库等;而逻辑编辑将各种可能的处理行为封装成内置块组件,如事件处理器、方法调用、流程控制等。通过积木块的拖放拼接来实现代码编写,这样编程者就不需要在关心编程的语法细节,避免烦杂的语法错误,把精力都放到创意上来,以最快的方式实现创意。

用App Inventor开发出的App体系结构如图2-22所示,包括了组件、变量、过程、行为等四大部分。

 图2.37 App Inventor应用的体系结构

组件 在AI中组件可以根据其可见性分为两类:可视的和非可视的。可视组件是那些App运行时用户在界面上能看见得,就像按钮,文本框和标签这些组件。可视组件一般用于构建App的用户界面。

非可视组件是那些在App运行时看不见的,因此它们并不作为用户界面的一部分,而是提供了一些访问设备的内建功能。例如,短信收发器组件可以用来发送和处理短信文本,位置传感器组件可以检测设备的地理位置,文本语音转换器组件可以把文字变成声音。

此外还有一类特殊的非可视组件,如颜色、文本、列表、数学、逻辑等,由于它们在编程中被普遍使用且与屏幕界面无关,因此归类到逻辑设计视图中的“内置块”中。这样就不必在组件设计界面中去拖放这类组件到屏幕中去,只需在逻辑设计中直接使用即可。

数据

计算机软件最根本的是对数据的处理,首先就需要表示和保存各类数据。 组件的属性表示着组件某方面的特性信息。例如部分可视组件有高度和宽度等属性,这些定义了这些组件的外观。非可视组件,如计时器的时间间隔属性,定义了周期性激发的时间间隔长度。这些组件的属性值就是数据的一种。

除了App中组件的属性值可以用来记录各种数据外,还可以通过定义变量来实现。变量可以理解为计算机编程语言中能储存计算结果或能表示值的抽象概念。定义变量相当于把程序中要用到的数据取了一个名字,然后可以通过变量名来使用这个数据。变量相当有用,可以保存程序运行时用户输入的数据(如:用户名和密码),特定的运算结果(如:打地鼠游戏中的得分和时间),或是需要显示在界面中反馈给用户看的数据(如:地图中当前位置的经纬度)等。变量是App运行时临时存放在内存里的一些数据,如果一旦关闭了App,那么原来所占用的内容将释放掉,这些变量关联的数据也就不再可用了。

如果你的App需要记录的数据不仅在它运行时可以,而且还希望当它关闭后重新打开时也能接着用,比如游戏App中的历史最高分,那么只用变量是无法实现的,这就需要做数据持久化,比如将这些数据存放到外存上(如:SD卡,或者网络的云服务器)。那些在在App关闭后仍然保存的数据叫做持久化数据,它一般存放在文件或者某种类型的数据库里。在App Inventor中提供了一类专用于数据存储的组件,包括文件管理器、FusiontablesControl、微数据库和网络微数据库等组件来实现数据的持久化存储和访问。

过程

在App Inventor中,一般组件除了有属性外,还提供了一系列方法。有专用于属性值读取和修改的方法(属性取值模块和属性设置模块)。还有另外还有一类,比如照相机组件的拍照方法,通过调用它一句话就可以完成拍照等特定的功能。这些方法是App Inventor所带的内建过程。

此外,App Inventor还提供了自定义过程功能,允许开发人员将实现一定功能的模块集合封装为一个整体,并为这个过程取一个名字和设置参数列表。以后就可以通过调用过程来实现代码的复用。这样不仅减少了重复编写代码的工作量,还使得代码变得简洁易懂,提高了程序的可维护性,降低了错误率。

行为

可视组件定义了App的人机交互界面,但App的行为是由具体的交互过程体现的。在App Inventor中的行为是由事件驱动的。所谓事件,就是发生了某种特殊情况,比如某个按钮被点击、手机接收到一条新的短信等。在App Inventor中通过定义对事件的响应过程来体现App的行为。

事件类型有很多种,不同组件所能响应的事件也不尽相同。事件可以通过触发方式进行分类,如表2.12所示。

事件发生时,App会调用一系列过程模块来做出相应的处理。我们把一个事件和响应它而执行的一系列过程模块称为事件处理器。事件处理器是App Inventor执行的基本单元,任何功能模块代码都必须包含到某个事件处理器中才有可能被执行。一个App可能有着一系列事件处理器:一个用来处理初始化工作,一些用来响应用户的输入,一些由时间触发,一些由外部事件触发。设计App的行为逻辑就是通过这种方式进行,为每个关注的事件设计响应的事件处理器来响应处理。App的行为是由所有事件处理器集合决定的。

一个App的创建者必须从终端用户的外部角度和程序员的内部角度去看他的App。通过App Inventor,你可以设计App看上去如何,然后设计它的行为:一系列事件处理器,使得app的行为如你所想。

 

您必须 登录 才能发表评论!