大家好掘而,我是公號(hào)3分鐘學(xué)堂的郭立員配深,上期文章《關(guān)于按鍵ui界面上的數(shù)據(jù)重啟丟失的原因》中谆趾,我講到怎么獲得界面中元素的數(shù)據(jù)內(nèi)容。這期文章我們繼續(xù)做一下延展叛本。
上圖中我們回顧一下沪蓬,讀取紅框中的文件獲取界面元素的數(shù)據(jù)。
Dim 路徑="/sdcard/MobileAnJian/UIConfig/586647d1-efe9-49d1-92ab-e81390a27435"
dim a=File.read(路徑)
TracePrint a
通過運(yùn)行這一段代碼来候,可以獲取到界面中的數(shù)據(jù)內(nèi)容跷叉,如下圖所示,界面中有一個(gè)名稱為輸入框1的輸入框营搅,內(nèi)容是“我是界面輸入框的內(nèi)容”云挟。
預(yù)覽界面也可以看到如下圖的樣子:
接下來我要通過代碼修改這段文字內(nèi)容,使其發(fā)生改變转质。
Dim 路徑="/sdcard/MobileAnJian/UIConfig/586647d1-efe9-49d1-92ab-e81390a27435"
dim a=File.read(路徑)
Dim table=Encode.JsonToTable(a)
TracePrint table["輸入框1"]
table["輸入框1"] = "我已經(jīng)發(fā)生變化了园欣!"
Dim json=Encode.TableToJson(Table)?
Call File.Write(路徑, json)
這段代碼中,我是將讀取的內(nèi)容休蟹,
先轉(zhuǎn)化為table(表)數(shù)據(jù)沸枯,
Dim table=Encode.JsonToTable(a)
之后直接修改表數(shù)據(jù)
?table["輸入框1"] = "我已經(jīng)發(fā)生變化了!"
轉(zhuǎn)為json類型
Dim json=Encode.TableToJson(Table)?
寫入到原來的界面文件
Call File.Write(路徑, json)
這個(gè)有啥用呢赂弓,其實(shí)在之前我們一直說绑榴,安卓按鍵的界面是靜態(tài)界面,也就是沒法被腳本修改拣展,這句話是沒錯(cuò)彭沼,但是也不是絕對(duì)的,通過修改界面配置文件备埃,也是可以變相做到修改界面數(shù)據(jù)的姓惑。
當(dāng)然還有一點(diǎn)我這里面沒有測試,就是小精靈的界面是否可以修改按脚,如果可以修改于毙,那就直接可做腳本“提示信息”使用。你想顯示什么內(nèi)容辅搬,就把內(nèi)容內(nèi)置到腳本中唯沮,運(yùn)行即可修改。
這臺(tái)電腦上也沒有現(xiàn)成的小精靈堪遂,我就不測試了介蛉。路徑應(yīng)該是
Dim 包名=此處填寫小精靈的包名
Dim 路徑="/data/data/"&包名&"/files/script.cfg"
對(duì)于雷電模擬器,需要開啟超級(jí)用戶訪問模式溶褪,才能在模擬器看到這個(gè)文件币旧。