无名 发表于 2022-5-8 18:05:30

【菜鸟】Androlua+技术分享-Toast

今天,我们自己调用android-java api封装个提示代码,等价于Androlua+的print()打印函数。和iApp的tw()提示函数/模块

首先要说明的是不管iApp还是Androlua+底层最终都是调用java的android.widget.Toast消息提示类。

我们只通过这个类的makeText()与show()方法就能实现我们想要的代码了

下面是具体Androlua代码:

function tw(str)

require "import"
import "android.widget.Toast"

Toast.makeText(this,str,Toast.LENGTH_SHORT).show()

end

tw("OK")
是一个lua函数,自己封装的。

而require函数是lua自身实现的函数,主要作用是引用模块

而import函数由Androlua+封装实现。主要作用用来引用java类并转成lua表(table) 供lua调用。

注意:lua函数调用时形参与实参都是一个参数时,并实参是字符串类型时可以不加括号

比如:

require "import"

import "android.widget.Toast"

也可以写成这样:

require("import")

import("android.widget.Toast")

用lua自带的require函数来引用Androlua+的import函数,然后再用import函数来引用java类与对象

require "import"

import "android.widget.Toast"

所以,这两行代码表示。先引用import,然后再用import引用java类。并把实例转成lua表(以“.”分割,最后一个转成对应table名字,比如android.widget.Toast会转成Toast表(lua table))

所以:

Toast.makeText(this,str,Toast.LENGTH_SHORT).show()

这行代码表示调用Toast表的makeText函数(函数名与java方法名对应)。makeText函数有三个参数。

第五种你们搞挡作业
http://cdn.u1.huluxia.com/g3/M01/BE/2F/wKgBOV5wV2WAQkv8AACmuGoOg7U826.jpghttp://cdn.u1.huluxia.com/g3/M01/BE/2F/wKgBOV5wV2aAeqR6AAEUO_I7hOo721.jpghttp://cdn.u1.huluxia.com/g3/M01/BE/2F/wKgBOV5wV2eAYjb8AAJKlqBAbSw920.jpghttp://cdn.u1.huluxia.com/g3/M01/BE/2F/wKgBOV5wV2mAbkQ8AAFnP0N_veQ588.jpghttp://cdn.u1.huluxia.com/g3/M01/BE/2F/wKgBOV5wV2qAfF8xAAFljUK9slk572.jpg
页: [1]
查看完整版本: 【菜鸟】Androlua+技术分享-Toast