《ilua》速成開發(fā)手冊(cè)3.0
官方用戶交流:
iApp開發(fā)交流(1) 239547050
iApp開發(fā)交流(2) 103540883
iApp開發(fā)交流(3) 216954373
iApp開發(fā)交流(4) 334267540
iApp開發(fā)交流(5) 207037477
iApp游戲開發(fā)交流 375679257
iApp官方開源交流 323924434
【3.0 ilua升級(jí)簡介】
- 出錯(cuò)后報(bào)錯(cuò)信息,顯示在調(diào)試日志里持舆。
- “null”的表示方式在lua為 “nil”癌蚁,所以空值寫法為 nil
- 融合裕語言代碼倒脓,寫法和使用方式有所不同过吻。
- 入口文件必須為 mian.iyu 如果全部采用此語言開發(fā)退腥,可以在入口文件加一個(gè)uigo跳轉(zhuǎn)纯衍。
- 更多不同點(diǎn)可以自行探索栋齿。
【lua語言】
Lua 是一種輕量小巧的腳本語言,用標(biāo)準(zhǔn)C語言編寫并以源代碼形式開放襟诸, 其設(shè)計(jì)目的是為了嵌入應(yīng)用程序中瓦堵,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。
Lua 是巴西里約熱內(nèi)盧天主教大學(xué)(Pontifical Catholic University of Rio de Janeiro)里的一個(gè)研究小組歌亲,由Roberto Ierusalimschy菇用、Waldemar Celes 和 Luiz Henrique de Figueiredo所組成并于1993年開發(fā)。
【luajava介紹】
LuaJava項(xiàng)目由 Carlos Cassino 在2004年開發(fā)創(chuàng)建陷揪,上傳開源惋鸥,并未作出使用限制杂穷。以及 Thiago Ponte 作為主要代碼貢獻(xiàn)者,在2005年和2007年等進(jìn)行了更新卦绣。
iApp引用了他們的項(xiàng)目基礎(chǔ)耐量,并進(jìn)行了升級(jí)和修復(fù)BUG
[歷史資料來源于網(wǎng)絡(luò),僅供參考]
【local 變量】
用法:
--申明一個(gè)局部變量
local a = "aaa"
tw(a)
--申明一個(gè)界面變量迎卤,直接賦值不寫“l(fā)ocal”關(guān)鍵詞視為界面變量
b = "bbb"
tw(b)
--注:此全局變量如果等于 空值拴鸵, 則無法訪問,訪問將報(bào)錯(cuò)蜗搔。
--通過 is(var) 訪問不確定的全局變量劲藐,若他不存在或 是空值 不會(huì)報(bào)錯(cuò)
local abc = is("abc")
syso(abc)
lua變量區(qū)域介紹:
局部變量:服務(wù)于一個(gè)事件,當(dāng)用戶與界面發(fā)生交互時(shí)樟凄,產(chǎn)生一個(gè)事件聘芜,僅供于該事件的變量產(chǎn)生以及操作间聊。
界面變量:生產(chǎn)界面變量后辜贵,同一個(gè)界面中的所有事件隧膘,均可對(duì)其進(jìn)行操作搓茬。
說明:
變量類似一個(gè)箱子,你可以把數(shù)據(jù)儲(chǔ)存在里面渠啊,等需要的時(shí)候就取出來使用值漫,可以改變它裝你想要裝的數(shù)據(jù)乡数。裕語言中的變量是可以根據(jù)賦值炼绘,而且自動(dòng)轉(zhuǎn)換的嗅战,所以無需申明數(shù)據(jù)類型。
空值:
如果訪問一個(gè)沒有聲明的變量俺亮,將返回“nil”空值類型驮捍,這個(gè)不對(duì)等于字符的 'nil'。
判斷是否空值的例子:(這里我們不知道變量“abc”是否空值)
if(abc == nil)
{
syso("是空值")
}
【s 變量】
用法:
申明界面變量
--可以賦字符串
ss("a", "blss")
--或 設(shè)置為空
i:ss("a", nil)
--讀取數(shù)據(jù)
tw(ss("a"))
或 注意脚曾,這樣寫也屬于讀取
tw(ss("a", nil))
申明全局變量
--可以賦其他變量
sss("a", "blsss")
--或 設(shè)置為空
i:sss("a", nil)
--讀取數(shù)據(jù)
tw(sss("a"))
用途:
可用于與iApp支持的其他語言進(jìn)行交換數(shù)據(jù)东且,數(shù)據(jù)共享,數(shù)據(jù)儲(chǔ)存等本讥。
區(qū)域介紹:
界面變量:生產(chǎn)界面變量后珊泳,同一個(gè)界面中的所有事件,均可對(duì)其進(jìn)行操作拷沸。
全局變量:生產(chǎn)全局變量后旨椒,同一個(gè)應(yīng)用中的所有事件,均可對(duì)其進(jìn)行操作堵漱。
說明:
變量類似一個(gè)箱子,你可以把數(shù)據(jù)儲(chǔ)存在里面涣仿,等需要的時(shí)候就取出來使用勤庐,可以改變它裝你想要裝的數(shù)據(jù)示惊。語言中的變量是可以根據(jù)賦值,而且自動(dòng)轉(zhuǎn)換的愉镰,所以無需申明數(shù)據(jù)類型米罚。
提示:
自定義的變量名,比如“abc丈探、 nihao录择、sfw123、www_zzw”變量不允許全部為數(shù)字碗降,不允許摻雜符號(hào)隘竭,請(qǐng)不要使用太長的變量名,不推薦使用中文作為變量名讼渊。
空值:
如果訪問一個(gè)沒有聲明的變量动看,將返回“nil”空值類型,這個(gè)不對(duì)等于字符的 'nil'爪幻。
判斷是否空值的例子:(這里我們不知道變量“abc”是否空值)
local abc = sss("abc")
f(abc == nil)
{
syso("是空值")
}
【-- 或 --[[ --]] 注釋語句】
用法:
--這個(gè)是變量“a”它的值等于“1”
local a = 1
--這個(gè)是變量“b”它的值等于“2”
local b = 2
--[[
大量代碼注釋方法
local c = 3
local d = 4
--]]
說明:
注釋語句符號(hào)可以用“--” 也可以用“--[[ --]]”菱皆,以注釋符號(hào)開頭的正行,將會(huì)被代碼執(zhí)行器無視挨稿。通常用于給自己標(biāo)示代碼的含義
【tos 轉(zhuǎn)為字符串】
用法:
--將 數(shù)字 轉(zhuǎn)換字符串
local c = tos(123)
local c = tos(123.23)
--將 是否 轉(zhuǎn)換字符串
local c = tos(true)
--拼接變量打印字符串
local a = "a"
local b = nil
local c = true
syso("如果變量" .. tos(a) .. "等于" .. tos(b) .. "那么就不是" .. tos(c))
【toi 轉(zhuǎn)為整數(shù)型】
用法:
--將 小數(shù)型 轉(zhuǎn)換為整數(shù)型 123
local c = toi(123.23)
--將轉(zhuǎn)換為整數(shù)型數(shù)據(jù) 123
local c = toi(123.23)
說明:
由于lua只有小數(shù)類型仇轻,沒有整數(shù)類型,傳遞到j(luò)ava方法將導(dǎo)致數(shù)據(jù)類型不匹配奶甘。若需要整數(shù)型時(shí)篷店,使用該方法轉(zhuǎn)換整數(shù)型。
【tosz lua數(shù)組轉(zhuǎn)為java數(shù)組】
用法:
local c = {3,2,4,5,1}
local sz = tosz(c)
【szto java數(shù)組轉(zhuǎn)為lua數(shù)組】
用法:
local sz = i:sl("12;12;12;12;12", ";")
local c = szto(sz)
【fn 加載mlua模塊】
用法:
--加載a.mjs模塊
fn("a")
--然后就可以直接甩十,調(diào)用a.mjs模塊 的 abc 方法
abc()
說明:
用于加載你的模塊文件船庇;建議要加載的模塊,載入事件加載一次即可侣监。
注意:
加載多模塊時(shí)鸭轮,模塊方法名,不要過分簡單橄霉,避免重復(fù)窃爷;可在不同的模塊,所有方法名加前綴或 后綴姓蜂。
也可以使用require方法加載模塊按厘,效果一樣。
【syso 打印】
用法:
--打印字符串
syso("wo1314")
--或
i:syso("wo1314")
--打印字符串钱慢,字符串拼接
syso("wo" .. "ai" .. "ni")
--或
i:syso("wo" .. "ai" .. "ni")
--拼接變量打印字符串
local a = "a"
local b = nil
syso("變量" .. tos(a) .. "等于" .. tos(b))
可以打印出數(shù)據(jù)逮京,代碼同等于 System.out.println("1314"),可以在測試時(shí)束莫,選擇 調(diào)試日志查看打印數(shù)據(jù)懒棉。
說明:
用于打印調(diào)試數(shù)據(jù)草描。
【if 判斷語句】
用法:
--if 語句的使用
local a = 2
if a > 1 then
syso("a大于1")
end
--if...else 搭配使用
local a = 2
if a == 1 then
syso("a等于1")
elseif a == 2 then
syso("a等于2")
else
syso("a等于其他")
end
--多個(gè)if語句嵌套
local a = 1
local b = 2
if a == 1 then
if b == 2 then
syso("a等于1,b等于2")
end
else
syso("a不等于1")
end
--邏輯運(yùn)算判斷
local a = 1
local b = 2
--a等于1 或者 等于2
if a == 1 or a == 2 then
syso("a等于1")
end
--a等于1 并且 b等于2
if a == 1 and b == 2 then
syso("a等于1策严,b等于2")
end
--a等于3 取反意穗慕,與邏輯運(yùn)算結(jié)果相反,如果條件為 true妻导,邏輯非為 false
if not(a == 3) then
syso("a不等于3")
end
--a不等于b 此運(yùn)算符檢測兩個(gè)值是否相等逛绵,相等返回 false,否則返回 true
if a ~= b then
syso("a不等于b")
end
【while 循環(huán)】
用法:
--這將循環(huán)10次
local a = 10
while a > 0 do
syso(a)
a = a - 1
end
說明:
條件循環(huán)語句倔韭,比較值的變化术浪,然后進(jìn)行循環(huán)執(zhí)行里面的代碼。當(dāng)條件為“否”的時(shí)候會(huì)停止循環(huán)狐肢,條件“是”的話添吗,將一直循環(huán)執(zhí)行。
支持運(yùn)算符(返回 是 與 否):(跟 if 語句 一樣份名,請(qǐng)參考)
【for 循環(huán)】
用法:
-- 條件: a=初始值,最大值,增長值碟联;a初始為1,設(shè)置a最大為10僵腺,a每次循環(huán)增加1
for a=1,10,1 do
syso("循環(huán)10/" .. a)
end
-- 提前跳出循環(huán)
for a=1,10,1 do
syso("循環(huán)10/" .. a)
if a == 6 then
-- break 語句跳出循環(huán)
break
end
end
--設(shè)置一個(gè)數(shù)組
local data = {"a","b","c","d"}
--打印數(shù)組鲤孵;a是記錄循環(huán)次數(shù),b是每次循環(huán)數(shù)組值
for a,b in ipairs(data) do
syso(a .. "次 循環(huán):" .. b)
end
說明:
用于多次重復(fù)循環(huán)操作辰如。
【t 新線程】
用法:
i:t(
function()
syso("新線程里執(zhí)行代碼")
end
)
說明:
啟用新線程普监,去執(zhí)行一些需要執(zhí)行很久的代碼。比如把下載文件琉兜,獲取網(wǎng)頁源碼凯正,大量的文件操作,可以放入新線里執(zhí)行豌蟋。這里線程的概念廊散,啟用新的線程幫你處理代碼,這樣不會(huì)影響到主線程梧疲。
【ssj 設(shè)置或修改控件事件代碼】
用法:
--設(shè)置控件ID3允睹,的單擊事件
i:ssj(3, "clicki",{
function(st_vId,st_vW)
syso("ok")
end
})
--設(shè)置控件ID3,的觸屏滑動(dòng)事件
i:ssj(3, "onscroll",{
function(st_vId,st_vW,st_sE)
syso("ok")
end
,
function(st_vId,st_vW,st_fM,st_vT,st_bT)
syso("ok")
end
})
說明:
輸入控件Id幌氮,輸入事件類型缭受,并將事件順序填寫在 { 中 },動(dòng)態(tài)控件將觸發(fā)該事件代碼该互。
事件類型:
clicki=單擊事件
【tw 提示】
用法:
tw("你好")
--或
i:tw("你好")
--設(shè)置參數(shù)1:顯示的時(shí)間長久米者;0:顯示的時(shí)間短暫;\n為換行的意思宇智,其他地方通用
tw("你好\n嗎塘雳?", 1)
--或
i:tw("你好\n嗎陆盘?", 1)
說明:
用于提醒用戶,界面顯示時(shí)長大約為 2秒鐘败明。彈出代碼中的文字,來提醒用戶太防。
【fd 刪除文件】
用法:(將刪除SD卡根目錄的abc.zip文件)
local b = i:fd("%abc.zip")
syso(b)
說明:
用于刪除指定的文件妻顶,是否成功返回?cái)?shù)據(jù):true或 false
【fe 文件是否存在】
用法:(將判斷SD卡根目錄的abc.zip文件是否存在)
local b = i:fe("%abc.zip")
syso(b)
說明:
用于判斷指定的文件存在,是否存在返回?cái)?shù)據(jù):true或 false
【fs 文件大小】
用法:(將獲取SD卡根目錄的abc.zip文件占用的大小)
local b = i:fs("%abc.zip")
syso(b)
說明:
用于判斷指定的文件存在蜒车,是否存在返回?cái)?shù)值單位(字節(jié))讳嘱。
轉(zhuǎn)換為KB:
local b = i:fs("%abc.zip")
b = b / 1024
syso(b)
轉(zhuǎn)換為MB:
b = b / 1024 / 1024
【fr 讀取文本】
用法:(將讀取SD卡根目錄的abc.txt文件里面的內(nèi)容)
local b = i:fr("%abc.txt")
syso(b)
local b = i:fr("%abc.txt", "utf-8")
syso(b)
說明:
用于讀取文本文件的數(shù)據(jù)內(nèi)容。
……
【fc 復(fù)制文件】
用法:(在SD卡根目錄abc.txt文件拷貝一個(gè)新的副本至abc2.txt)
local b = i:fc("%abc.txt", "%abc2.txt")
syso(b)
--設(shè)置重復(fù)不覆蓋
local b = i:fc("%abc.txt", "%abc2.txt", false)
syso(b)
--將apk包內(nèi)的 abc.txt 復(fù)制到SD卡上
local b = i:fc("@abc.txt", "%abc2.txt")
syso(b)
說明:
用于復(fù)制文件酿愧,創(chuàng)建一個(gè)新的副本文件沥潭。是否成功返回?cái)?shù)據(jù):true或 false
……
【fw 寫入文本】
用法:(將文本數(shù)據(jù)寫入至SD卡根目錄的abc.txt文件里面)
local b = "我是一個(gè)txt文件的內(nèi)容"
i:fw("%abc.txt", b)
local b = "我是一個(gè)txt文件的內(nèi)容"
i:fw("%abc.txt", b, "utf-8")
說明:
用于寫入文件。
【fl 文件列表】
用法:(獲取一個(gè)目錄的文件列表)
local c2 = i:fl("%dir")
local c = szto(c2)
local cc = #c
--獲取總共文件并減去1
local leng = cc - 1
--循環(huán)打印
for a=0,leng,1 do
syso("文件 " .. c[a])
end
--僅獲取文件夾
local c2 = i:fl("%.estrongs", false)
local c = szto(c2)
local leng = #c
while leng>0 do
leng = leng - 1
syso("文件夾 " .. c[leng])
end
--僅獲取文件
local c2 = i:fl("%.estrongs", false)
local c = szto(c2)
local leng = #c
while leng>0 do
leng = leng - 1
syso("文件 " .. c[leng])
end
說明:上面例子是獲取sd卡根目錄文件夾“dir”里面的所有子目錄以及文件嬉挡,并獲取結(jié)果返回變量“c”钝鸽,并用用符合 # 獲取變量c 有多少位,然后循環(huán)來讀取變量“c”里面的列表數(shù)據(jù)庞钢,可以通過c[0]獲取第一位拔恰,c[1]第二位數(shù)據(jù)等。
提示:
看似有些復(fù)雜基括,理解了就簡單了颜懊, 這里的變量“c”類型是一個(gè)數(shù)組,里面包含了一個(gè)數(shù)據(jù)列表风皿。通過循環(huán)可以順序讀取這個(gè)列表河爹。
【ft 轉(zhuǎn)移文件】
用法:(將SD卡根目錄的abc.txt轉(zhuǎn)移至abc3.txt)
local c = i:ft("%abc.txt", "%abc3.txt")
syso(c)
說明:
用于轉(zhuǎn)移文件。是否成功返回?cái)?shù)據(jù):true或 false
【fdir 獲取SD卡根目錄路徑】
用法:(獲取根目錄路徑并賦值至變量“a”)
--獲取根目錄
local a = i:fdir()
syso(a)
--獲取目錄的絕對(duì)路徑
local a = i:fdir("%dir")
syso(a)
說明:
通過獲取根目錄路徑桐款,就可以計(jì)算文件的絕對(duì)路徑咸这。
【fuz 解壓zip部分文件】
用法:(將根目錄文件abc.apk壓縮包里的AndroidManifest.xml文件,解壓到根目錄AndroidManifest2.xml)
local d = i:fuz("%abc.apk", "AndroidManifest.xml", "%AndroidManifest2.xml")
syso(d)
--解壓文件遇到重復(fù)不覆蓋
local d = i:fuz("%abc.apk", "AndroidManifest.xml", "%AndroidManifest2.xml",false)
syso(d)
說明:
通過上面代碼可以實(shí)現(xiàn)壓縮包解壓部分的文件鲁僚,并返回賦值至變量“d”解壓文件的數(shù)量炊苫。
【fuzs 解壓整個(gè)zip】
用法:(將根目錄文件abc.apk壓縮包解壓至根目錄文件夾abcdir,會(huì)自動(dòng)創(chuàng)建)
local c = i:fuzs("%abc.apk", "%abcdir")
syso(c)
--解壓文件遇到重復(fù)不覆蓋
local c = i:fuzs("%abc.apk", "%abcdir", false)
syso(c)
說明:
通過上面代碼將解壓整個(gè)壓縮包至指定文件冰沙,并賦值至變量“c”侨艾,是否成功返回?cái)?shù)據(jù):true或 false
【fj 壓縮文件或文件夾至zip】
用法:
local c = i:fj("%adc.txt", "%abc.zip")
syso(c)
--不去除根目錄
local c = i:fj("%adc.txt", "%abc.zip",false)
syso(c)
說明:
壓縮文件。返回賦值數(shù)據(jù):true 或 false
【fo 打開文件】
用法:(將根目錄打開安裝abc.apk文件)
i:fo("%abc.apk")
說明:
可以調(diào)用系統(tǒng)工具打開不同的文件拓挥。
【sr 替換字符】
用法:
local a = "123456789"
local b = "456"
local c = "."
local d = i:sr(a, b, c)
--將提示:123.789
syso(d)
--支持正則表達(dá)式
--local d = i:sr(a, b, c, true)
說明:
用于替換字符
【sj 截取字符】
用法:
local a = "123456789"
local b = "34"
local c = "8"
local d = i:sj(a, b, c)
--將提示:567
syso(d)
--從頭部開始截取
local d = i:sj(a, nil, c)
syso(d)
--截取到尾部
local d = i:sj(a, b, nil)
syso(d)
說明:
用于截取數(shù)據(jù)部分字符
【sl 數(shù)據(jù)數(shù)組】
用法:
local a = "12;12;12;12;12"
local b = ";"
local c2 = i:sl(a, b)
--可以支持正則表達(dá)式唠梨;例子看(注意說明)
--local c2 = i:sl(a, b, true)
local c = szto(c2)
--獲取數(shù)組有多少位
local leng = #c
while leng>0 do
leng = leng - 1
--將打印5次:12
syso(c[leng])
end
說明:
將把變量“a”的字符串,切割成一個(gè)數(shù)組侥啤,以字符“.”為分割字符当叭。并用循環(huán)順序打印出數(shù)據(jù)茬故。
注意:
如果支持正則表達(dá)式數(shù)據(jù)數(shù)組,上例子的 local b = ";" 其內(nèi)的值蚁鳖。需要轉(zhuǎn)義的特殊字符 “$()*+.[]?^{},|”
支持正則的特殊字符轉(zhuǎn)義方法:
如:
local a = "12|a$12|a$12|a$12|a$12"
--關(guān)鍵分割字符串如果包含特殊字符磺芭,需要在每個(gè)特殊字符前面增加“\”進(jìn)行轉(zhuǎn)義
local b = "\|a\$"
local c2 = i:sl(a, b, true)
local c = szto(c2)
--獲取數(shù)組有多少位
local leng = #c
while leng>0 do
leng = leng - 1
--將打印5次:12
syso(c[leng])
end
【siof 獲取字符位置】
用法:
local a = "123456789"
local b = "3"
local c = 0
local d = i:siof(a, b, c)
--將提示:2
syso(d)
local a = "123456789"
local b = "3"
local d = i:siof(a, b)
--將提示:2
syso(d)
說明:
從前面向后面進(jìn)行匹配。字符位置以0計(jì)算醉箕,若無數(shù)據(jù)找到將返回 -1
【slof 獲取字符位置】
用法:
local a = "123456789"
local b = "4"
local c = 8
local d = i:slof(a, b, c)
--將提示:3
syso(d)
local a = "123456789"
local b = "4"
local c = i:slof(a, b)
--將提示:3
syso(c)
說明:
從后面向前面進(jìn)行匹配钾腺。字符位置以0計(jì)算,若無數(shù)據(jù)找到將返回 -1
【ssg 截取字符】
用法:
local a = "abcdefghijk"
local b = i:ssg(a, 2, 6)
--將提示:cdef
syso(b)
local a = "abcdefghijk"
local b = i:ssg(a, 6)
--將提示:ghijk
syso(b)
說明:
根據(jù)字符的位置進(jìn)行截取字符讥裤,若失敗將變量“b”賦值 nil
【slg 獲取字符長度】
用法:
local a = "123456789"
local b = i:slg(a)
--將提示:9
syso(b)
說明:
顧名思義放棒。
【strim 去除頭尾空格】
用法:
local a = " 123456789 "
local b = i:strim(a)
--將提示:123456789
syso(b)
說明:
常用于去除后進(jìn)行判斷頭尾字符。
【slower 轉(zhuǎn)換為小寫】
用法:
local a = "AiufSUscN"
local b = i:slower(a)
--將提示:aiufsuscn
syso(b)
說明:
常用于轉(zhuǎn)換為小寫后進(jìn)行判斷己英。
【supper 轉(zhuǎn)換為大寫】
用法:
local a = "AiufSUscN"
local b = i:supper(a)
--將提示:AIUFSUSCN
syso(b)
說明:
常用于轉(zhuǎn)換為大寫后進(jìn)行判斷间螟。
【stop 暫停代碼】
用法:
i:t(
function()
syso("1")
i:stop(1000)
syso("2")
i:stop(1000)
syso("3")
i:stop(1000)
syso("4")
end
)
說明:
每次執(zhí)行 i:stop(1000) 將暫停1秒后,再執(zhí)行下面代碼损肛。單位為毫秒:1000毫秒 = 1秒
【sran 生產(chǎn)范圍隨機(jī)數(shù)】
用法:(生產(chǎn)一個(gè) 100 至 1000的隨機(jī)數(shù))
local a = i:sran(100, 1000)
syso(a)
說明:
有時(shí)候需要利用到隨機(jī)機(jī)制厢破,可以利用這個(gè)來開發(fā)!
【nsz 創(chuàng)建數(shù)組】
用法:
--聲明6位的數(shù)組
local a2 = i:nsz(6)
syso(i:sgszl(a2))
或
//指定數(shù)組數(shù)據(jù)類型
local a2 = nsz(6, "String")
--聲明數(shù)組荧关,并直接設(shè)置數(shù)組值
local a2 = i:nsz({ 1, 2, 3, 4, 5 })
--打印數(shù)組總行數(shù)
local leng = i:sgszl(a2)
syso(leng)
--設(shè)置數(shù)組值
a[0] = 3 --設(shè)置第一位
a[1] = 6 --設(shè)置第二位
--循環(huán)打印數(shù)組所有
local leng = i:sgszl(a2)
local a = szto(a2)
while leng>0 do
leng = leng - 1
syso(a[leng])
end
說明:
申明一個(gè)數(shù)組溉奕。并且設(shè)置數(shù)組
【sgsz 指定訪問數(shù)組維數(shù)】
用法:(根據(jù)序號(hào)訪問數(shù)組)
local a = i:nsz({ 1, 2, 3, 4, 5 })
local d = i:sgsz(a, 2)
tw(d)
說明:
數(shù)組可以進(jìn)行列表形式存儲(chǔ)數(shù)據(jù),常用于數(shù)據(jù)列表忍啤。注意的是序號(hào)是從0開始的加勤。數(shù)組總行數(shù)如果是5,那序號(hào)最大為4
【sssz 設(shè)置數(shù)組數(shù)據(jù)】
用法:
local a = i:nsz({ 1, 2, 3, 4, 5 })
local c = 1
local d = 9
i:sssz(a, c, d)
說明:
指定數(shù)組序號(hào)設(shè)置數(shù)組的數(shù)據(jù)同波。
【sgszl 訪問數(shù)組總行數(shù)】
用法:
local a = i:nsz({ 1, 2, 3, 4, 5 })
local d = i:sgszl(a)
tw(d)
說明:
可以獲取到長度鳄梅,更準(zhǔn)確的訪問數(shù)組
【hs 獲取網(wǎng)頁源碼】
用法:
i:t(
function()
local a = "http://wap.baidu.com/"
local b = i:hs(a)
syso(b)
end
)
2,提交post數(shù)據(jù):
輸入說明:地址未檩,post數(shù)據(jù)提交戴尸,目標(biāo)網(wǎng)頁編碼
i:t(
function()
local a = "http://wap.baidu.com/"
local b = i:hs(a, "title=你好&text=你好嗎?", "utf-8")
syso(b)
end
)
3冤狡,帶自定義cookie方式獲取網(wǎng)頁:
--傳遞cookie項(xiàng)值孙蒙,格式為nama=value 下例: uid=112;name=nihao;sb=123456789;
i:t(
function()
local a = "http://wap.baidu.com/"
local b = i:hs(a, "title=你好&text=你好嗎?", "utf-8", "uid=112;name=nihao;sb=123456789;")
syso(b)
end
)
4悲雳,帶自動(dòng)設(shè)置cookie方式獲取網(wǎng)頁挎峦,并記錄當(dāng)前網(wǎng)頁的Cookie:
--傳遞cookie項(xiàng)值,當(dāng)自定義為nil 系統(tǒng)將自動(dòng)設(shè)置已記錄的cookie
i:t(
function()
local a = "http://wap.baidu.com/"
local b = i:hs(a, "title=你好&text=你好嗎合瓢?", "utf-8", nil, true)
syso(b)
end
)
5坦胶,帶自動(dòng)設(shè)置cookie方式獲取網(wǎng)頁,并記錄當(dāng)前網(wǎng)頁的Cookie,并設(shè)置Header頭:(可設(shè)置多條顿苇,以“||”隔開)文件頭包括了Cookie峭咒,User-Agent設(shè)備型號(hào)。
--傳遞cookie項(xiàng)值纪岁,當(dāng)自定義為nil 系統(tǒng)將自動(dòng)設(shè)置已記錄的cookie
i:t(
function()
local a = "http://wap.baidu.com/"
local b = i:hs(a, "title=你好&text=你好嗎凑队?", "utf-8", nil, true, "User-Agent=Mozilla/5.0 (iPad; U; CPU OS 6_0 like Mac OS X; zh-CN; iPad2)||accept=/||accept-language=zh-CN")
syso(b)
end
)
6,帶自動(dòng)設(shè)置cookie方式獲取網(wǎng)頁蜂科,并記錄當(dāng)前網(wǎng)頁的Cookie顽决,并設(shè)置Header頭:(可設(shè)置多條,以“||”隔開)文件頭包括了Cookie导匣,User-Agent設(shè)備型號(hào),設(shè)置連接超時(shí)茸时,設(shè)置接收超時(shí)贡定,設(shè)置代理IP。
--傳遞cookie項(xiàng)值可都,當(dāng)自定義為nil 系統(tǒng)將自動(dòng)設(shè)置已記錄的cookie
i:t(
function()
local a = "http://wap.baidu.com/"
local b = i:hs(a, "title=你好&text=你好嗎缓待?", "utf-8", nil, true, "User-Agent=Mozilla/5.0 (iPad; U; CPU OS 6_0 like Mac OS X; zh-CN; iPad2)||accept=/||accept-language=zh-CN", 20000, 20000, "10.0.0.172:80")
syso(b)
end
)
7,應(yīng)用系統(tǒng)存儲(chǔ)Cookie的瀏覽查看渠牲,返回賦值變量為字符串
local b = i:hs("cookie")
8旋炒,應(yīng)用系統(tǒng)存儲(chǔ)Cookie的清空,無賦值變量
i:hs("del cookie")
說明:
這里先開了一個(gè)線程签杈,然后在線程里執(zhí)行獲取網(wǎng)頁源碼的工作,開線程是擔(dān)心有些主線程界面。大部分網(wǎng)頁都需要使用cookie登陸砰苍,可使用工具查詢所需cookie然后進(jìn)行操作铣缠。
設(shè)置cookie有說明作用?
1.登陸用戶名
2.獲取驗(yàn)證碼圖片并發(fā)送驗(yàn)證碼
....
【hd 下載文件】
用法:(下載文件至SD卡根目錄 abc.apk)
1鹦付,下載文件尚粘,默認(rèn)不覆蓋重復(fù)
i:t(
function()
local a = "http://abc.com/abc.apk"
local b = "abc.apk"
local c = i:hd(a, b)
syso(c)
end
)
2,設(shè)置重復(fù)是否覆蓋
i:t(
function()
local a = "http://abc.com/abc.apk"
local b = "abc.apk"
local c = i:hd(a, b, true)
syso(c)
end
)
3敲长,帶自動(dòng)設(shè)置cookie方式下載網(wǎng)頁形式文件(如圖片形式驗(yàn)證碼郎嫁,論壇的附件等),支持post數(shù)據(jù)祈噪,自定義Cookie或系統(tǒng)設(shè)置Cookie泽铛,并記錄當(dāng)前網(wǎng)頁的Cookie,并設(shè)置重復(fù)是否覆蓋钳降『裨祝可參考hs獲取網(wǎng)頁,并設(shè)置Header頭:(可設(shè)置多條,以“||”隔開铲觉,也可留空為nil)
輸入說明:下載地址澈蝙,保存文件位置,是否重復(fù)覆蓋撵幽,post數(shù)據(jù)提交灯荧,目標(biāo)網(wǎng)頁編碼,自定義Cookie盐杂,是否系統(tǒng)自動(dòng)設(shè)置Cookie逗载,設(shè)置Header頭
i:t(
function()
local a = "http://abc.com/abc.apk"
local b = "abc.apk"
local c = i:hd(a, b, true, "title=你好&text=你好嗎?", "utf-8", nil, true, nil)
syso(b)
end
)
說明:
開個(gè)線程链烈,然后在里面下載一個(gè)文件厉斟。并存到SD卡。下載結(jié)果將賦值到變量“c”
返回的賦值:
1 文件已經(jīng)存在
0 下載成功
-1 下載失敗
【hw 訪問網(wǎng)頁】
用法:
local a = "http://wap.baidu.com/"
i:hw(a)
說明:
使用內(nèi)置瀏覽器訪問網(wǎng)頁强衡。
可用于下載文件:
local a = "http://abc.com/abc.apk"
hw(a)
--跳轉(zhuǎn)訪問網(wǎng)頁擦秽,并且自定義標(biāo)題欄顏色
--主體顏色
local b = "#387bd6"
--底部橫杠顏色
local c = "#255eab"
i:hw("http://wap.baidu.com/", b, c)
【hws 系統(tǒng)瀏覽器訪問網(wǎng)頁】
用法:
local a = "http://wap.baidu.com/"
i:hws(a)
說明:
使用內(nèi)置瀏覽器訪問網(wǎng)頁。
可用于下載文件:
local a = "http://abc.com/abc.apk"
i:hws(a)
【ug 獲取控件屬性】
用法:(1為:控件ID漩勤,第二個(gè)參數(shù)為控件屬性標(biāo)識(shí)感挥,然后賦值到變量)
local a = i:ug(1, "text")
syso(a)
說明:
輸入屬性標(biāo)示來返回不同的控件數(shù)據(jù)。注意:有些控件沒有指定屬性越败,將返回nil触幼。下面有屬性介紹,可參考究飞。
可用屬性標(biāo)識(shí):
text=內(nèi)容置谦、background=背景、width=寬度噪猾、height=高度霉祸、x=X軸、y=Y軸袱蜡、paddingleft=左內(nèi)邊距丝蹭、paddingtop=頂內(nèi)邊距、paddingright右內(nèi)邊距坪蚁、paddingbottom=底內(nèi)邊距奔穿、layout_marginleft=左外邊距、layout_margintop=頂外邊距敏晤、layout_marginright=右外邊距贱田、layout_marginbottom=底外邊距、
hint=提示字符嘴脾、imeoptions=虛擬鍵盤按鍵狀態(tài)男摧、visibility=控件可視狀態(tài)蔬墩、checked=選項(xiàng)是否被選中、title=瀏覽器網(wǎng)頁標(biāo)題耗拓、url=瀏覽器網(wǎng)址拇颅、lastvisibleposition=列表滑動(dòng)到項(xiàng)目位置的序號(hào)、count=列表項(xiàng)目總數(shù)乔询、
selecteditem=獲取下拉框選值樟插、rating=評(píng)分當(dāng)前數(shù)值、progress=控件當(dāng)前進(jìn)度數(shù)值竿刁、date=日期控件選值黄锤、time=時(shí)間控件選值、currentitem=獲得滑動(dòng)窗體界面序號(hào)食拜、isdraweropen=側(cè)滑是否界面展開狀態(tài)鸵熟、selectionstart=獲取文本框光標(biāo)開始位置、selectionend=獲取文本框光標(biāo)結(jié)束位置负甸、
cangoback=是否存在可返回的網(wǎng)頁旅赢、cangoforward=是否存在可前進(jìn)的網(wǎng)頁、collapsecolumns=表格布局獲取指定列是否折疊惑惶、shrinkcolumns=表格布局獲取指定的列是否可收縮、stretchcolumns=表格布局獲取指定的列是否可拉伸短纵、shrinkcolumnsall=表格布局獲取指示是否所有的列都是可收縮的带污、
stretchcolumnsall=表格布局獲取指示是否所有的列都是可拉伸的
【us 設(shè)置控件屬性】
用法:(1為:控件ID,第二個(gè)參數(shù)為控件屬性標(biāo)識(shí)香到,第三個(gè)是需要設(shè)置的數(shù)據(jù)或變量)
--設(shè)置文本控件內(nèi)容
local c = "文本內(nèi)容"
local f = i:us(1, "text", c)
syso(f)
--設(shè)置瀏覽器的連接url
local c = "http://wap.baidu.com/"
local f = i:us(2, "url", c)
--提示:如果瀏覽器正在播放視頻或音樂鱼冀,直接關(guān)閉瀏覽器可能還會(huì)有聲音,建議關(guān)閉瀏覽器時(shí)先跳轉(zhuǎn)成另一個(gè)網(wǎng)頁悠就。
--提示:如果需要加載本地的文件千绪,可以 us(2, "url", "file:///android_asset/res/web.html") 加載安裝包內(nèi)assets/res/web.html文件
syso(f)
--設(shè)置瀏覽器顯示的html文件或文本
s c = "<html><p>html內(nèi)容</></html>"
s d = "utf-8"
s e = "text/html"
local f = i:us(2, "url", c, d, e)
syso(f)
--設(shè)置瀏覽器代理IP
local f = us(2, "proxy", "10.0.0.172", "80")
syso(f)
--設(shè)置控件陰影(部分控件有效果如文本、文本框梗脾、按鈕)
local radius = 5
local dx = 0
local dy = 0
local color = "#000000"
local f = us(2, "shadow", radius, dx, dy, color)
syso(f)
--帶有賦值變量荸型,將返回?cái)?shù)據(jù)是否設(shè)置成功 true 或 false
local c = "文本內(nèi)容"
us(1, "text", c)
--設(shè)置文本框控件光標(biāo)
us(1, "selection", 1)
--選中文本框部分內(nèi)容
us(1, "selection", 1, 3)
--瀏覽器前進(jìn)1個(gè)網(wǎng)頁
us(1, "gobackorforward", 1)
--瀏覽器后退1個(gè)網(wǎng)頁
us(1, "gobackorforward", -1)
--設(shè)置控件點(diǎn)擊波紋效果顏色;需系統(tǒng)5.0以及以上才有效果炸茧;部分控件還需要設(shè)置 clickable=true 才有效果瑞妇。
us(1, "backgroundripple", "#888888")
--設(shè)置編輯框光標(biāo)顏色
us(1, "textcursordrawable", "#000000")
說明:
輸入控件標(biāo)示設(shè)置控件數(shù)據(jù)∷蠊冢【可參照控件屬性辕狰,所有屬性標(biāo)識(shí)通用】
更多屬性標(biāo)識(shí):
currentitem=設(shè)置滑動(dòng)窗體界面序號(hào)、closedrawer=關(guān)閉指定側(cè)滑控漠、opendrawer=展開指定側(cè)滑蔓倍、drawerlockmode=設(shè)置手勢滑動(dòng)、selection=設(shè)置文本框光標(biāo)位置、gobackorforward=瀏覽器的前進(jìn)或推后偶翅、backgroundripple=波紋效果默勾、dh=執(zhí)行動(dòng)畫(非隊(duì)列動(dòng)畫)
【uigo 跳轉(zhuǎn)界面】
用法:(輸入界面文件名,跳轉(zhuǎn)指定的界面)
i:uigo("abc.ilua")
--帶參數(shù)的跳轉(zhuǎn)
i:uigo("abc.ilua", 536870912)
說明:
可以界面之間的轉(zhuǎn)換倒堕,擴(kuò)展新的界面灾测。
參數(shù):
67108864:如果在內(nèi)存中發(fā)現(xiàn)存在該界面,則清空這個(gè)界面之上的所有其他界面垦巴,使其處于棧頂媳搪。
268435456:系統(tǒng)會(huì)尋找或創(chuàng)建一個(gè)新的內(nèi)存來放置該界面
1073741824:跳轉(zhuǎn)到的界面,不排在內(nèi)存中
536870912:當(dāng)內(nèi)存中存在該界面并且位手機(jī)的顯示狀態(tài)時(shí)骤宣,不再創(chuàng)建一個(gè)新的秦爆,直接利用這個(gè)界面。
【utw 彈出界面】
用法:(在原有的界面彈出界面)
local a = nil
local b = "界面標(biāo)題"
local c = "界面內(nèi)容"
local d = "退出"
local e = "保存"
local f = "取消"
--三個(gè)按鈕
--輸入圖標(biāo)憔披,輸入標(biāo)題等限,輸入內(nèi)容,輸入按鈕名稱芬膝,輸入按鈕名稱望门,輸入按鈕名稱,輸入是否點(diǎn)擊彈窗以外界面是否關(guān)閉彈窗
i:utw(a, b, c, d, e, f, false,
function()
syso("點(diǎn)擊了確定")
end
,
function()
syso("點(diǎn)擊了保存")
end
,
function()
syso("點(diǎn)擊了取消")
end
)
--兩個(gè)按鈕
i:utw(a, b, c, d, e, false,
function()
syso("點(diǎn)擊了確定")
end
,
function()
syso("點(diǎn)擊了取消")
end
)
-- 一個(gè)按鈕
i:utw(a, b, c, d, false,
function()
syso("點(diǎn)擊了確定")
end
)
--沒有按鈕
i:utw(a, b, c, false)
--將界面添加到彈窗界面上锰霜,直接將界面內(nèi)容設(shè)為一個(gè)界面文件
local a = "界面標(biāo)題"
local b = "a.ilua"
local c = "取消"
--返回界面對(duì)象筹误,設(shè)置為全局變量 v
v = i:utw(nil, a, b, c, false,
function()
syso("點(diǎn)擊了取消")
--獲取全局變量 v
local v = is("v")
syso(v)
end
)
說明:
常用于詢問用戶當(dāng)前的操作,彈窗展示內(nèi)容癣缅。
賦值變量說明:
彈出界面需要賦值到一個(gè)變量厨剪,用于自定義界面彈窗的操作。
【endutw 關(guān)閉彈出界面】
用法:
i:endutw()
說明:
用于關(guān)閉當(dāng)前打開的彈窗界面
【end 結(jié)束界面】
用法:
i:end()
說明:
調(diào)用后友存,將結(jié)束當(dāng)前的界面祷膳。 并返回原來的界面。如果原來沒有界面屡立,將退出應(yīng)用直晨。
【ends 顯示桌面】
用法:
i:ends()
說明:
跳轉(zhuǎn)到手機(jī)的桌面,程序?qū)⒑笈_(tái)運(yùn)行侠驯。
【bfm 播放音頻】
用法:
local a = "http://www.abc.com/abc.mp3"
local b = i:bfm(a)
local a = "%abc.mp3"
local b = i:bfm(a)
-- 播放
-- i:bfms(b, "st")
-- 暫停
-- i:bfms(b, "pe")
-- 停止
-- i:bfms(b, "sp")
-- 結(jié)束播放組件
-- i:bfms(b, "re")
-- 是否在播放
-- i:bfms(b, "ip", c)
-- tw(c)
-- 獲取音頻時(shí)長(毫秒)
-- i:bfms(b, "dn", c)
-- tw(c)
-- 獲取當(dāng)前播放時(shí)長(毫秒)
-- i:bfms(b, "cn", c)
-- tw(c)
-- 指定播放的位置(毫秒)
-- i:bfms(b, "seekto", 2000)
-- 設(shè)置音量(0-100)
-- i:bfms(b, "volume", 100, 100)
-- 一直循環(huán)播放
-- i:bfms(b, "sl", true)
說明:
可以直接訪問安裝包里面的音頻文件抡秆,也可以訪問sd卡上的。
……
【html 標(biāo)簽支持】
用法:
local a = "(html)<a
i:us(1, "text", a)
說明:
text屬性:設(shè)置支持html代碼吟策!
【ula 列表操作內(nèi)容】
用法:
--輸入數(shù)據(jù)列表對(duì)象儒士,輸入數(shù)據(jù)項(xiàng)...不限制數(shù)量。
local a
a = i:ula(a, {1,2,3}, {"abc","bac","bbc"})
--刷新列表顯示內(nèi)容檩坚,常用增加數(shù)據(jù)后的刷新着撩。
i:ula(a)
--清空列表對(duì)象
i:ula(a, nil)
--i:ula(a, "clear")
--獲得列表對(duì)象诅福,賦值返回v變量為列表對(duì)象
local v = i:ula(a, "list")
說明:
根據(jù)數(shù)據(jù)列表,進(jìn)行增加數(shù)據(jù)拖叙。
提示:
1 abc氓润,其中1為控件id,abc為設(shè)置控件值
其中所謂的控件薯鳍,為a.iyu界面中的控件咖气。
增加標(biāo)識(shí)數(shù)據(jù),不作為設(shè)置控件數(shù)據(jù)挖滤,可在標(biāo)識(shí)處設(shè)負(fù)數(shù)崩溪。如下:
-1 abc
提示:
如果需要設(shè)置 單選控件、多選控件 的選擇狀態(tài)斩松,可設(shè)值為 true 或 false
注意:
將要執(zhí)行事件的控件伶唯,必須在此設(shè)置值。如你有一個(gè)按鈕控件無需設(shè)置值惧盹,但需要使用事件乳幸,可設(shè)置 1=nil
不設(shè)置值的控件,將無法獲取列表內(nèi)容數(shù)據(jù)钧椰。
【uls 列表顯示內(nèi)容】
用法:
--
local a
a = i:ula(a, {1,2,3}, {"abc","bac","bbc"})
a = i:ula(a, {1,2,3}, {"cde","cdw","cad"})
local c = "a.ilua"
local d = -1
local e = -2
--輸入控件id或控件對(duì)象粹断,輸入數(shù)據(jù)列表,輸入列表項(xiàng)界面文件名嫡霞,輸入界面寬度姿染,輸入界面高度
i:uls(1, a, c, d, e)
--設(shè)置下拉選擇列表
--輸入控件id或控件對(duì)象,輸入數(shù)據(jù)列表或數(shù)組數(shù)據(jù)
i:uls(1, {"abc","bac","bbc"})
說明:
設(shè)置列表控件秒际、視圖控件、下拉列表的數(shù)據(jù)狡汉。
注意:
列表控件娄徊、視圖控件 設(shè)置的界面 a.ilua 其中的載入事件是允許被調(diào)用。
可以通過列表控件盾戴、視圖控件 設(shè)置的界面 a.ilua 的載入事件寄锐,進(jìn)行每項(xiàng)列表布局的個(gè)性化設(shè)計(jì)。
每當(dāng)顯示到每項(xiàng)列表內(nèi)容就會(huì)調(diào)用一次此載入事件尖啡,并且將該項(xiàng)的布局控件賦值給 st_vW 變量對(duì)象橄仆,
然后可以通過 local b = i:gvs(st_vW, "a.2") 獲取其中的子控件對(duì)象,然后進(jìn)行操作子控件即可衅斩。
還可以通過 st_pN 獲取當(dāng)前的視圖中的序號(hào)盆顾,方便判斷目前操作的是那一個(gè)視圖。
【ulag 獲取列表內(nèi)容數(shù)據(jù)】
用法:
--輸入當(dāng)前的控件對(duì)象畏梆,輸入獲取控件ID 1的數(shù)據(jù)參數(shù)
local b = i:ulag(a, 1)
--輸入當(dāng)前的控件對(duì)象您宪,輸入獲取標(biāo)識(shí)為 -1的數(shù)據(jù)參數(shù)
local b = i:ulag(a, -1)
--通過 數(shù)據(jù)列表對(duì)象 或 列表控件對(duì)象 獲取數(shù)據(jù)
--輸入數(shù)據(jù)列表對(duì)象 或 列表控件對(duì)象奈懒,輸入視圖中的位置序號(hào),輸入獲取標(biāo)識(shí)為 -1的數(shù)據(jù)參數(shù)
local b = i:ulag(a, 1, -1)
說明:
常用與在列表控件的事件中宪巨,獲取參數(shù)數(shù)據(jù)與用戶進(jìn)行互動(dòng)磷杏。獲取失敗將賦值變量為 nil
注意:
使用此方法在uls中設(shè)置控件參數(shù)后,有設(shè)置參數(shù)的控件捏卓,在事件中可使用此方法极祸。
【ulas 更新列表內(nèi)容數(shù)據(jù)】
用法:
--輸入當(dāng)前的控件對(duì)象,輸入獲取控件ID 1的數(shù)據(jù)參數(shù)
local b = i:ulas(a, 1)
--輸入當(dāng)前的控件對(duì)象怠晴,輸入獲取標(biāo)識(shí)為 -1的數(shù)據(jù)參數(shù)
local b = i:ulas(a, -1)
--通過 數(shù)據(jù)列表對(duì)象 或 列表控件對(duì)象 獲取數(shù)據(jù)
--輸入數(shù)據(jù)列表對(duì)象 或 列表控件對(duì)象遥金,輸入視圖中的位置序號(hào),輸入獲取標(biāo)識(shí)為 -1的數(shù)據(jù)參數(shù)龄寞,輸入新的數(shù)據(jù)
local b = i:ulas(a, 1, -1)
--刷新列表顯示內(nèi)容汰规,常用增加數(shù)據(jù)后的刷新。
i:ula(a)
說明:
常用與更新修改列表內(nèi)容數(shù)據(jù)物邑。修改數(shù)據(jù)后溜哮,別忘記刷新列表。
【usms 發(fā)送短信】
用法:
local a = "10086"
local b = "0"
i:usms(a, b)
注意:測試時(shí)只顯示syso日志色解,不直接 發(fā)送短信茂嗓,打包即可。
【ucall 撥打電話】
用法:
local a = "10086"
i:ucall(a)
注意:測試時(shí)只顯示syso日志科阎,不直接 撥出號(hào)碼述吸,打包即可。
【time 當(dāng)前時(shí)間】
用法:
local a = 0
local b = i:time(a)
syso(b)
說明:
第一個(gè)參數(shù)為時(shí)間類型锣笨,第二個(gè)賦值變量
[數(shù)字類型]
0:2014-07-07 09:10:08
1:2014/07/07 09:10:08
2:2014-07-07
3:09:10:08
4:18144133553151
5:2014年07月07日 09:10:08
[字符類型蝌矛,輸入字符形式需引號(hào)概括]
Y 年
m 月
d 日
H 時(shí)
M 分
S 秒
a/A 星期幾
【fi 判斷路徑是否文件夾】
用法:
local a = "abc"
local b = i:fi(a)
syso(b)
說明:
指定路徑,判斷是否為目錄文件夾错英,返回:true 或 false
【swh 獲取屏幕分辨率】
用法:
local a = "w"
--獲取屏幕寬度的dp
local w = i:swh(a)
local a = "h"
--獲取屏幕高度的dp
local h = i:swh(a)
local a = "hh"
--獲取屏幕真實(shí)高度的dp
local w = i:swh(a)
local a = "pxw"
--獲取屏幕寬度的px像素
local w = i:swh(a)
local a = "pxh"
--獲取屏幕高度的px像素
local h = i:swh(a)
local a = "pxhh"
--獲取屏幕真實(shí)高度的px像素
local hh = i:swh(a)
說明:
常用于獲取屏幕的大小入撒。
真實(shí)高度:不去除其他系統(tǒng)界面所占用(如狀態(tài)欄)
【stobm 漢子轉(zhuǎn)換編碼字符】
用法:(你 轉(zhuǎn)換 %E4%BD%A0)
local b = i:stobm("你", "utf-8")
tw(b)
說明:
有些時(shí)候網(wǎng)絡(luò)操作的時(shí)候,網(wǎng)址需要帶有字符參數(shù)椭岩,就可以把這個(gè)漢字轉(zhuǎn)換下茅逮。
【sutf8to 將UTF-8編碼字符轉(zhuǎn)換中文】
local b = i:sutf8to("%E4%BD%A0")
tw(b)
【uycl 隱藏狀態(tài)欄】
用法:
--隱藏
i:uycl(true)
--不隱藏
i:uycl(false)
說明:
隱藏手機(jī)頂部的狀態(tài)欄
【uycl 修改狀態(tài)欄顏色】
用法:
--輸入更變顏色,并且保留狀態(tài)欄空間
i:uycl("#50c4e5", true)
--輸入更變顏色判哥,并且不保留狀態(tài)欄空間
i:uycl("#50c4e5", false)
說明:
常用與設(shè)置一體化顏色献雅,以及更變不同的狀態(tài)欄顏色。
注意:
僅系統(tǒng)android 4.4以及以上才有效果塌计,系統(tǒng)android 5.0以及以上效果更佳挺身!
android 4.4以下的系統(tǒng),無效果锌仅!
【ushsp 設(shè)置橫屏或豎屏】
用法:
--橫屏
i:ushsp(true)
--豎屏
i:ushsp(false)
說明:
設(shè)置屏幕的顯示方式瞒渠,注意的是設(shè)置后載入事件將重新執(zhí)行
【bfv 播放視頻】
用法:(播放SD卡上的視頻文件)
local a = "%abcd.mp4"
i:bfv(a)
--并且橫屏
local a = "%abcd.mp4"
local b = true
i:bfv(a, b)
--并且橫屏
local a = "http://m.baidu.com/abcd.mp4"
local b = true
i:bfv(a, b)
說明:
此方法將全屏播放SD卡上的視頻文件良蒸。調(diào)用自帶的播放器。
注意:
不支持加載assets文件伍玖。支持SD卡文件嫩痰、應(yīng)用私有文件、(http)遠(yuǎn)程網(wǎng)絡(luò)文件窍箍!
支持格式:
3gp串纺、MP4、avi
【ftz 發(fā)送通知欄】
用法:
i:ftz("提醒標(biāo)題", "標(biāo)題", "內(nèi)容", nil, [[
tw("點(diǎn)擊了")
]])
--設(shè)置顯示圖標(biāo)
i:ftz("提醒標(biāo)題", "標(biāo)題", "內(nèi)容", "%abc.png", [[
tw("點(diǎn)擊了")
]])
說明:
可以用于通知用戶。
【uapp 打開App應(yīng)用或游戲】
用法:
local c = i:uapp("com.iapp")
--或 帶有指定類名的啟動(dòng)
local c = i:uapp("com.iapp", "com.yougaile.MakeiApp.logoActivity")
說明:
輸入應(yīng)用包名,賦值變量携栋; 賦值變量返回啟動(dòng)結(jié)果:true 或 false
【uapplist 獲取App列表】
用法:
local b = i:uapplist(true)
local c = b[1]
syso(c[0])
說明:
輸入 是否包括獲取系統(tǒng)App,返回一個(gè)列表數(shù)組 至變量 “b”祷蝌,每列數(shù)據(jù)將存儲(chǔ)一個(gè)應(yīng)用的信息,并且以數(shù)組方式儲(chǔ)存帆卓。
其中列數(shù)組內(nèi)容序列:
0應(yīng)用包名巨朦,1啟動(dòng)類,2應(yīng)用標(biāo)題剑令,3應(yīng)用版本
【uapplistgo 獲取正在運(yùn)行的App列表】
用法:
local b = i:uapplistgo()
syso(b[0])
說明:
輸入 返回一個(gè)列表數(shù)組 至變量 “b”糊啡,每列數(shù)據(jù)將存儲(chǔ)一個(gè)應(yīng)用的信息,并且以 “\n”隔開吁津。
其中列內(nèi)容格式:
應(yīng)用包名棚蓄,pid, uid
【uninapp 卸載應(yīng)用】
用法:
i:uninapp("com.iapp")
說明:
輸入應(yīng)用包名
【huf 上傳文件】
用法:
t(
function()
local a = "http://abc.com/upfile.php"
local b = "filename=iApp我的應(yīng)用.apk&test=一款非常好的應(yīng)用哦"
local c = "%abc/iApp.apk"
local d = "utf-8"
local e = i:huf(a, b, c, d)
syso(e)
end
)
2.設(shè)置 header文件頭,文件頭包括了Cookie碍脏,User-Agent設(shè)備型號(hào)梭依。。
t(
function()
local a = "http://abc.com/upfile.php"
local b = "filename=iApp我的應(yīng)用.apk&test=一款非常好的應(yīng)用哦"
local c = "%abc/iApp.apk"
local d = "utf-8"
local e = "User-Agent=Mozilla/5.0 (iPad; U; CPU OS 6_0 like Mac OS X; zh-CN; iPad2)||Cookie=aa:123;bb:456;||accept-language=zh-CN"
local f = huf(a, b, c, d, e)
syso(f)
end
)
說明:
輸入 http接口典尾,表單內(nèi)容睛挚,手機(jī)內(nèi)存選擇文件,接口的網(wǎng)頁編碼急黎, 賦值變量。 返回網(wǎng)頁內(nèi)容將賦值給變量 “e”
【nvw 創(chuàng)建動(dòng)態(tài)控件】
用法:
--將控件添加至指定的控件作為子控件
--輸入要添加的控件ID或控件對(duì)象侧到,輸入添加至指定控件ID或控件對(duì)象
i:nvw(id, did)
--輸入要添加的控件ID或控件對(duì)象勃教,輸入添加至指定控件ID或控件對(duì)象,輸入插入指定序號(hào)
i:nvw(id, did, 0)
--創(chuàng)建文本控件
--輸入控件ID匠抗,輸入添加至指定控件ID或控件對(duì)象(若不添加則輸入nil)故源,輸入控件類型,輸入控件屬性
local id = 123456
local did = 1
local v = i:nvw(id, did, "文本", "width=-2\nheight=-2\ntext=內(nèi)容", b)
說明:
輸入創(chuàng)建的控件ID汞贸,輸入將新控件添加至指定控件ID或控件對(duì)象绳军,創(chuàng)建控件的類型印机,創(chuàng)建控件的屬性
【uall 獲取子控件】
用法:
--輸入控件ID或控件對(duì)象,輸入false時(shí)將賦值子控件ID门驾,輸入賦值變量將返回一個(gè)數(shù)據(jù)列表
local a = i:uall(1, false)
--輸入控件ID或控件對(duì)象射赛,輸入true時(shí)將賦值子控件對(duì)象,輸入賦值變量將返回一個(gè)數(shù)據(jù)列表
local a = i:uall(1, true)
tw(a[0])
說明:
獲取一個(gè)包含子控件的奶是,控件中所有的子控件楣责。
【urvw 移除控件】
用法:
i:urvw(3)
說明:
輸入需要移除的控件ID或控件對(duì)象
【sbp 圖像分割】
用法:
--載入一個(gè)圖像變量,并賦值到圖像變量“b”
local b = i:sbp("%1.png")
--載入一個(gè)用戶圖標(biāo)聂沙,{裁剪圖像區(qū)域(像素):x坐標(biāo):80秆麸,y坐標(biāo):90,裁剪寬度:50及汉,裁剪高度:60}
--并將裁剪好的賦值到圖像變量“b”
local b = i:sbp("%1.png", 80, 90, 50, 60)
--載入一個(gè)SD卡上的圖標(biāo)沮趣,{裁剪圖像區(qū)域(像素):x坐標(biāo):80,y坐標(biāo):90坷随,裁剪寬度:50房铭,裁剪高度:60},圖像旋轉(zhuǎn)圖像:180度
--并將裁剪好的賦值到圖像變量“b”
local b = i:sbp("%1.png", 80, 90, 50, 60, 180)
說明:
三種方式載入圖像甸箱,從圖像變量育叁,從用戶圖標(biāo),從SD上圖標(biāo)芍殖;并可設(shè)置裁剪圖片豪嗽;可設(shè)置圖像旋轉(zhuǎn); 并賦值到新的圖像變量豌骏;
【bfs 保存圖像】
用法:
i:bfs(b, "%1.jpg")
--或 壓縮比例(1至100)
i:bfs(b, 70, "%1.jpg")
說明:
輸入圖像變量龟梦,輸入壓縮比例(1至100),輸入保存圖像的路徑窃躲,圖像將保存至該路徑计贰。
【sdeg 啟動(dòng)調(diào)試模式】
用法:
i:sdeg(0)
i:sdeg(1)
i:sdeg(2)
說明:
提示日志方式。0打包后沒有任何提示蒂窒,1打包后可任然打印錯(cuò)誤躁倒,2打包后記錄日志保存至文件 iApp/Log
【tot 獲取控件圖標(biāo)】
用法:
local id = 4
local b = i:tot(id)
說明:
輸入控件ID或控件對(duì)象,返回將賦值“b”圖像變量洒琢。注:此方法僅限于 圖片控件秧秉,圖標(biāo)按鈕控件。
【tzz 圖像旋轉(zhuǎn)】
用法:
local a = i:sbp("%1.png")
local b = 90
local c = i:tzz(a, b)
說明:
輸入被旋轉(zhuǎn)圖像變量衰抑,輸入旋轉(zhuǎn)度數(shù)(逆向旋轉(zhuǎn)數(shù)為負(fù)數(shù))象迎,返回將賦值“c”圖像變量。
【tsf 圖像縮放】
用法:
local a = i:sbp("%1.png")
--按照倍增縮放呛踊,值小于則為縮小砾淌,否則為放大
local b = 2
local c = i:tsf(a, b)
--指定高度與寬度縮放
local w = 100
local h = 200
local c = i:tsf(a, w, h)
說明:
輸入被縮放圖像變量啦撮,輸入縮放倍數(shù) 或 指定圖像高度與寬度縮放,返回將賦值“c”圖像變量汪厨。
【tfz 圖像反轉(zhuǎn)】
用法:
local a = i:sbp("%1.png")
--水平反轉(zhuǎn)
local b = "x"
local c = i:tfz(a, b)
--垂直反轉(zhuǎn)
local b = "y"
local c = i:tfz(a, b, c)
說明:
輸入被反轉(zhuǎn)圖像變量赃春,輸入反轉(zhuǎn)方式 x為水平 y為垂直,返回將賦值“c”圖像變量骄崩。
【tcc 獲取圖像變量尺寸】
用法:
local a = i:sbp("%1.png")
local b = "w"
local c = i:tcc(a, b)
syso(c)
local b = "h"
local c = i:tcc(a, b)
syso(c)
說明:
獲取圖像變量的 w寬度 和 h高度聘鳞。
【sxb 寫入剪切板】
用法:
local a = "nihao"
i:sxb(a)
說明:
可用于復(fù)制到剪切板,其他應(yīng)用可獲取到此數(shù)據(jù)要拂。
【shb 獲取剪切板】
用法:
local a = i:shb()
syso(a)
說明:
可獲取剪切板數(shù)據(jù)抠璃,得到其他地方寫入的剪切板數(shù)據(jù)。
【usjxm 手機(jī)休眠】
用法:
i:usjxm(false)
說明:
設(shè)置后手機(jī)將不休眠脱惰,不鎖屏搏嗡。默認(rèn)為 true 需要休眠。
【bfvs 播放視頻】
用法:
--設(shè)置SD卡視頻文件
--輸入控件ID或?qū)ο罄唬斎胍曨l文件路徑
i:bfvs(1, "%a.mp4")
--設(shè)置網(wǎng)絡(luò)遠(yuǎn)程視頻文件
i:bfvs(1, "http://abc.com/a.mp4")
--增加控制器采盒,c為賦值變量
local c = i:bfvss(1, "media")
--開始播放
i:bfvss(1, "st")
說明:
自定義視頻播放控件進(jìn)行播放視頻。
注意:
不支持加載assets文件蔚润。支持SD卡文件磅氨、(http)遠(yuǎn)程網(wǎng)絡(luò)文件!
支持格式:
3gp嫡纠、MP4烦租、avi
【bfvss 播放視頻控制】
用法:
--開始播放
i:bfvss(1, "st")
--暫停播放
i:bfvss(1, "pe")
--停止播放
i:bfvss(1, "sp")
--定位到指定幀
i:bfvss(1, "seekto", 300)
--增加控制器,c為賦值變量
local c = i:bfvss(1, "media")
--是否在播放
local c = i:bfvss(1, "ip")
tw(c)
--獲取視頻時(shí)長(毫秒)
local c = i:bfvss(1, "dn")
tw(c)
--獲取當(dāng)前播放時(shí)長(毫秒)
local c = i:bfvss(1, "cn")
tw(c)
【addv 加載界面】
用法:
--界面中載入其他界面
local id = 1
i:addv(id, "a.ilua")
i:addv(id, "b.ilua")
--側(cè)滑窗體
local id = 1
i:addv(id, "a.ilua|b.ilua")
--滑動(dòng)窗體除盏,將帶有賦值變量叉橱。此處變量“b”賦值為根控件列表,先通過 gslist 訪問指定序號(hào)的根控件者蠕。通過 gvs 指定的根控件訪問指定ID的控件窃祝。
local id = 1
local b = i:addv(id, "a.ilua|b.ilua")
說明:
輸入控件ID,輸入界面名踱侣,輸入輔助參數(shù)粪小。可用將一個(gè)界面的控件抡句,載入到指定控件作為子控件探膊。
如何設(shè)置或獲取屬性上例 a.ilua 中的控件呢?
通過文件名作為對(duì)象玉转,進(jìn)行訪問,如:
--注意:此對(duì)象的使用方式殴蹄。
local b = i:ug("a.2", "text")
i:us("a.3", "text", "你好")
注意:
如果載入事件中使用 addv 滑動(dòng)窗體進(jìn)行綁定究抓, 如果還需要給滑動(dòng)窗體內(nèi)的界面中的控件設(shè)置數(shù)據(jù)猾担,需要將設(shè)置控件的代碼寫在 載入完畢事件 中。否將將可能設(shè)置數(shù)據(jù)失敗刺下。
注意:
若增加 側(cè)滑窗體 與 滑動(dòng)窗體 的子控件绑嘹,需要在被載入的界面設(shè)計(jì)中,自設(shè)一個(gè)根目錄橘茉,作為界面唯一根目錄工腋。
【gvs 獲取控件對(duì)象】
用法:
--根據(jù)當(dāng)前界面,來獲取控件
--輸入要獲取的控件ID畅卓,輸入賦值變量
local c = i:gvs(1)
--根據(jù)控件對(duì)象擅腰,來獲取內(nèi)部的子控件
--輸入控件ID或控件對(duì)象,輸入要獲取的控件ID翁潘,輸入賦值變量
local c = i:gvs(1, 2)
說明:
常用與于利用根控件獲取內(nèi)部的子控件 或 獲取控件對(duì)象趁冈。獲取失敗將賦值返回 nil
【aslist 添加數(shù)據(jù)列表】
用法:
local a
a = i:aslist(a, {"你好", "你好", "你好"})
a = i:aslist(a, {"你好2", "你好2", "你好2"})
--可插入數(shù)據(jù)到指定序號(hào)
a = i:aslist(a, {"你好3","你好3","你好3"}, 1)
說明:
輸入列表對(duì)象拜马,輸入要添加的數(shù)據(jù)渗勘,輸入插入指定序號(hào)。
【sslist 數(shù)據(jù)列表設(shè)置數(shù)據(jù)】
用法:
local b = 1
local c = "數(shù)據(jù)"
i:sslist(a, b俩莽,c)
說明:
輸入列表對(duì)象旺坠,輸入指定數(shù)據(jù)序號(hào),輸入設(shè)置的數(shù)據(jù)
【gslist 數(shù)據(jù)列表訪問數(shù)據(jù)】
用法:
local b = 1
local c = i:gslist(a, b)
syso(c)
說明:
輸入列表對(duì)象扮超,輸入指定數(shù)據(jù)序號(hào)取刃,輸入賦值變量
【gslistl 數(shù)據(jù)列表訪問數(shù)據(jù)總數(shù)】
用法:
local b = i:gslistl(a)
syso(b)
說明:
輸入列表對(duì)象,輸入賦值變量
【dslist 數(shù)據(jù)列表刪除指定數(shù)據(jù)】
用法:
local b = 1
i:dslist(a, b)
--清空所有數(shù)據(jù)
local b = -1
i:dslist(a, b)
說明:
輸入列表對(duì)象瞒津,輸入指定數(shù)據(jù)序號(hào)
提示:
如果需要清空所有數(shù)據(jù)蝉衣,[輸入指定數(shù)據(jù)序號(hào)]可輸入 -1 即會(huì)刪除當(dāng)前數(shù)據(jù)列表所有數(shù)據(jù)。
【gslistsz 列表數(shù)據(jù)轉(zhuǎn)化為數(shù)組】
用法:
local b = i:gslistsz(a)
說明:
輸入列表對(duì)象巷蚪,輸入賦值變量
【gslistis 列表數(shù)據(jù)檢查是否存在指定數(shù)據(jù)】
用法:
local b = "數(shù)據(jù)"
local c = i:gslistis(a, b)
說明:
輸入列表對(duì)象病毡,被判斷的數(shù)據(jù),輸入賦值變量屁柏。賦值數(shù)據(jù):true 或 false
【gslistiof 列表數(shù)據(jù)從頭開始檢查是否包含該數(shù)據(jù)】
用法:
local b = "數(shù)據(jù)"
local c = i:gslistiof(a, b)
說明:
輸入列表對(duì)象啦膜,被判斷的數(shù)據(jù),輸入賦值變量
【gslistlof 列表數(shù)據(jù)從尾開始檢查是否包含該數(shù)據(jù)】
用法:
local b = "數(shù)據(jù)"
local c = i:gslistlof(a, b)
說明:
輸入列表對(duì)象淌喻,被判斷的數(shù)據(jù)僧家,輸入賦值變量
【nuibs 背景選擇器】
用法:
--使用顏色作為背景
local pressed = "#333333"
local selected = "#333333"
local normal = "#888888"
local b = i:nuibs(pressed, selected, normal)
--使用圖像作為背景
local pressed = "%a.png"
local selected = "%a.png"
local normal = "%b.png"
local b = i:nuibs(pressed, selected, normal)
--使用漸變顏色作為背景
.配置選中狀態(tài)背景
local a = 0
local b = 0
local c = "#255779|#3e7492|#a6c0cd"
local d = "0"
local e = "topbottom"
local pressed = i:ngde(a, b, c, d, e)
.配置正常狀態(tài)背景
local a = 0
local b = 0
local c = "#255779|#3e7492|#a6c0cd"
local d = "0"
local e = "rightleft"
local normal = i:ngde(a, b, c, d, e)
local selected = pressed
local b = i:nuibs(pressed, selected, normal)
說明:
輸入按下背景,輸入選中背景裸删,輸入正常狀態(tài)背景八拱,輸入賦值變量。
【ngde 背景調(diào)控器】
用法:
--輸入圓角半徑,輸入背景填充色肌稻,輸入賦值變量
local a = 15
local b = "#888888"
local c = i:ngde(a, b)
--輸入邊框?qū)挾惹迨矗斎氡尘疤畛渖斎脒吙蝾伾罚斎胭x值變量
local a = 5
local b = "#888888"
local c = "#333333"
local d = ngde(a, b, c)
--輸入邊框?qū)挾燃闲埃斎雸A角半徑,輸入背景填充色诺凡,輸入邊框顏色东揣,輸入賦值變量
local a = 5
local b = 15
local c = "#888888"
local d = "#333333"
local e = i:ngde(a, b, c, d)
--顏色漸變。輸入邊框?qū)挾雀姑冢斎雸A角半徑嘶卧,輸入背景填充漸變色組,輸入邊框顏色真屯,輸入顏色漸變方向脸候,輸入賦值變量
local a = 5
local b = 15
local c = "#255779|#3e7492|#a6c0cd"
local d = "#333333"
local e = "topbottom"
local f = i:ngde(a, b, c, d, e)
說明:
背景空調(diào)生成的賦值變量,可配合背景選擇器進(jìn)行應(yīng)用绑蔫。
注意:
ngde 代碼將賦值返回一個(gè)背景對(duì)象运沦,此背景對(duì)象如果被多個(gè)不同大小的控件引用為背景。因?yàn)榭丶拇笮〔煌渖睿瑫?huì)導(dǎo)致此背景對(duì)象大小被修改携添。從而影響其他引用者控件。
提示:
邊框與圓角半徑 若不想調(diào)整篓叶,可設(shè)值為0 烈掠。適用于顏色漸變,不需要調(diào)節(jié)圓角半徑和邊框缸托。
顏色漸變方向說明:
topbottom:繪制從頂部梯度至底部
trbl:借鑒右上角漸變左下角
rightleft:繪制從右側(cè)的梯度向左
brtl:借鑒右下角漸變左上角
bottomtop:繪制從底部梯度頂端
bltr:借鑒漸變左下角到右上角
leftright:繪制從左側(cè)的梯度向右
TL_BR:從繪制漸變的左上角到右下角
【sit 目標(biāo)的設(shè)置】
用法:
--如左敌,分享軟件
--輸入對(duì)象,輸入屬性標(biāo)識(shí)俐镐,輸入屬性值
local a
a = i:sit(a, "action", "android.intent.action.SEND")
a = i:sit(a, "type", "text/plain")
a = i:sit(a, "extra", "android.intent.extra.SUBJECT", "共享軟件")
a = i:sit(a, "extra", "android.intent.extra.TEXT", "共享內(nèi)容文本")
a = i:sit(a, "flags", 268435456)
i:uit(a, "chooser", "標(biāo)題")
說明:
常用于調(diào)用系統(tǒng)程序以及功能 或 第三方程序功能矫限。
可屬性標(biāo)識(shí):action、type佩抹、extra叼风、flags、data棍苹、classname无宿、component
【uit 目標(biāo)的執(zhí)行】
用法:
--輸入目標(biāo)對(duì)象,輸入屬性枢里,輸入屬性值
i:uit(a, "chooser", "標(biāo)題")
--輸入目標(biāo)對(duì)象孽鸡,輸入屬性蹂午,輸入請(qǐng)求數(shù)值
i:uit(a, "result", 1)
--輸入目標(biāo)對(duì)象
i:uit(a)
說明:
常用于調(diào)用系統(tǒng)程序以及功能 或 第三方程序功能。
屬性支持:chooser彬碱、result
【git 目標(biāo)獲取參數(shù)】
用法:
--輸入目標(biāo)對(duì)象画侣,輸入屬性標(biāo)識(shí)
local c = i:git(a, "action")
local c = i:git(a, "type")
local c = i:git(a, "extra", "title")
local c = i:git(a, "flags")
說明:
獲取目標(biāo)的屬性。
【uqr 二維碼掃描】
用法:
--掃描二維碼
i:uqr()
--掃描結(jié)果堡妒,需要在 回調(diào)結(jié)果事件 寫代碼
if st_sC == 1102 then
local c = i:git(st_iT, "extra", "result")
syso(c)
end
--生成二維碼圖像
s a = "http://wap.baidu.com"
--輸入字符串?dāng)?shù)據(jù),輸入圖像長寬像素溉卓;將返回一個(gè)圖像變量
local c = i:uqr(a, 400)
--識(shí)別二維碼圖像
--輸入圖像變量或圖片路徑皮迟;將返回一個(gè)字符串
local c = i:uqr(a)
說明:
常用于網(wǎng)絡(luò)通用二維碼掃描。
【zdp dip轉(zhuǎn)換px】
用法:
local dp = 10
--輸入dp數(shù)值
local c = i:zdp(dp)
說明:
用于常用數(shù)據(jù)轉(zhuǎn)換桑寨。
【zpd px轉(zhuǎn)換dip】
用法:
local px = 10
--輸入px數(shù)值伏尼,輸入賦值變量
local c = i:zpd(px)
說明:
用于常用數(shù)據(jù)轉(zhuǎn)換。
【zps px轉(zhuǎn)換sp】
用法:
local px = 10
--輸入px數(shù)值尉尾,輸入賦值變量
local c = i:zps(px)
說明:
用于常用數(shù)據(jù)轉(zhuǎn)換爆阶。
【zsp sp轉(zhuǎn)換px】
用法:
local sp = 10
--輸入sp數(shù)值,輸入賦值變量
local c = i:zsp(sp)
說明:
用于常用數(shù)據(jù)轉(zhuǎn)換沙咏。
【lan 跳轉(zhuǎn)界面動(dòng)畫】
用法:
i:uigo("abc.ilua")
--輸入跳轉(zhuǎn)界面動(dòng)畫的序號(hào)辨图;6 右往左推出效果
i:lan(6)
說明:
用于跳轉(zhuǎn)界面時(shí)候進(jìn)行的動(dòng)畫效果
提示:
0.淡入淡出效果 1.放大淡出效果 2.轉(zhuǎn)動(dòng)淡出效果1 3.轉(zhuǎn)動(dòng)淡出效果2 4.左上角展開淡出效果 5.壓縮變小淡出效果 6.右往左推出效果 7.下往上推出效果 8.左右交錯(cuò)效果 9.放大淡出效果 10.縮小效果 11.上下交錯(cuò)效果
【sjxx 獲取設(shè)備信息】
用法:
local a = i:sjxx()
syso(a[0])
說明:
獲取手機(jī)基本信息,將返回一個(gè)數(shù)組到賦值變量“a”肢藐,數(shù)組格式如下:
數(shù)據(jù)格式:(真實(shí)數(shù)據(jù) \n 旁邊將不沒有空格)
CPU型號(hào) \n CPU頻率
屏幕寬度 \n 屏幕高度 \n 分辨率寬度 \n 分辨率高度
手機(jī)型號(hào) \n 手機(jī)品牌 \n 手機(jī)SDK
【simsi 獲取設(shè)備imsi】
用法:
local a = i:simsi()
syso(a)
說明:
常用于識(shí)別用戶的手段故河。
【simei 獲取設(shè)備imei】
用法:
local a = i:simei()
syso(a)
說明:
常用于識(shí)別用戶的手段。
【endkeyboard 強(qiáng)制隱藏虛擬鍵盤】
用法:
i:endkeyboard()
說明:
常用于需要隱藏安卓彈出的虛擬鍵盤吆豹。
【hdfl 文件下載器】
用法:
--兩個(gè)參數(shù)的方法設(shè)置
local savedir = "%SaveDir"
--輸入下載保存目錄鱼的,輸入賦值變量返回一個(gè)下載器對(duì)象
a = i:hdfl(savedir,
function(st_drD,st_drI)
--每當(dāng)下載完一個(gè)執(zhí)行
--系統(tǒng)賦值 st_drD 文件下載項(xiàng)的序號(hào)
--系統(tǒng)賦值 st_drI 文件下載項(xiàng)的狀態(tài)
--獲取下載的URL
local b1 = i:ulag(a, st_drD, "url")
syso(b1)
--獲取自定義整數(shù)標(biāo)識(shí)
local b2 = i:ulag(a, st_drD, "type")
syso(b2)
--獲取自定義參數(shù)任意數(shù)據(jù)
local b3 = i:ulag(a, st_drD, "text")
syso(b3)
--獲取下載文件保存的路徑
local b4 = i:ulag(a, st_drD, "filename")
syso(b4)
end
,
function(st_drJ)
--當(dāng)下載完目前所有執(zhí)行
--系統(tǒng)賦值 st_drJ 本次文件下載完成總數(shù)
syso(st_drJ)
end
)
--三個(gè)參數(shù)的方法設(shè)置
local tempdir = "%TempDir"
local savedir = "%SaveDir"
--輸入下載臨時(shí)文件保存目錄,輸入下載保存目錄痘煤,輸入賦值變量返回一個(gè)下載器對(duì)象
local a = i:hdfl(tempdir, savedir,
function(st_drD,st_drI)
syso(st_drD)
end
,
function(st_drJ)
syso(st_drJ)
end
)
--六個(gè)參數(shù)的方法設(shè)置
local tempdir = "%TempDir"
local savedir = "%SaveDir"
--輸入下載臨時(shí)文件保存目錄凑阶,輸入下載保存目錄, 下載線程數(shù)量,連接網(wǎng)絡(luò)超時(shí)時(shí)間(25秒的意思)衷快,文件重復(fù)是否覆蓋宙橱,輸入賦值變量返回一個(gè)下載器對(duì)象
local a = i:hdfl(tempdir, savedir, 3, 25000, true,
function(st_drD,st_drI)
syso(st_drD)
end
,
function(st_drJ)
syso(st_drJ)
end
)
說明:
常用與單個(gè)或多個(gè)的文件下載。推薦圖片列表下載或小文件下載烦磁。
提示:
代碼 區(qū)域中 屬于線程內(nèi)執(zhí)行养匈。在其中更新界面控件屬性需要使用ufnsui代碼
上例子使用tw代碼,并且用了ufnsui代碼都伪。
【hdfla 文件下載器 增加文件下載項(xiàng)】
用法:
--創(chuàng)建一個(gè)文件下載器
local a = i:hdfl("%TempDir",
function()
syso(st_drD)
end
,
function()
syso(st_drJ)
end
)
--增加下載項(xiàng)
--輸入下載器對(duì)象呕乎,輸入下載連接URL,輸入自定義整數(shù)標(biāo)識(shí)陨晶,輸入自定義參數(shù)任意數(shù)據(jù)
i:hdfla(a, "http://abc.com/1.jpg", 1, "abcd123")
--增加下載項(xiàng)猬仁,并且自定義保存目錄
--輸入下載器對(duì)象帝璧,輸入下載連接URL,輸入自定義整數(shù)標(biāo)識(shí)湿刽,輸入自定義參數(shù)任意數(shù)據(jù)的烁,輸入自定義保存路徑
i:hdfla(a, "http://abc.com/2.jpg", 1, "abcd123", "%abc.jpg")
說明:
調(diào)用下載器增加下載項(xiàng),并且立刻進(jìn)行下載诈闺。
【hdd 配置下載管理器】
用法:
--下載產(chǎn)生的臨時(shí)文件目錄
local a = "%tempdir"
--下載至保存的目錄
local b = "%filedir"
--允許同時(shí)下載任務(wù)數(shù)量
local c = 3
--每個(gè)任務(wù)開啟線程數(shù)量
local d = 3
--連接失敗重試次數(shù)
local e = 2
--連接超時(shí)時(shí)間渴庆,25秒的意思
local f = 25000
--是否顯示下載進(jìn)度通知
local g = true
i:hdd(a, b, c, d, e, f, g)
說明:
如果不使用此代碼進(jìn)行配置,那么系統(tǒng)將使用默認(rèn)配置雅镊。下載配置器可以很方便的制作下載文件襟雷,并且方便管理。
默認(rèn)目錄屬性:
臨時(shí)文件目錄:iApp/DownloadFileDir/TempDefaultDownFile
保存文件目錄:iApp/DownloadFileDir/DefaultDownFile
【hdda 下載管理器 增加文件下載項(xiàng)】
用法:
--===========方法一
--下載的鏈接
local url = "http://abc.com/abc.apk"
--保存的文件名(僅輸入文件名,請(qǐng)勿不包含目錄)
local name = "abc.apk"
--輸入自定義參數(shù)任意數(shù)據(jù)
local data = "abcde123"
--變量v為賦值變量仁烹,為下載對(duì)象
local v = i:hdda(url, name, data)
--===========方法二
--下載的鏈接
local url = "http://abc.com/abc.apk"
--保存的文件名(僅輸入文件名,請(qǐng)勿不包含目錄)
local name = "abc.apk"
--下載任務(wù)的標(biāo)題
local title = "abc.apk最新版"
--輸入自定義參數(shù)任意數(shù)據(jù)
local data = "abcde123"
--變量v為賦值變量耸弄,為下載對(duì)象
local v = i:hdda(url, name, title, data)
--===========方法三
--下載的鏈接
local url = "http://abc.com/abc.apk"
--保存的文件名(僅輸入文件名,請(qǐng)勿不包含目錄)
local name = "abc.apk"
--下載任務(wù)的標(biāo)題
local title = "abc.apk最新版"
--下載任務(wù)的圖標(biāo)
local icon = "@abc.png"
--輸入自定義參數(shù)任意數(shù)據(jù)
local data = "abcde123"
--變量v為賦值變量,為下載對(duì)象
local v = i:hdda(url, name, title, icon, data)
--===========方法四
--下載的鏈接
local url = "http://abc.com/abc.apk"
--保存至目錄
local dir = "%filedir"
--保存的文件名(僅輸入文件名,請(qǐng)勿不包含目錄)
local name = "abc.apk"
--下載任務(wù)的標(biāo)題
local title = "abc.apk最新版"
--下載任務(wù)的圖標(biāo)
local icon = "@abc.png"
--是否顯示下載進(jìn)度通知
local notsohw = true
--輸入自定義參數(shù)任意數(shù)據(jù)
local data = "abcde123"
--變量v為賦值變量卓缰,為下載對(duì)象
local v = i:hdda(url, dir, name, title, icon, notsohw, data)
說明:
增加常用的網(wǎng)絡(luò)文件進(jìn)行下載口渔。
【hddgl 獲取下載管理器下載列表】
用法:
--輸入賦值變量返回下載列表
local list = i:hddgl()
--獲取第一位數(shù)據(jù)
local b = i:gslist(list, 0)
local c = i:hddg(b, "url")
syso(c)
說明:
獲取下載管理器所有的下載列表玉工。
【hddg 獲取下載管理器獲取下載項(xiàng)屬性】
用法:
--下載的鏈接
local url = "http://abc.com/abc.apk"
--保存的文件名(僅輸入文件名,請(qǐng)勿不包含目錄)
local name = "abc.apk"
--輸入自定義參數(shù)任意數(shù)據(jù)
local data = "abcde123"
--變量v為賦值變量,為下載對(duì)象
local v = i:hdda(url, name, data)
--===========獲取下載項(xiàng)的屬性
--獲取下載項(xiàng)的 ID
local b = i:hddg(v, "id")
--獲取下載項(xiàng)的 下載鏈接
local b = i:hddg(v, "url")
--獲取下載項(xiàng)的 保存的絕對(duì)路徑
local b = i:hddg(v, "dirfilename")
--獲取下載項(xiàng)的 下載鏈接的md5
local b = i:hddg(v, "urlmd5")
--獲取下載項(xiàng)的 保存的目錄
local b = i:hddg(v, "dir")
--獲取下載項(xiàng)的 保存的文件名
local b = i:hddg(v, "filename")
--獲取下載項(xiàng)的 下載文件的大小(字節(jié))
local b = i:hddg(v, "contentlength")
--獲取下載項(xiàng)的 已下載的數(shù)據(jù)(字節(jié))
local b = i:hddg(v, "equivalent")
--獲取下載項(xiàng)的 當(dāng)前下載速度(字節(jié))
local b = i:hddg(v, "downloadspeed")
--獲取下載項(xiàng)的 當(dāng)前下載進(jìn)度百分比
local b = i:hddg(v, "downloadpercentage")
--獲取下載項(xiàng)的 下載狀態(tài)知举;(0為等待下載熬丧;1為正在下載孕讳;2為下載完成奇徒;3下載已經(jīng)暫停或停止偿乖;-1下載失敾髯铩;-2已刪除)
local b = i:hddg(v, "status")
--獲取下載項(xiàng)的 是否顯示下載通知
local b = i:hddg(v, "notificationshow")
--獲取下載項(xiàng)的 自定義的數(shù)據(jù)
local b = i:hddg(v, "text")
--獲取下載項(xiàng)的 通知標(biāo)題
local b = i:hddg(v, "title")
--獲取下載項(xiàng)的 通知圖標(biāo)
local b = i:hddg(v, "icon")
說明:
可獲取詳細(xì)的下載項(xiàng)目狀態(tài)屬性贪薪。
【hdds 設(shè)置下載管理器下載項(xiàng)的屬性】
用法:
--下載的鏈接
local url = "http://abc.com/abc.apk"
--保存的文件名(僅輸入文件名,請(qǐng)勿不包含目錄)
local name = "abc.apk"
--輸入自定義參數(shù)任意數(shù)據(jù)
local data = "abcde123"
--變量v為賦值變量媳禁,為下載對(duì)象
local v = i:hdda(url, name, data)
--===========可設(shè)置的下載項(xiàng)屬性
--設(shè)置下載項(xiàng)的 下載狀態(tài);(0為等待下載画切;1為正在下載竣稽;2為下載完成;3下載已經(jīng)暫突舻或停止毫别;-1下載失敗典格;-2已刪除)
i:hdds(v, "status", 0)
--設(shè)置下載項(xiàng)的 是否顯示下載通知
i:hdds(v, "notificationshow", true)
--設(shè)置下載項(xiàng)的 自定義的數(shù)據(jù)
i:hdds(v, "text", "abcd123")
--設(shè)置下載項(xiàng)的 通知標(biāo)題
i:hdds(v, "title", "abc.apk最新版本")
--設(shè)置下載項(xiàng)的 通知圖標(biāo)
i:hdds(v, "icon", "@abc.png")
說明:
設(shè)置下載項(xiàng)目的屬性岛宦。
【hdduigo 跳轉(zhuǎn)至下載管理器】
用法:
--跳轉(zhuǎn)至下載管理器
i:hdduigo()
--跳轉(zhuǎn)至下載管理器,并且自定義標(biāo)題欄顏色
--主體顏色
local a = "#387bd6"
--底部橫杠顏色
local b = "#255eab"
i:hdduigo(a, b)
說明:
跳轉(zhuǎn)至文件下載的管理器耍缴。
【ufnsui 線程更新界面】
用法:
i:ufnsui(
function()
tw(a)
us(1, "text", "內(nèi)容")
end
)
說明:
線程中直接修改界面或修改設(shè)置控件屬性砾肺,出錯(cuò)挽霉。
需要使用ufnsui模塊進(jìn)行更新或設(shè)置控件屬性。
提示:
線程中獲取控件數(shù)據(jù)不會(huì)出錯(cuò)变汪。
【se 正則表達(dá)式操作】
用法:
--===========例子1侠坎;所有屬性展示
--字符串
local a = "qqqq123456eee"
--正則表達(dá)式
local b = "([a-z]+)(\d+)"
--更多參數(shù)
local c = 0
local d = i:se(a, b, c)
syso(d)
--替換成,將替換全部
local e = i:se(d, "sral", "1:$1, 2:$2")
syso(e)
--替換成裙盾,只替換第一個(gè)
local e = i:se(d, "srft", "1:$1, 2:$2")
syso(e)
--返回是否匹配成功实胸,賦值返回true或 false
.local e = i:se(d, "ms")
--開始匹配 或 匹配下一個(gè),賦值返回true或 false
.local e = i:se(d, "find")
--給定位置序號(hào)進(jìn)行匹配番官,賦值返回true或 false
.local e = i:se(d, "find", 1)
--獲取匹配組的數(shù)量童芹,當(dāng)前為2組:([a-z]+)、(\d+)
.local e = i:se(d, "gl")
--獲取第1組匹配到的子字符串在字符串中的開頭位置
.local e = i:se(d, "start", 1)
--獲取第1組匹配到的子字符串在字符串中的結(jié)尾位置
.local e = i:se(d, "end", 1)
--獲取第1組匹配到的子字符串
.local e = i:se(d, "group", 1)
--獲取第2組匹配到的子字符串
.local e = i:se(d, "group", 2)
--===========例子2鲤拿;獲取所有手機(jī)號(hào)
--字符串
local a = "我的號(hào)碼 13612345678 , 你的號(hào)碼 13412345678"
--正則表達(dá)式
local b = "[1][3-8]\d{9}"
--更多參數(shù)
local c = 0
local d = i:se(a, b, c)
--開始匹配 或 匹配下一個(gè)
local ee = i:se(d, "find")
--循環(huán)判斷是否匹配成功
while ee do
--因?yàn)?[1][3-8]\d{9} 沒有組,所以這里我們輸入 0
local e = i:se(d, "group", 0)
--打印出匹配到的子字符串
syso(e)
--開始匹配 或 匹配下一個(gè)
ee = i:se(d, "find")
end
--===========例子3署咽;判斷是否為手機(jī)號(hào)
--字符串
local a = "13612345678"
--正則表達(dá)式
local b = "^[1][3-8]\d{9}$"
--更多參數(shù)
local c = 0
local d = i:se(a, b, c)
local e = i:se(d, "ms")
if e == true then
syso("手機(jī)號(hào)格式正確")
else
syso("手機(jī)號(hào)格式錯(cuò)誤")
end
說明:
常用與字符串處理近顷,高效的處理字符串,以及檢測字符串類型等宁否。使用此方法窒升,需要對(duì)正則表達(dá)式有部分知識(shí)。
【usg 閃光燈操作】
用法:
--開啟閃光燈
--輸入閃光燈變量對(duì)象慕匠,輸入是否開啟閃光燈
local sgd
sgd = i:usg(sgd, true)
--關(guān)閉閃光燈
--輸入閃光燈變量對(duì)象饱须,輸入是否開啟閃光燈
sgd = i:usg(sgd, false)
說明:
開啟或關(guān)閉 設(shè)備閃光燈!
說明:
常用照明台谊。
注意:
此方法調(diào)用將無法與攝像頭同時(shí)調(diào)用蓉媳。如啟動(dòng)攝像頭需要使用閃光燈,可在攝像頭操作中開啟閃光燈锅铅。
【uzd 震動(dòng)器操作】
用法:
--震動(dòng)1秒時(shí)長
--輸入振動(dòng)器變量對(duì)象酪呻,輸入震動(dòng)時(shí)長
local zdq
zdq = i:uzd(zdq, 1000)
--靜止1秒,震動(dòng)1秒盐须,靜止1秒玩荠,震動(dòng)1秒,靜止1秒贼邓,震動(dòng)1秒阶冈,靜止1秒,..塑径, 并且不重復(fù)
--輸入振動(dòng)器變量對(duì)象女坑,輸入震動(dòng)規(guī)則,輸入是否重復(fù)循環(huán)執(zhí)行
zdq = i:uzd(zdq, { 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000 }, false)
--強(qiáng)制停止震動(dòng)器
i:uzd(zdq, "sp")
--檢查硬件是否具有振動(dòng)器
local b = i:uzd(zdq, "ip")
syso(b)
說明:
常用提示用戶统舀。
【usxq 開啟前置攝像頭】
用法:
local ps
--開啟攝像頭
--輸入攝像頭變量對(duì)象堂飞,輸入面控件的對(duì)象或ID灌旧,攝像頭旋轉(zhuǎn)角度
ps = i:usxq(ps, 1, 90)
--輸入攝像頭變量對(duì)象,輸入面控件的對(duì)象或ID绰筛,攝像頭旋轉(zhuǎn)角度枢泰,輸入拍攝寬度像素,輸入拍攝高度像素铝噩,輸入圖像品質(zhì)1-100
ps = i:usxq(ps, 1, 90, 640, 480, 95)
--自動(dòng)對(duì)焦拍攝
--輸入攝像頭變量對(duì)象衡蚂,輸入保存路徑,輸入圖像旋轉(zhuǎn)角度骏庸,輸入拍攝是否停止預(yù)覽
ps = i:usx(ps, "shot", "%abc.jpg", -90, false)
說明:
指定打開前置攝像頭毛甲。
注意:
此功能需要與一個(gè)面控件進(jìn)行綁定,你可以在面控件上面設(shè)置拍攝事件具被。
注意:
此代碼僅限于載入事件調(diào)用玻募。
【usxh 開啟后置攝像頭】
用法:
local ps
--開啟攝像頭
--輸入攝像頭變量對(duì)象,輸入面控件的對(duì)象或ID一姿,攝像頭旋轉(zhuǎn)角度
ps = i:usxh(ps, 1, 90)
--輸入攝像頭變量對(duì)象七咧,輸入面控件的對(duì)象或ID,攝像頭旋轉(zhuǎn)角度叮叹,輸入拍攝寬度像素艾栋,輸入拍攝高度像素,輸入圖像品質(zhì)1-100
ps = i:usxh(ps, 1, 90, 1280, 960, 95)
--自動(dòng)對(duì)焦拍攝
--輸入攝像頭變量對(duì)象蛉顽,輸入保存路徑蝗砾,輸入圖像旋轉(zhuǎn)角度,輸入拍攝是否停止預(yù)覽
ps = i:usx(ps, "shot", "%abc.jpg", 90, false)
說明:
指定打開后置攝像頭携冤。
注意:
此功能需要與一個(gè)面控件進(jìn)行綁定悼粮,你可以在面控件上面設(shè)置拍攝事件。
注意:
此代碼僅限于載入事件調(diào)用曾棕。
【usx 攝像頭操作】
用法:
--開啟攝像頭
i:usxh(ps, 1, 90)
--自動(dòng)對(duì)焦拍攝
--輸入攝像頭變量對(duì)象矮锈,輸入保存路徑,輸入圖像旋轉(zhuǎn)角度睁蕾,輸入拍攝是否停止預(yù)覽
i:usx(ps, "shot", "%abc.jpg", 90, false)
--開始預(yù)覽
i:usx(ps, "st")
--停止預(yù)覽
i:usx(ps, "sp")
--旋轉(zhuǎn)攝像頭角度
i:usx(ps, "rotaing", 180)
--獲取旋轉(zhuǎn)攝像頭角度
local b = i:usx(ps, "getrotaing")
syso(b)
--啟動(dòng)攝像頭閃光燈
i:usx(ps, "usg", true)
--結(jié)束攝像頭組件變量對(duì)象
i:usx(ps, "re")
說明:
攝像頭的控制苞笨。
【bly 錄制音頻】
用法:
local ly
--開始錄制
--輸入錄音變量對(duì)象,輸入保存文件路徑
i:bly(ly, "%abcd.amr")
--停止錄音
i:bly(ly, "sp")
說明:
常用于錄制音頻子眶。
說明:
可使用 bfm 代碼來播放錄制好的音頻瀑凝。
【ujp 截取屏幕】
用法:
--輸入保存路徑,輸入圖像品質(zhì)(1-100)
i:ujp("%123.jpg", 70)
說明:
常用于截取當(dāng)前界面臭杰。
【sqlite 數(shù)據(jù)庫操作】
用法:
local data
--連接一個(gè)私有數(shù)據(jù)庫粤咪,如果不存在將自動(dòng)新建
--輸入數(shù)據(jù)庫對(duì)象變量,輸入數(shù)據(jù)庫文件名
i:sqlite(data, "iapp.db")
--連接一個(gè)公共數(shù)據(jù)庫渴杆,如果不存在將自動(dòng)新建
--輸入數(shù)據(jù)庫對(duì)象變量寥枝,輸入數(shù)據(jù)庫文件名
i:sqlite(data, "%iapp.db")
--判斷數(shù)據(jù)庫是否存在
local b = i:sqlite("iapp.db", "ip")
syso(b)
--刪除數(shù)據(jù)庫
local b = i:sqlite("iapp.db", "del")
syso(b)
--釋放數(shù)據(jù)庫
i:sqlite(data, "re")
說明:
進(jìn)行數(shù)據(jù)庫的操作宪塔。
【sql 數(shù)據(jù)表操作】
用法:
--創(chuàng)建數(shù)據(jù)表
local table = "_id integer primary key,url text, filename text,status interger,createTime datetime"
local b = i:sql(data, "info", "add", table)
--判斷數(shù)據(jù)表是否存在
local b = i:sql(data, "info", "ip")
syso(b)
--刪除數(shù)據(jù)表
local b = i:sql(data, "info", "del")
syso(b)
--添加數(shù)據(jù)表一條數(shù)據(jù)
local table = "url,filename,status,createTime"
local value = "'http://abc.com/abc.apk', 'abc.apk', 1, '" .. i:time(0) .. "'"
local b = i:sql(data, "info", "add", table, value)
syso(b)
--修改數(shù)據(jù)表的數(shù)據(jù),若不需要設(shè)置條件(status=2)可設(shè)為 nil 視為適用于執(zhí)行所以數(shù)據(jù)
local b = i:sql(sss.data, "info", "up", "status=2", "_id=1")
syso(b)
--刪除數(shù)據(jù)表的數(shù)據(jù)囊拜,若不需要設(shè)置條件(_id=1)可設(shè)為 nil 視為適用于執(zhí)行所以數(shù)據(jù)
local b = i:sql(sss.data, "info", "del", "_id=1")
syso(b)
--查詢某筐,若不需要設(shè)置條件(status=1 order by _id desc LIMIT 0,1)可設(shè)為 nil 視為適用于執(zhí)行所以數(shù)據(jù)
-- LIMIT <跳過的數(shù)據(jù)數(shù)目>, <取數(shù)據(jù)數(shù)目>
local table = "_id,url,filename,status,createTime"
local sqlx = "status=1 order by _id desc LIMIT 0,1"
local da = i:sql(sss.data, "info", "sele", table, sqlx)
--自定義sql查詢
--local sqlx = "select _id,url,filename,status,createTime from info where status=1 order by _id desc LIMIT 0,1"
--local da = i:sql(data, sqlx)
--光標(biāo)對(duì)象移到下一條數(shù)據(jù)
local ee = i:sqlsele(da, "next")
while ee do
--獲取光標(biāo)對(duì)象的第一列數(shù)據(jù)
local e = i:sqlsele(data, 0)
syso(e)
--獲取光標(biāo)對(duì)象的第二列數(shù)據(jù)
local e = i:sqlsele(data, 1)
syso(e)
--光標(biāo)對(duì)象移到下一條數(shù)據(jù)
ee = i:sqlsele(data, "next")
end
--自定義的sql執(zhí)行,需要對(duì)sql語法了解才能靈活運(yùn)用
local sqlx = "insert into info (url,filename,status,createTime) values ('http://abc.com/abc.apk', 'abc.apk', 1, '2016-7-31 10:31:21')"
i:sql(sqlx, data)
說明:
數(shù)據(jù)表的操作冠跷。
注意:
在執(zhí)行sql語句的時(shí)候南誊,需要注意你的字符串的特殊字符的轉(zhuǎn)義。
/ -> //
' -> ''
[ -> /[
] -> /]
% -> /%
& -> /&
_ -> /_
( -> /(
) -> /)
【sqlsele 查詢數(shù)據(jù)操作】
用法:
--獲取光標(biāo)對(duì)象的第一列數(shù)據(jù)
local e = i:sqlsele(data, 0)
--獲取光標(biāo)對(duì)象有多少列
local e = i:sqlsele(data, "columncount")
syso(e)
--獲取總共查詢到多少條數(shù)據(jù)
local e = i:sqlsele(data, "count")
syso(e)
--光標(biāo)對(duì)象移到下一條數(shù)據(jù)
local e = i:sqlsele(data, "next")
--光標(biāo)對(duì)象移到上一條數(shù)據(jù)
local e = i:sqlsele(data, "previous")
--光標(biāo)對(duì)象移到第一條數(shù)據(jù)
local e = i:sqlsele(data, "first")
--光標(biāo)對(duì)象移到最后第一條數(shù)據(jù)
local e = i:sqlsele(data, "last")
--光標(biāo)對(duì)象移到指定第2條數(shù)據(jù)
i:sqlsele(data, "position", 2)
--獲取光標(biāo)對(duì)象當(dāng)前位置
local e = i:sqlsele(data, "getposition")
syso(e)
--釋放數(shù)據(jù)查詢
i:sqlite(data, "re")
說明:
數(shù)據(jù)查詢的操作蜜托。
【dha 漸變透明度動(dòng)畫】
用法:
--創(chuàng)建一個(gè)漸變透明度動(dòng)畫抄囚,開始顯示,然后漸變消失
--輸入動(dòng)畫開始是否透明橄务,輸入動(dòng)畫結(jié)束是否透明
local dh = i:dha(true, false)
i:dh(dh, "duration", 2000)
i:us(2, "dh", dh)
說明:
常用于控件透明度動(dòng)畫幔托。
【dhs 漸變尺寸伸縮動(dòng)畫】
用法:
--創(chuàng)建一個(gè)漸變尺寸伸縮動(dòng)畫
--0為沒有,2.5為原始2.5倍
--輸入X開始尺寸比例蜂挪,輸入X結(jié)束尺寸比例重挑,輸入Y開始尺寸比例,輸入Y結(jié)束尺寸比例
local dh = i:dhs(0.5, 2.5, 0.5, 2.5)
i:dh(dh, "duration", 2000)
i:us(2, "dh", dh)
--輸入X開始尺寸比例锅劝,輸入X結(jié)束尺寸比例,輸入Y開始尺寸比例蟆湖,輸入Y結(jié)束尺寸比例故爵,輸入X位置類型,輸入X坐標(biāo)的開始位置隅津,輸入Y位置類型诬垂,輸入Y坐標(biāo)的開始位置
local dh = i:dhs(0.5, 2.5, 0.5, 2.5, 1, 0.5, 1, 0.5)
i:dh(dh, "duration", 2000)
i:us(2, "dh", dh)
說明:
常用于控件伸縮動(dòng)畫。
位置類型:
0 默認(rèn)
1 以對(duì)象本身為基準(zhǔn)位置類型
2 以父控件為基準(zhǔn)位置類型
【dht 畫面位置移動(dòng)動(dòng)畫】
用法:
--創(chuàng)建一個(gè)畫面位置移動(dòng)動(dòng)畫
--輸入開始X坐標(biāo)上的移動(dòng)位置伦仍,結(jié)束X坐標(biāo)上的移動(dòng)位置结窘,開始Y坐標(biāo)上的移動(dòng)位置,結(jié)束Y坐標(biāo)上的移動(dòng)位置
local dh = i:dht(30, 80, 30, 80)
i:dh(dh, "duration", 2000)
i:us(2, "dh", dh)
說明:
常用于控件移動(dòng)動(dòng)畫充蓝。
【dhr 畫面旋轉(zhuǎn)動(dòng)畫】
用法:
--創(chuàng)建一個(gè)畫面旋轉(zhuǎn)動(dòng)畫
--輸入動(dòng)畫開始的旋轉(zhuǎn)角度隧枫,輸入動(dòng)畫旋轉(zhuǎn)到的角度
local dh = i:dhr(0, 180)
i:dh(dh, "duration", 2000)
i:us(2, "dh", dh)
--輸入動(dòng)畫開始的旋轉(zhuǎn)角度,輸入動(dòng)畫旋轉(zhuǎn)到的角度谓苟,輸入X位置類型官脓,輸入X坐標(biāo)的開始位置,輸入Y位置類型涝焙,輸入Y坐標(biāo)的開始位置
local dh = i:dhr(0, 180, 1, 0.5, 1, 0.5)
i:dh(dh, "duration", 2000)
i:us(2, "dh", dh)
說明:
常用于控件旋轉(zhuǎn)動(dòng)畫卑笨。
位置類型:
0 默認(rèn)
1 以對(duì)象本身為基準(zhǔn)位置類型
2 以父控件為基準(zhǔn)位置類型
【dhset 動(dòng)畫集合】
用法:
--漸變尺寸伸縮動(dòng)畫
local dh1 = i:dhs(0.5, 2.5, 0.5, 2.5)
i:dh(dh1, "duration", 2000)
--畫面位置移動(dòng)動(dòng)畫
local dh2 = i:dht(30, 80, 30, 80)
i:dh(dh2, "duration", 2000)
--畫面旋轉(zhuǎn)動(dòng)畫
local dh3 = i:dhr(0, 180)
i:dh(dh3, "duration", 2000)
--創(chuàng)建一個(gè)動(dòng)畫集合
--輸入動(dòng)畫集合變量對(duì)象,輸入是否使用動(dòng)畫集合的interpolator仑撞,輸入動(dòng)畫...(可輸入N個(gè)參數(shù))
local dhlist = i:dhset(false, {dh1, dh2, dh3, dh4})
i:us(2, "dh", dhlist)
說明:
常用于動(dòng)畫集合執(zhí)行赤兴。
提示:
動(dòng)畫集合允許被其他動(dòng)畫集合添加成為子動(dòng)畫妖滔。
提示:
動(dòng)畫集合如果設(shè)置了動(dòng)畫控制屬性,同時(shí)也會(huì)重置所有子控件的屬性桶良。
【dhas 隊(duì)列動(dòng)畫執(zhí)行】
用法:
--旋轉(zhuǎn)動(dòng)畫
--輸入動(dòng)畫變量對(duì)象座舍,輸入控件ID或控件對(duì)象,輸入動(dòng)畫類型艺普,輸入旋轉(zhuǎn)角度...(可輸入N個(gè)參數(shù))
local dh = i:dhas(2, "rotation", 60, 180)
--local dh = i:dhas(2, "rotationX", 30, 80, 60, 20, 60)
--local dh = i:dhas(2, "rotationY", 30, 80)
i:dh(dh, "duration", 2000)
i:dh(dh, "start")
--伸縮動(dòng)畫
--輸入動(dòng)畫變量對(duì)象簸州,輸入控件ID或控件對(duì)象,輸入動(dòng)畫類型歧譬,輸入伸縮尺寸比例...(可輸入N個(gè)參數(shù))
local dh = i:dhas(2, "scaleX", 1.5, 2.5)
--local dh = i:dhas(2, "scaleY", 1.5, 2.5, 1.2, 2.6, 1.3)
i:dh(dh, "duration", 2000)
i:dh(dh, "start")
--移動(dòng)動(dòng)畫
--輸入動(dòng)畫變量對(duì)象岸浑,輸入控件ID或控件對(duì)象,輸入動(dòng)畫類型瑰步,輸入移動(dòng)到位置...(可輸入N個(gè)參數(shù))
local dh = i:dhas(2, "translationX", 0, 60)
--local dh = i:dhas(2, "translationY", 0, 60, 30, 10, 60)
i:dh(dh, "duration", 2000)
i:dh(dh, "start")
--透明度
--輸入動(dòng)畫變量對(duì)象矢洲,輸入控件ID或控件對(duì)象,輸入動(dòng)畫類型缩焦,可見度比例(0.0至1.0)...(可輸入N個(gè)參數(shù))
local dh = i:dhas(2, "alpha", 1, 0.3, 1, 0.2, 1)
i:dh(dh, "duration", 2000)
i:dh(dh, "start")
說明:
自定義隊(duì)列動(dòng)畫執(zhí)行读虏。
【dhast 隊(duì)列動(dòng)畫集合】
用法:
--旋轉(zhuǎn)動(dòng)畫
local dh1 = i:dhas(2, "rotation", 60, 180)
i:dh(dh1, "duration", 2000)
--伸縮動(dòng)畫
local dh2 = i:dhas(2, "scaleX", 1.5, 2.5)
i:dh(dh2, "duration", 2000)
--移動(dòng)動(dòng)畫
local dh3 = i:dhas(2, "translationX", 0, 60)
i:dh(dh3, "duration", 2000)
--透明度
local dh4 = i:dhas(2, "alpha", 1, 0.3, 1, 0.2, 1)
i:dh(dh4, "duration", 2000)
--順序執(zhí)行
local dhlist = i:dhast("sequen", {dh1, dh2, dh3, dh4})
--同時(shí)執(zhí)行
--local dhlist = i:dhast("together", {dh1, dh2, dh3, dh4})
i:dh(dhlist, "start")
說明:
常用于動(dòng)畫集合執(zhí)行。
提示:
隊(duì)列動(dòng)畫集合允許被其他隊(duì)列動(dòng)畫集合添加成為子動(dòng)畫袁滥。
提示:
動(dòng)畫集合如果設(shè)置了動(dòng)畫控制屬性盖桥,同時(shí)也會(huì)重置所有子控件的屬性。
【dh 動(dòng)畫控制】
用法:
--========動(dòng)畫的屬性(非隊(duì)列動(dòng)畫)設(shè)置========================
--取消動(dòng)畫题翻,取消后若需要重新播放揩徊,需要先執(zhí)行 reset 然后再執(zhí)行 start 進(jìn)行播放
i:dh(dh, "cancel")
--重置動(dòng)畫屬性
i:dh(dh, "reset")
--啟動(dòng)動(dòng)畫
i:dh(dh, "start")
--動(dòng)畫持續(xù)時(shí)長
i:dh(dh, "duration", 2000)
--延遲執(zhí)行,延遲指定時(shí)長后才執(zhí)行動(dòng)畫
i:dh(dh, "delay", 2000)
--啟動(dòng)動(dòng)畫結(jié)束填充效果(如果設(shè)false 那么 after 與 before將無效)
i:dh(dh, "enabled", true)
--動(dòng)畫執(zhí)行后嵌赠,控件停留執(zhí)行結(jié)束狀態(tài)
i:dh(dh, "after", true)
--動(dòng)畫執(zhí)行后塑荒,控件停留執(zhí)行開始狀態(tài)
i:dh(dh, "before", true)
--動(dòng)畫重復(fù)執(zhí)行的次數(shù)
i:dh(dh, "repeat", 20)
local dh2 = i:dhas(2, "rotation", 60, 180)
--動(dòng)畫集合添加動(dòng)畫,僅用于 dhset 動(dòng)畫集合追加更多的動(dòng)畫
i:dh(dh, "add", dh2)
--========隊(duì)列動(dòng)畫的屬性設(shè)置========================
--取消動(dòng)畫
i:dh(dh, "cancel")
--播放動(dòng)畫
i:dh(dh, "start")
--動(dòng)畫持續(xù)時(shí)長
i:dh(dh, "duration", 2000)
--延遲執(zhí)行姜挺,延遲指定時(shí)長后才執(zhí)行動(dòng)畫
i:dh(dh, "delay", 2000)
--動(dòng)畫是否正在運(yùn)行
local b = i:dh(dh, "running")
syso(b)
--設(shè)置動(dòng)畫執(zhí)行的控件ID或控件對(duì)象
i:dh(dh, "target", 2)
--克隆動(dòng)畫
local dh2 = i:dh(dh, "clone")
說明:
常用于動(dòng)畫的控制管理齿税。
【dhon 動(dòng)畫監(jiān)聽事件】
用法:
--========動(dòng)畫(非隊(duì)列動(dòng)畫)設(shè)置監(jiān)聽事件========================
i:dhon(dh,
function()
syso("End")
end
,
nil
,
nil
)
--或
i:dhon(dh,
function()
syso("End")
end
,
function()
syso("Repeat")
end
,
function()
syso("Start")
end
)
--========隊(duì)列動(dòng)畫設(shè)置監(jiān)聽事件========================
i:dhon(dh,
function()
--當(dāng)結(jié)束動(dòng)畫時(shí)
syso("End")
end
,
function()
--當(dāng)重復(fù)動(dòng)畫時(shí)
syso("Repeat")
end
,
function()
--當(dāng)啟動(dòng)動(dòng)畫時(shí)
syso("Start")
end
,
function()
--當(dāng)取消動(dòng)畫時(shí)
syso("Cancel")
end
)
--或
i:dhon(dh,
function()
--當(dāng)結(jié)束動(dòng)畫時(shí)
syso("End")
end
,
nil
,
nil
,
nil
)
說明:
常用于動(dòng)畫狀態(tài)的監(jiān)聽。
提示:
該事件使用的選擇性炊豪,可順序選擇性保留凌箕。
【dhb 動(dòng)畫背景】
用法:
--創(chuàng)建動(dòng)畫背景
--輸入動(dòng)畫背景變量對(duì)象,輸入是否重復(fù)執(zhí)行
local dh = i:dhb(true)
--添加元素
--輸入動(dòng)畫背景變量對(duì)象词渤,輸入背景圖像或圖片變量或背景對(duì)象陌知,輸入顯示時(shí)長
i:dhb(dh, "@t1.png", 1000)
i:dhb(dh, "@t2.png", 1000)
i:dhb(dh, "@t3.png", 1000)
--設(shè)為指定控件背景
i:us(2, "background", dh)
--啟動(dòng)動(dòng)畫
i:dhb(dh, "start")
--停止動(dòng)畫
--i:dhb(dh, "stop")
--是否在運(yùn)行
local b = i:dhb(dh, "running")
syso(b)
說明:
常用于組合一個(gè)背景動(dòng)畫。
【hsas 開啟瀏覽器控件交互(裕語言+js+html5)】
用法:
--開啟瀏覽器控件支持iapp交互
--輸入瀏覽器控件ID或?qū)ο笠蠢撸斎胧欠耖_啟
i:hsas(1, true)
--i:hsas(1, false)
說明:
常用于瀏覽器中的JavaScript代碼于iapp代碼的互相調(diào)用仆葡。
【has 裕語言交互JavaScript語言】
用法:
--首先將 web.html 放入用戶文件中
--設(shè)置瀏覽器控件顯示的html內(nèi)容
local a = "@web.html"
local b = "utf-8"
local c = i:fr(a, b)
local d = "utf-8"
local e = "text/html"
local f = i:us(1, "url", c, d, e)
--因?yàn)闉g覽器加載內(nèi)容屬于異步操作,如果立刻執(zhí)行下面的代碼會(huì)執(zhí)行失敗
--所以將下面的代碼放入某項(xiàng)單擊事件中
local a = "go('呀!')"
--輸入瀏覽器控件ID或?qū)ο笱刂眩斎隞avaScript的方法
i:has(1, a)
--帶返回值解決方案
--local a = "go2('呀把篓!')"
--輸入瀏覽器控件ID或?qū)ο螅斎隞avaScript的方法
--i:has(1, a)
說明:
常用于瀏覽器中的JavaScript代碼于iapp代碼的互相調(diào)用腰涧。
注意:
在載入事件設(shè)置瀏覽器控件的加載html內(nèi)容韧掩,它不會(huì)立刻加載完成。所以如果將 裕語言交互js的代碼也寫在載入事件窖铡,會(huì)導(dǎo)致交互調(diào)用失敗疗锐。必須等待瀏覽器加載完畢html內(nèi)容后,才能交互费彼。
注意:
建議盡量使用JavaScript調(diào)用交互裕語言滑臊,效率較高。裕語言調(diào)用執(zhí)行JavaScript的方法效率要慢數(shù)倍箍铲。
注意:
has 不應(yīng)該放在新線程中雇卷,測試發(fā)現(xiàn)5.1系統(tǒng)has放入新線程中報(bào)錯(cuò)。
注意:
本例子需要注意編碼颠猴,否則將亂碼关划。
html(web.html)文件(utf-8編碼)例子:
<html>
<head>
<script type="text/javascript">
function go(o)
{
document.getElementById("sb").innerHTML += "打我" + o;
}
function go2(o)
{
document.getElementById("sb").innerHTML += "打我" + o;
iapp.s("sss.sb", document.getElementById("sb").innerHTML);
}
</script>
</head>
<p id="sb">哈哈,你來</p>
</html>
【JavaScript交互裕語言】
用法:
--首先將 web.html 放入用戶文件中
--設(shè)置瀏覽器控件顯示的html內(nèi)容
s a = "@web.html"
s b = "utf-8"
fr(a, b, c)
s d = "utf-8"
s e = "text/html"
us(1, "url", c, d, e, f)
--此方法翘瓮,主要是在JavaScript中寫交互代碼哦
--JavaScript中交互方法列表(用于交互裕語言):
/.
//調(diào)用裕語言模塊方法贮折,不帶返回變量的
iapp.fn('a.b("' + o + '")');
//調(diào)用裕語言模塊方法,帶返回變量的
var value = iapp.fn2('a.c("' + o + '")', b);
//設(shè)置裕語言變量數(shù)據(jù)
iapp.s(o);
//獲取裕語言變量數(shù)據(jù)
var value = iapp.g(o);
./
說明:
常用于瀏覽器中的JavaScript代碼于iapp代碼的互相調(diào)用资盅。
注意:
建議盡量使用JavaScript調(diào)用交互裕語言调榄,效率較高。裕語言調(diào)用執(zhí)行JavaScript的方法效率要慢數(shù)倍律姨。
注意:
本例子需要注意編碼振峻,否則將亂碼臼疫。
html(web.html)文件(utf-8編碼)例子:
<html>
<head>
<script type="text/javascript">
//不帶返回變量的
function go(o)
{
//調(diào)用的是 模塊a.myu 中的 b方法
iapp.fn('a.b("' + o + '")');
}
//帶返回變量的
//執(zhí)行模塊后择份,獲取一個(gè)變量并返回到j(luò)avascript方法里
function go2(o, b)
{
//調(diào)用的是 模塊a.myu 中的 c方法
var value = iapp.fn2('a.c("' + o + '")', b);
alert('變量 sss.abc:' + value);
}
//設(shè)置全局變量數(shù)據(jù)
//同理,下面也有設(shè)置界面變量烫堤、設(shè)置局部變量的例子
function ss(o, b)
{
iapp.s(o, b);
}
//獲取全局變量數(shù)據(jù)
//同理荣赶,下面也有獲取界面變量、獲取局部變量的例子
function gs(o)
{
var value = iapp.g(o);
alert('變量 sss.abc:' + value);
}
</script>
</head>
<p><a href="javascript:void(0)" onclick="go('呵呵')">調(diào)用裕語言的模塊方法</a></p>
<p></p>
<p></p>
<p><a href="javascript:void(0)" onclick="go2('呵呵', 'sss.abc')">調(diào)用裕語言的模塊方法鸽斟,并返回sss.abc變量內(nèi)容</a></p>
<p></p>
<p></p>
<p><a href="javascript:void(0)" onclick="ss('sss.abc', '呵呵')">設(shè)置裕語言的sss.abc全局變量數(shù)據(jù)</a></p>
<p></p>
<p></p>
<p><a href="javascript:void(0)" onclick="gs('sss.abc')">獲取裕語言的sss.abc全局變量數(shù)據(jù)</a></p>
</html>
模塊(a.myu)例子:
fn b(a)
//打印出數(shù)據(jù)
syso(a)
end fn
fn c(a)
//打印出數(shù)據(jù)
syso(a)
sss abc = "666呵呵"
end fn
【uxf 顯示懸浮窗】
用法:
--輸入界面名拔创,輸入寬度,輸入高度富蓄,輸入對(duì)其方式剩燥,輸入賦值變量
local w = -1
local h = -1
local gravity = "top|right"
v = i:uxf("a.ilua", w, h, gravity)
--輸入界面名,輸入X顯示位置,輸入Y顯示位置灭红,輸入寬度侣滩,輸入高度,輸入類型的窗口变擒,輸入對(duì)其方式君珠,輸入flags,輸入format娇斑,輸入賦值變量
local x = 0
local y = 0
local w = -1
local h = -1
local type = 0
local gravity = "top|right"
local flags = 0
local format = 0
i:uxf("a.ilua", x, y, w, h, type, gravity, flags, format, v)
--刷新懸浮窗口的布局策添,常用于通過us設(shè)置后的刷新
--輸入界面根控件的控件對(duì)象
i:uxf(v)
--移除懸浮窗口
--輸入界面根控件的控件對(duì)象,輸入標(biāo)識(shí)
i:uxf(v, "del")
--重置懸浮窗的屬性
--輸入界面根控件的控件對(duì)象毫缆,輸入標(biāo)識(shí)唯竹,輸入X顯示位置,輸入Y顯示位置悔醋,輸入寬度摩窃,輸入高度,輸入對(duì)其方式
local x = 0
local y = 0
local w = -2
local h = -2
local gravity = "top|right"
i:uxf(v, "set", x, y, w, h, gravity)
--重置懸浮窗的屬性
--輸入界面根控件的控件對(duì)象芬骄,輸入標(biāo)識(shí)猾愿,輸入X顯示位置,輸入Y顯示位置账阻,輸入寬度蒂秘,輸入高度,輸入對(duì)其方式
local x = 0
local y = 0
local w = -1
local h = -1
local type = 0
local gravity = "top|right"
local flags = 0
local format = 0
i:uxf(v, "set", x, y, w, h, type, gravity, flags, format)
說明:
常用于顯示懸浮窗窗口淘太。
提示:
可通過 local b = i:gvs(v, "a.1") 代碼進(jìn)行獲取懸浮窗內(nèi)的子控件姻僧,然后對(duì)其進(jìn)行操作。
提示:
可通過下例代碼蒲牧,控制窗口位置的移動(dòng)
--更新窗口位置
i:us(v, "x", 100)
i:us(v, "y", 100)
--獲取窗口位置
i:ug(v, "x", xx)
i:ug(v, "y", yy)
--通過us 更新后撇贺, 需要刷新懸浮窗口的布局
i:uxf(v)
對(duì)齊方式:
center:居中
top:頂
bottom:底
left:左
right:右
center_vertical:垂直居中
center_horizontal:水平居中
輸入flags:
0 不許獲得焦點(diǎn)(編輯框輸入法將無法彈出)
1 可以獲得焦點(diǎn),返回鍵將不可用
【tts 文本轉(zhuǎn)換語音】
用法:
--創(chuàng)建一個(gè)TTS對(duì)象
--輸入賦值對(duì)象
local a = i:tts()
--創(chuàng)建一個(gè)TTS對(duì)象冰抢;并且直接設(shè)置播放
--輸入賦值對(duì)象松嘶,輸入語言代碼,輸入語速率挎扰,輸入音高率翠订,輸入播放文字(可傳入nil)
i:tts(a, "en", "I love you", 1, 1)
--獲取TTS對(duì)象初始化狀態(tài);賦值變量返回 0未完成初始化 1初始化成功 -1初始化失敗 -2初始化語言失敗 -3當(dāng)前TTS對(duì)象不可用
--輸入TTS對(duì)象遵倦,輸入標(biāo)識(shí)尽超,輸入賦值變量
local b = i:tts(a, "zt")
syso(b)
--播放文字;模式 0替換以前的任務(wù) 1隊(duì)列追加至后面
--輸入TTS對(duì)象梧躺,輸入標(biāo)識(shí)似谁,輸入播放文字,輸入模式,輸入賦值變量
local b = i:tts(a, "st", "I love you", 0)
syso(b)
--文字轉(zhuǎn)換音頻文件
--輸入TTS對(duì)象巩踏,輸入標(biāo)識(shí)斜筐,輸入文字,輸入保存路徑蛀缝,輸入賦值變量
local b = i:tts(a, "ft", "I love you", "123.wav")
syso(b)
--設(shè)置語言
--輸入TTS對(duì)象顷链,輸入標(biāo)識(shí),輸入語言代碼
i:tts(a, "lg", "en")
--設(shè)置語音播放速率屈梁。1為正常嗤练,值越低語速越慢(0.5是正常的一半),值越大語速越快(2是正常的兩倍)
--輸入TTS對(duì)象在讶,輸入標(biāo)識(shí)耍攘,輸入小數(shù)
i:tts(a, "se", 1)
--設(shè)置音高率翔横,值越大聲音越高音围橡,值越小聲音越低音熬芜,正常為1.0
--輸入TTS對(duì)象,輸入標(biāo)識(shí)曙强,輸入小數(shù)
i:tts(a, "ph", 1)
--檢查是否TTS正在播放
--輸入TTS對(duì)象残拐,輸入標(biāo)識(shí)
local b = i:tts(a, "ip")
syso(b)
--釋放TTS使用的資源
--輸入TTS對(duì)象,輸入標(biāo)識(shí)
i:tts(a, "re")
--停止所有任務(wù)
--輸入TTS對(duì)象碟嘴,輸入標(biāo)識(shí)溪食,輸入賦值變量
local b = i:tts(a, "sp")
syso(b)
--檢查是否一個(gè)可用的TTS對(duì)象
--輸入TTS對(duì)象,輸入標(biāo)識(shí)娜扇,輸入賦值變量
local b = i:tts(a, "is")
syso(b)
說明:
常用于文本轉(zhuǎn)化為音頻错沃,并且播放。
語言代碼:
系統(tǒng)默認(rèn)支持語言
美國 en
德國 de
意大利 it
法國 fr需安裝第三方語言包(訊飛語音TTS)雀瓢,并且設(shè)置語言
日本 ja
韓國 ko
中國 zh
安裝與設(shè)置中文語言:
下載其中一個(gè)
(4.0系統(tǒng))訊飛語音TTS http://m.yx93.com/app.aspx?id=28515
(2.2系統(tǒng))訊飛語音TTS http://m.yx93.com/app.aspx?id=28513
安裝 訊飛語音TTS
安卓手機(jī)》設(shè)置》語言和輸入法》文本轉(zhuǎn)語音輸入》選擇 訊飛語音合成 ,默認(rèn)引擎 訊飛語音合成 , 語言 中文
(設(shè)置因?yàn)楦髌放萍?xì)節(jié)不同枢析,但是都大同小異)
注意事項(xiàng):
單獨(dú)TTS對(duì)象創(chuàng)建后,需要有一個(gè)異步初始化過程刃麸,如果創(chuàng)建TTS對(duì)象然后直接播放文本將無法成功醒叁。需要先完成初始化后,然后播放文本嫌蚤。
注意事項(xiàng):
文字轉(zhuǎn)語音TTS輸出辐益;默認(rèn)語言狀態(tài):完全支持 中文
【blp 錄制屏幕】
用法:
local b = "123.mp4"
--輸入儲(chǔ)存錄制文件路徑断傲,輸入視頻寬度脱吱,輸入視頻高度,輸入視頻碼率认罩,輸入視頻幀率
i:blp(b, 1280, 720, 1024000, 30)
--開始錄制
local b = i:blp("st")
syso(b)
--停止錄制
local b = i:blp("sp")
syso(b)
--釋放資源
local b = i:blp("re")
syso(b)
--判斷是否正在錄制
local b = i:blp("ip")
syso(b)
說明:
用于手機(jī)屏幕錄制箱蝠。
注意:
僅支持系統(tǒng)Android 5.0以及以上才有效果!
Android 5.0以下的系統(tǒng),無效果宦搬!
【otob 轉(zhuǎn)換為字節(jié)組】
用法:
--將文件轉(zhuǎn)換為字節(jié)組牙瓢,字節(jié)組將為字符串形式返回賦值給“b”
local b = i:otob("%abc.txt")
syso(b)
--將字符串轉(zhuǎn)換為字節(jié)組
local b = i:otob("utf-8", "nihao")
syso(b)
--不設(shè)置編碼
local b = i:otob(nil, "nihao")
說明:
將字符或文件轉(zhuǎn)換為字節(jié)組
【btoo 字節(jié)組還原】
用法:
local b = i:otob("%abc.txt")
--將字節(jié)組轉(zhuǎn)換為文件
--輸入字節(jié)組,文件路徑间校,是否覆蓋
local c = i:btoo(b, "%abc2.txt", true)
local b = i:otob("utf-8", "nihao")
--字節(jié)組轉(zhuǎn)換為字符串
local c = i:btoo("utf-8", b)
syso(c)
--不設(shè)置編碼
local c = i:btoo(nil, b)
說明:
將字節(jié)組轉(zhuǎn)換為字符或文件
【sot Socket網(wǎng)絡(luò)通信】
用法:
--服務(wù)端
--服務(wù)端口矾克,臨時(shí)文件目錄,接受客戶超時(shí)憔足,客戶連接超時(shí)胁附,是否覆蓋文件
local b = i:sot(8668, "%iApp/tempSocket", 0, 0, false,
function(st_msG,st_ssR)
--消息內(nèi)容
syso(st_msG)
--連接對(duì)象
syso(st_ssR)
end
)
--客戶端
--服務(wù)地址,服務(wù)端口滓彰,服務(wù)連接超時(shí)控妻,是否覆蓋文件
local b = i:sot("192.168.1.100", 8668, 0, false,
function(st_msG,st_ssR)
--消息內(nèi)容
syso(st_msG)
--連接對(duì)象
syso(st_ssR)
end
)
--發(fā)送字符串
i:sot(b, "str", "nihao")
--發(fā)送文件
i:sot(b, "file", "%abc.txt")
--發(fā)送字節(jié)組
local c = i:otob("nihao", "utf-8")
i:sot(b, "bt", c)
--關(guān)閉釋放sot
i:sot(b, "re")
--獲取sot是否已釋放
local c = i:sot(b, "ip")
--獲取ID總數(shù)
local c = i:sot(b, "id")
--獲取連接對(duì)象列表
local c = i:sot(b, "list")
--獲取連接對(duì)象列表的第一位
local c = i:sot(b, "list", 0)
--獲取連接總數(shù)
local c = i:sot(b, "size")
--是否允許接受新連接
i:sot(b, "new", true)
說明:
Socket 管理操作。服務(wù)端發(fā)送消息將批量發(fā)送給所有連接揭绑。
服務(wù)端說明:
要求:
1.能連接公共網(wǎng)絡(luò) 或 內(nèi)網(wǎng)
2.擁有固定IP作為客戶端連接的目標(biāo)
3.電腦弓候、手機(jī)、平板電腦等設(shè)備上運(yùn)行服務(wù)端他匪。
4.可使用iapp在自己的手機(jī)上面開發(fā)服務(wù)端菇存,并運(yùn)行服務(wù)端。
客戶端說明:
要求:
1.能連接公共網(wǎng)絡(luò) 或 內(nèi)網(wǎng)
2.可使用iapp在自己的手機(jī)上面開發(fā)客戶端邦蜜,并連接服務(wù)端撰筷。
常見開發(fā):
使用手機(jī)或電腦作為服務(wù)端,手機(jī)客戶端與服務(wù)端相互傳遞文件畦徘、數(shù)據(jù)等毕籽。
【sota 單個(gè)Socket通信操作】
用法:
--獲取連接對(duì)象列表的第一位,變量“c”屬于單個(gè)Socket通信
local c = i:sot(b, "sl", 0)
--獲取通信對(duì)方的IP
local d = i:sota(c, "ht")
--獲取sota是否已釋放
local d = i:sota(c, "ip")
--關(guān)閉釋放sota
i:sota(c, "re")
--獲取socket對(duì)象
local d = i:sota(c, "socket")
--獲取連接對(duì)象ID
local d = i:sota(c, "id")
--發(fā)送字符串
i:sot(c, "str", "nihao")
--發(fā)送文件
i:sot(c, "file", "%abc.txt")
--發(fā)送字節(jié)組
local d = i:otob("utf-8", "nihao")
i:sot(c, "bt", d)
說明:
常用于單個(gè)Socket通信的操作管理
【loadso 加載動(dòng)態(tài)庫】
用法:
--比如加載 libabc.so
i:loadso("abc")
說明:
加載SO動(dòng)態(tài)鏈接庫井辆。
【loadjar 加載jar庫】
用法:
--比如加載 abc.jar
--返回變量 庫對(duì)象
local b = i:loadjar("abc.jar")
syso(b)
--比如加載 abc.apk
--包含Activity需要傳入true关筒,賦值變量 庫對(duì)象
local b = i:loadjar("abc.apk", true)
syso(b)
說明:
用于加載一些jar,dex杯缺,apk 的 sdk蒸播。需要把jar文件導(dǎo)入至項(xiàng)目資源的lib目錄里,jar加載過程將聯(lián)網(wǎng)校驗(yàn)萍肆。
如果附帶SO動(dòng)態(tài)鏈接庫袍榆,需要把SO文件載入至項(xiàng)目資源。
【cls 獲取完整接口類】
用法:
--獲取一個(gè)類塘揣,輸入完整類名如 java.lang.Math
--賦值變量 類對(duì)象
local a = i:cls("java.lang.Math")
syso(a)
--獲取一個(gè)字符串類包雀,常用類型可直接輸入類名如 String
local b = i:cls("String")
syso(b)
--加載SDK abc.jar,并獲取SDK里一個(gè)類 輸入完整類名 com.sdk.abc
local a = i:loadjar("abc.jar")
local c = i:cls(a, "com.sdk.ceshi")
syso(c)
用法:
獲取一個(gè)類亲铡;或從 jar SDK包獲取類才写;
注意:完整類名區(qū)分大小寫
【clssm 獲取類的所有接口】
用法:
local b = i:cls("String")
--獲取所有構(gòu)造函數(shù)
local c = i:clssm(b, "init")
--獲取所有函數(shù)方法
local c = i:clssm(b, "method")
--獲取所有變量
local c = i:clssm(b, "field")
說明:
返回一個(gè)數(shù)組葡兑。
【java 調(diào)用java代碼方法】
用法:
--調(diào)用java api java.lang.String.indexOf(String string) 查詢字符56 在123456789 中位置
local c = i:cls("String")
local a = i:javax("123456789", c, "indexOf", {"String", "56"})
syso(a)
--初始化一個(gè)StringBuilderd
local a = i:javanew("java.lang.StringBuilder", {"String", "12345"})
local b = i:java(a, "java.lang.StringBuilder.append", {"String", "6789"})
local c = i:java(a, "java.lang.StringBuilder.toString")
syso(c)
local jar = i:loadjar("test.jar")
local c1 = i:cls(jar, "com.sdk.ceshi")
--調(diào)用靜態(tài)方法 com.sdk.ceshi類 c 方法
local c = i:javax(nil, c1, "c", {"int", 123})
syso(c)
--調(diào)用靜態(tài)變量 com.sdk.ceshi類 a 變量
local c = i:javags(nil, c1, "a")
syso(c)
--初始化com.sdk.ceshi類
--返回對(duì)象變量,輸入完整類名或 cls方法的返回變量
local a = i:javanew(c1)
--訪問變量赞草,com.sdk.ceshi類 b變量
local c = i:javags(a, c1, "b")
syso(c)
--設(shè)置變量讹堤,com.sdk.ceshi類 b變量
local c = i:javass(a, c1, "b", "123456")
syso(c)
--設(shè)置回調(diào)方法
local a = i:javanew("android.widget.TextView", {"Context", activity})
local b = i:java(a, "android.widget.TextView.setText", {"CharSequence", "我是文本控件"})
--注意回調(diào)接口類名前面需要加一個(gè)“.”,如.android.view.View.OnClickListener
local b = i:java(a, "android.view.View.setOnClickListener", {".android.view.View$OnClickListener", nil},
function(st_mD,st_aS)
--系統(tǒng)賦值
syso(st_mD)
syso(st_aS)
end
)
說明:
支持 android 所有的api厨疙;以及 自加載的jar SDK 的 api
注意:完整類名或 方法名 或 變量名 區(qū)分大小寫
傳遞參數(shù):
要傳遞的參數(shù)可設(shè)置多個(gè)洲守,格式為一個(gè)數(shù)組 { } 括起來的,參數(shù)為格式:類名沾凄, 值岖沛,類名, 值...
activity:默認(rèn)變量 Activity組件
javax 與 java 方法區(qū)別:
javax:第3位參數(shù)完整類名搭独,第4位參數(shù)方法名婴削。類名可傳入 cls方法的賦值變量;總共6位參數(shù)
java:第3位參數(shù) 完整類名和方法名牙肝“λ祝總共5位參數(shù)。
【javacb 自定義回調(diào)】
用法:
local jar = i:loadjar("test.jar")
local c1 = i:cls(jar, "com.ceshi.dex.main")
local o = i:javanew(c1)
local c2 = i:cls(jar, "com.ceshi.dex.main$huidiao")
--設(shè)置回調(diào)方法
local hd = i:javacb(c2,
function(st_mD,st_aS)
--系統(tǒng)賦值
syso(st_mD)
syso(st_aS)
end
)
--設(shè)置回調(diào)
local a = i:javax(o, c1, "sethuidiao", {c2, hd})
--調(diào)用回調(diào)方法
local a = i:javax(o, c1, "get", {"String", "666"})
說明:
常用于設(shè)置自定義SDK的回調(diào)方法配椭。
【res 安裝包資源管理器】
用法:
--獲取應(yīng)用自己的對(duì)象
local a = i:res()
--獲取其他apk安裝包內(nèi)的資源對(duì)象虫溜,只支持加載SD卡上的apk
local a = i:res("%abc.apk")
--獲取資源
--輸入資源對(duì)象,輸入資源標(biāo)識(shí)或文件名(沒后綴)股缸,輸入資源類型
local b = i:res(a, "ic_launcher", "drawable")
--獲取資源ID衡楞,打包測試才有效
local b = i:res(a, "ic_launcher", "drawable", false)
--獲取 AssetManager 或 Resources 對(duì)象
local b = i:res(a, "asset")
local b = i:res(a, "resources")
說明:
可獲取的資源類型 drawable、string敦姻、color瘾境、stringarray、layout
【src 自定義代碼】
用法:
--[[
SDK自定義的 com.sdk.ceshia類 源碼
package com.sdk;
public class ceshia {
public String cs(String sm)
{
return sm;
}
}
--]]
--初始化SDK自定義的 com.sdk.ceshia類
local a = i:javanew("com.sdk.ceshia")
--將自定義類添加到代碼塊里
i:src("ceshia", a)
--代碼里調(diào)用com.sdk.ceshi類 里的這個(gè)方法
local b = ceshia:cs("abcde")
syso(b)
說明:
支持可以自己寫java 的SDK镰惦,封裝成代碼迷守。然后再自定義代碼提示,把自己封裝的代碼加上去就可以了旺入。
【call 交互式語言調(diào)用】
用法:
--輸入賦值變量兑凿,語言類型,模塊m的abc方法茵瘾,輸入?yún)?shù)1礼华,輸入?yún)?shù)2
i:call("myu", "m.abc", "nihao", 66)
--輸入賦值變量,語言類型拗秘,模塊mk的abc方法圣絮,輸入?yún)?shù)1
local a = i:call("mlua", "mk.abcd", 123)
--沒有參數(shù)的
--輸入賦值變量,語言類型聘殖,模塊mk的abc方法
i:call("mjs", "mk.abcdf")
說明:
用于多語言的代碼交互晨雳。
注意:
此方法只能調(diào)用模塊方法,輸入是字符串如 m.abc 模塊m 的abc方法
注意:
參數(shù)數(shù)量要與實(shí)際模塊方法的參數(shù)的數(shù)量一致奸腺。
注意:
三種語言餐禁,只有 mlua 可以返回賦值變量,裕語言可以通過設(shè)置全局變量變相返回變量突照, mjs設(shè)置賦值變量無效帮非。
【json json數(shù)據(jù)解析】
用法:
--解析json數(shù)據(jù),雙引號(hào)要加 \ 進(jìn)行轉(zhuǎn)義
local text = "{"id":1, "name":"xiaobai", "age":16}"
local jo = i:json(text)
--獲取id
local a = i:json(jo, "get", "id")
syso(a)
--獲取name
local b = i:json(jo, "get", "name")
syso(b)
--獲取age
local c = i:json(jo, "get", "age")
syso(c)
--修改age數(shù)據(jù)
i:json(jo, "set", "age", 20)
--刪除id數(shù)據(jù)
i:json(jo, "del", "id")
--打印json數(shù)據(jù)
local text = i:json(jo, "json")
syso(text)
--解析json列表數(shù)據(jù)
local text = "{"userlist":[{"id":1, "name":"niubi", "age":16},{"id":2, "name":"wangba", "age":18},{"id":3, "name":"goudan", "age":17}]}"
local jo = i:json(text)
--打印json數(shù)據(jù)
local list = i:json(jo, "list", "userlist")
local size = i:json(list, "size")
while size > 0 do
size = size - 1
local item = i:json(list, "data", size)
--獲取id
local a = i:json(item, "get", "id")
syso(a)
--獲取name
local b = i:json(item, "get", "name")
syso(b)
--獲取age
local c = i:json(item, "get", "age")
syso(c)
end
說明:
常用于解析服務(wù)器反饋的數(shù)據(jù)讹蘑。
【luajava 對(duì)象方法】
代碼:
--newInstance實(shí)例化
--輸入類名末盔,構(gòu)造方法參數(shù)
local a = luajava.newInstance(className, ....)
--bindClass綁定類,返回一個(gè) class 類對(duì)象
--輸入類名
local a = luajava.bindClass(className)
--new, 需配合bindClass實(shí)例化對(duì)象
local a = luajava.bindClass("java.lang.String")
--輸入類對(duì)象
local b = luajava.new(a)
--createProxy java接口座慰,可以多個(gè)接口同時(shí)調(diào)用陨舱。
local a = luajava.newInstance("java.awt.Button", "execute")
b = {}
function b.actionPerformed(ev)
. . .
end
--輸入類名,方法
local c = luajava.createProxy("java.awt.ActionListener", b)
a:addActionListener(c)
【zj 組件控制】
用法:
--如有米廣告組件版仔,首先下載有米的組件游盲,并且設(shè)置好組件。
--初始化有米SDK蛮粮,放在第一個(gè)界面的載入事件里
--輸入賦值變量益缎,標(biāo)識(shí),發(fā)布 ID然想,密鑰莺奔,是否開啟有米的Log輸出(需要換自己的渠道信息)
local a = i:zj("init", {"String", "85aa56a59eac8b3d", "String", "a14006f66f58d5d7", "boolean", true})
--初始化積分墻
--輸入賦值變量,標(biāo)識(shí)
local a = i:zj("initjfq")
--展示積分墻
local a = i:zj("jfqgo")
說明:
用于控制組件变泄。