按键精灵安卓版用脚本修改静态界面的内容
大家好,我是公号3分钟学堂的郭立员,上期文章《关于按键ui界面上的数据重启丢失的原因》中,我讲到怎么获得界面中元素的数据内容。这期文章我们继续做一下延展。
上图中我们回顾一下,读取红框中的文件获取界面元素的数据。
Dim 路径="/sdcard/MobileAnJian/UIConfig/586647d1-efe9-49d1-92ab-e81390a27435"
dim a=File.read(路径)
TracePrint a
通过运行这一段代码,可以获取到界面中的数据内容,如下图所示,界面中有一个名称为输入框1的输入框,内容是“我是界面输入框的内容”。
预览界面也可以看到如下图的样子:
接下来我要通过代码修改这段文字内容,使其发生改变。
Dim 路径="/sdcard/MobileAnJian/UIConfig/586647d1-efe9-49d1-92ab-e81390a27435"
dim a=File.read(路径)
Dim table=Encode.JsonToTable(a)
TracePrint table["输入框1"]
table["输入框1"] = "我已经发生变化了!"
Dim json=Encode.TableToJson(Table)
Call File.Write(路径, json)
这段代码中,我是将读取的内容,
先转化为table(表)数据,
Dim table=Encode.JsonToTable(a)
之后直接修改表数据
table["输入框1"] = "我已经发生变化了!"
转为json类型
Dim json=Encode.TableToJson(Table)
写入到原来的界面文件
Call File.Write(路径, json)
这个有啥用呢,其实在之前我们一直说,安卓按键的界面是静态界面,也就是没法被脚本修改,这句话是没错,但是也不是绝对的,通过修改界面配置文件,也是可以变相做到修改界面数据的。
当然还有一点我这里面没有测试,就是小精灵的界面是否可以修改,如果可以修改,那就直接可做脚本“提示信息”使用。你想显示什么内容,就把内容内置到脚本中,运行即可修改。
这台电脑上也没有现成的小精灵,我就不测试了。路径应该是
Dim 包名=此处填写小精灵的包名
Dim 路径="/data/data/"&包名&"/files/script.cfg"
对于雷电模拟器,需要开启超级用户访问模式,才能在模拟器看到这个文件。