首页 > 编程源码 > 【CDK】AndLua+入门教程1

【CDK】AndLua+入门教程1

楼主:采花贼ヾ? [3级] · 2020-1-8 ·  浏览22521 · 编程源码 · ID:

首先我们先来了解AndLua+

关于AndLua+是基于开源项目lua开发的轻型脚本编程工具,使用简洁优美的lua语言,简化了繁琐的Java语句,同时支持使用大部分安卓api,免安装调试,使你在手机上开发更加轻松快捷,程序申请的权限是为了你编写程序使用,请大家放心使用。

软件的基本操作

工程结构
init.lua 工程配置文件
main,lua 工程主入口文件
layout.aly 工程默认创建的布局文件

基本功能
左箭头 撤销:撤销输入的内容
保存:保存当前文件
新建:新建lua代码文件或者aly布局文件,代码文件与布局文件文件名不可以相同
编译:把当前文件编译为luac文件,通常用不到
打开:在工程列表打开工程
打包:将当前工程编译为apk,默认使用debug签名
新建:新建一个工程
备份:将当前工程备份为AndLua+文件
编辑:编辑当前工程的属性,如 名称 权限等
格式化:重新缩进当前文件使其更加便于阅读
导入分析:分析当前文件及引用文件需要导入的java类
查错:检查当前文件是否有语法错误
布局助手:在编辑器打开aly文件时用于设计布局,目前功能尚不完善
(楼层继续更新,认证楼主✔)

━━━━━━━━━━━━━━━━━
❧━━━━━━━━━━━━━━━━
喜欢给个关注吧!路过回复一下,谢谢!
喜欢给个关注吧!路过回复一下,谢谢!
喜欢给个关注吧!路过回复一下,谢谢!
┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅

快关注楼主吧,关注楼主=关注了全网精品[揪耳朵]
点击楼主头像就以关注啦!爱你呢

粉丝暴富的魔法~
  ∧_∧
