大家好,我是公號3分鐘學堂的郭立員,上期文章《關(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
通過運行這一段代碼,可以獲取到界面中的數(shù)據(jù)內(nèi)容,如下圖所示,界面中有一個名稱為輸入框1的輸入框,內(nèi)容是“我是界面輸入框的內(nèi)容”。
預覽界面也可以看到如下圖的樣子:
接下來我要通過代碼修改這段文字內(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)
這個有啥用呢,其實在之前我們一直說,安卓按鍵的界面是靜態(tài)界面,也就是沒法被腳本修改,這句話是沒錯,但是也不是絕對的,通過修改界面配置文件,也是可以變相做到修改界面數(shù)據(jù)的。
當然還有一點我這里面沒有測試,就是小精靈的界面是否可以修改,如果可以修改,那就直接可做腳本“提示信息”使用。你想顯示什么內(nèi)容,就把內(nèi)容內(nèi)置到腳本中,運行即可修改。
這臺電腦上也沒有現(xiàn)成的小精靈,我就不測試了。路徑應該是
Dim 包名=此處填寫小精靈的包名
Dim 路徑="/data/data/"&包名&"/files/script.cfg"
對于雷電模擬器,需要開啟超級用戶訪問模式,才能在模擬器看到這個文件。