安卓开发语法
基础语言结构
在安卓中每一个独立的源代码(窗口、模块、自定义组件)文件都是由以下几个部分组成:
-
引用
- 用于在代码中添加原生类的引用、与英文关键字 import 用法一样。
-
变量/数组
- 用于在程序中声明可能用到的储存临时数据的标记、其中又分为全局变量、页面成员变量、及局部变量
-
事件
- 用于在程序中接收用户针对程序发出的操作;例如:在窗口中接收并监听按钮被用户单击事件
-
函数
- 用于对程序中业务逻辑的封装、代码调度。
-
定义
- 用于在程序中定义结构体、回调事件的实现类。
引用
与 Java 的 import 功能一样、通过引用关键字可以在程序中的源文件代码中;例如:窗口、模块、或自定义组件(.sc)文件中使用原生的、扩展的数据类型;例如:
引用 android.widget.Button
引用 java.io.*
注:若使用Jar包文件、只需要将 jar 文件放在项目的 libs 文件夹内即可像 Java 使用 jar 一样使用。
变量
在安卓中、声明变量的格式与 VB 语言基本一致;但除了基本的声明格式外、还支持自动类型推断;其格式为:
变量 标识符 为 数据类型
变量 标识符 为 数据类型 = 初始化数据
变量 标识符1,标识符2,标识符3,... 为 数据类型
变量 标识符 = "数据值"
变量 标识符 = 创建 类型()
...
示例代码:
变量 A 为 文本型
变量 a 为 文本型
变量 网址URL 为 文本型
变量 x,y 为 整数型
变量 m 为 文本型 = "vcnstudio"
变量 pi 为 双精度小数 = 3.14159
变量 url = "http://www.vcnstudio.com"
变量 an1 = 创建 按钮()
变量 x1,y1 = 0
变量类型自动推断
类型自动推断、即在声明变量的时候无需显示的指定变量属于什么数据类型;编译器在编译时通过初始值确定变量类型;因此使用自动推断变量类型必须为变量设置其初始值、格式为:
变量 变量名称 = 初始值
变量 变量名称 = 创建 对象类型()
默认支持的自动类型推断支持以下类型;代码示例:
变量 a = "文本类型变量"
变量 b = 100 ' 整数型
变量 c = 真 ' 逻辑型
变量 d = 1000L ' 长整数
变量 e = 1.5 ' 双精度小数
变量 f = 1.2f ' 单精度小数
变量 g = 创建 按钮() ' 按钮对象
变量 h = 取随机数(10,20) ' h为函数返回值、整数型
需注意:自动推断需要依靠变量的初始值确定变量类型;因此声明变量时必须设置初始值、且初始值必须为常量、或创建对象、或为对应框架的内置函数。
数组
数组在程序开发中是一种非常常见的数据体、可以将多个相同类型的数据组成一个整体使用、在处理或要传递多个数据时、使用数组是一种非常常见的方式、数组的声明格式为:
变量 变量名称 为 数据类型[] = { 初始化值 }
变量 变量名称 为 数据类型[]
变量 变量名称 为 数据类型[10]
代码示例:
变量 a 为 文本型[] = { } '定义一个空数组
变量 b 为 文本型[] = { "vcn","studio" } '定义一个文本数组、并设置初始值
变量 c 为 整数型[] = { 1,2,3 } '定义一个整数型数组、并设置初始值
变量 d 为 文本型[] '定义一个文本型数组、不设置初始、默认为空对象
变量 e = { "vcn", "studio" } '定义一个文本数组
变量 f = { 1,2,3 } '定义一个整数数组
注意:数组仅支持基本数据类型推断;不支持对象、变量或函数作为初始值。
事件
用于在程序中与用户交互的重要操作。
-
定义事件
-
轻舟支持在模块或自定义组件中;定义向外分发的事件;定义事件格式:
公开 事件 数据被调用(参数 为 文本型)
-
-
接收事件
-
接收用户操作的回调;例如:监听用户点击了窗口中的按钮;我们要在代码中接收这个点击事件、并向用户弹出一个提示:
事件 按钮1.被单击(来源对象 为 视图) '当用户点击窗口中的按钮组件、将会触发该事件 弹出提示("用户点击了按钮1、我弹出了一个提示回应用户!") 结束 事件
注意:事件是组件特有的属性、一般由组件开发者封装好指定事件、普通开发者无需关心事件的具体实现方式、只需要使用事件即可。
-
函数
函数可以理解为是由一条或多条语句的集合、比如一个函数中有多条语句、而多条语句共同处理一个计算或逻辑、在一起执行某个功能。
-
函数的分类:
- 无返回值函数
- 有返回值函数
-
函数修饰符
-
私有
-
静态
-
函数声明格式:
'无返回值函数
函数 [修饰符] 函数名称(参数1 为 数据类型,参数2 为 数据类型)
结束 函数
'有返回值函数
函数 [修饰符] 函数名称(参数1 为 数据类型,参数2 为 数据类型) 为 数据类型
返回 ...指定类型值
结束 函数
示例代码:
' 无返回值函数
函数 设置按钮标题(内容 为 文本型,按钮对象 为 按钮)
按钮对象.标题 = 内容
结束 函数
'有返回值函数
函数 计算面积(长 为 整数型,宽 为 整数型) 为 整数型
返回 长 * 宽
结束 函数
注:未添加修饰符的函数默认为公开修饰
定义
在轻舟中定义关键字用于自定义结构体数据类型、回调接口实现类。
-
定义自定义结构体
定义 坐标 为 结构 变量 X 为 整数型 变量 Y 为 整数型 结束 定义
-
定义回调事件实现
按钮1.置被单击回调(监听按钮被单击回调) 按钮2.置被单击回调(监听按钮被单击回调) '.... 定义 监听按钮被单击回调 为 视图.被单击回调 事件 被单击(被单击组件 为 视图) 变量 被单击按钮 = (视图)被单击组件 弹出提示("按钮 " + 被单机按钮.标题 + " 被单击") 结束 事件 结束 定义
上述代码释义:
监听按钮被单击回调:自定义的接口回调名称、用于在组件设置回调时使用。
视图.被单击回调:组件中的接口类、用户无需关心具体实现方式
被单击:接口中的回调事件
执行说明:当给按钮1、按钮2注册这个回调接口后、当用户点击按钮1、按钮2就会触发这个接口里面的“被单击”事件、此时事件中返回的 被单击组件 就是被单击的按钮对象。我们再判断按钮对象为那个按钮即可知道用户单击的按钮是那一个;从而执行相关的代码。