(。・ω・。)つ━☆..  ・*。
  ⊂   ノ      ・゜+.
 しーJ     °。+ *´¨)
   ***      .· ´¸.·*´¨) ¸.·*¨)
         *** (¸.·´ (¸.·’*


- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者采花贼ヾ?流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/21940.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
207条回复 |  最后回复于2020-3-29

采花贼ヾ? [3级]

Lua运算符

运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算。Lua提供了以下几种运算符类型:

算术运算符,关系运算符,逻辑运算符,其他运算符

算术运算符
下表列出了 Lua 语言中的常用算术运算符,设定 A 的值为10,B 的值为 20:

+ 加法 A + B 输出结果 30
- 减法 A - B 输出结果 -10
* 乘法 A * B 输出结果 200
/ 除法 B / A 输出结果 2
% 取余 B % A 输出结果 0
^ 乘幂 A^2 输出结果 100
- 负号 -A 输出结果v -10

关系运算符
下表列出了 Lua 语言中的常用关系运算符,设定 A 的值为10,B 的值为 20:

== 等于,检测两个值是否相等,相等返回 true,
否则返回 false (A == B) 为 false。
~= 不等于,检测两个值是否相等,相等返回 false,
否则返回 true 大于,如果左边的值大于右边的值,返回 true,
否则返回 false (A > B) 为 false。
= 大于等于,如果左边的值大于等于右边的值,返回 true,
否则返回 false (A >= B) 返回 false。
= ~= ==
and
or
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

Lua字符串

字符串或串(String)是由数字、字母、下划线组成的一串字符。
Lua 语言中字符串可以使用以下三种方式来表示:

单引号间的一串字符。
双引号间的一串字符。
[[和]]间的一串字符。

以上三种方式的字符串实例如下:

string1 = "AndLua+手册"
print(""字符串 1 是"",string1)
--字符串 1 是 AndLua+手册
string2 = 'AndLua+.cn'
--字符串 2 是 AndLua+.cn
print("字符串 2 是",string2)
string3 = [["AndLua+ 教程"]]
print("字符串 3 是",string3)
--字符串 3 是 "AndLua+ 教程"
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

Lua数组

数组,就是相同数据类型的元素按一定顺序排列的集合,可以是一维数组和多维数组。
Lua 数组的索引键值可以使用整数表示,数组的大小不是固定的。
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

一维数组

一维数组是最简单的数组,其逻辑结构是线性表。一维数组可以用for循环出数组中的元素,如下实例:

array = {"Lua", "Tutorial"}
for i= 0, 2 do
print(array[i])
end

以上代码执行输出结果为:

nil
Lua
Tutorial

正如你所看到的,我们可以使用整数索引来访问数组元素,如果知道的索引没有值则返回nil。
在 Lua 索引值是以 1 为起始,但你也可以指定 0 开始。
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

快速入门

AndLua+是一个使用Lua语法编写可以使用安卓API的轻型脚本编程工具,使用它可以快速编写安卓应用。
第一次打开程序默认创建main.lua,并添加以下代码

require "import"
import "android.widget."
import "android.view."

require "import" 是导入import模块,该模块集成了很多实用的函数,可以大幅度减轻写代码负担,详细函数说明参考程序帮助。
import "android.widget.*" 是导入Java包。
这里导入了android的widget和view两个包。

导入包后使用类是很容易的,新建类实例和调用Lua的函数一样。
比如新建一个TextView
tv=TextView(activity)
activity表示当前活动的context。
同理新建按钮 btn=Button(activity)

给视图设置属性也非常简单
btn.text="按钮"
btn.backgroundColor=0xff0000ff

添加视图事件回调函数
btn.onClick=function(v)
print(v)
end
函数参数v是视图本身。

安卓的视图需要添加到布局才能显示到活动,一般我们常用LinearLayout
layout=LinearLayout(activity)

用addView添加视图
layout.addView(btn)

最后调用activity的setContentView方法显示内容
activity.setContentView(layout)
这里演示AndLua+基本用法,通常我们需要新建一个工程来开发,代码的用法是相同的,具体细节请详细阅读后面的内容。
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

与标准Lua5.3的不同

打开了部分兼容选项,module,unpack,bit32
添加string.gfind函数,用于递归返回匹配位置
增加tointeger函数,强制将数值转为整数
修改tonumber支持转换Java对象
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

导入模块

require "import"
以导入import模块,简化写代码的难度。
目前程序还内置bmob,bson,canvas,cjson,crypt,ftp,gl,http,import,md5,smtp,socket,sensor,xml,zip,zlib等模块。
一般模块导入形式
local http=require "http"
这样导入的是局部变量
导入import后也可以使用
import "http"
的形式,导入为全局变量
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

导入包或类

在使用Java类之前需要导入相应的包或者类,
可以用包名.*的形式导入导入包
import "android.widget.*"
或者用完整的类名导入类
import "android.widget.Button"
导入内部类
import "android.view.View_OnClickListener"
或者在导入类后直接使用内部类
View.OnClickListene
包名和类名必须用引号包围。
导入的类为全局变量,你可以使用
local Burton=import "android.widget.Button"
的形式保存为局部变量,以解决类名冲突问题。
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

创建布局与组件

安卓使用布局与视图管理和显示用户界面。
布局负责管理视图如何显示,如LinearLayout以线性排列视图,FrameLayout则要求自行指定停靠与位置。
视图则显示具体内容,如TextView可以向用户展示文字内容,Button可以响应用户点击事件。

创建一个线性布局
layout=LinearLayout(activity)
创建一个按钮视图
button=Button(activity)
将按钮添加到布局
layout.addView(button)
将刚才的内容设置为活动内容视图
activity.setContentView(layout)

注.activity是当前窗口的Context对象,如果你习惯也可以使用this
button=Button(this)
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

使用方法

button.setText("按钮")

getter/setter
Java的getxxx方法没有参数与setxxx方法只有一个参数时可以简写,
button.Text="按钮"
x=button.Text
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
37人签到
已签0天
  • 46061帖子
  • 1929672热点量
  • 182246火热值