快捷搜索:  汽车  科技

按键精灵安卓版设置:按键精灵安卓版

按键精灵安卓版设置:按键精灵安卓版当时文章留言中有人说到用json和table转化保存,这种方式代码更加简洁一些,所以这次就优化了一下代码。之前也写过一期相关的文章《【界面进阶教程下篇】保存和加载多套界面配置数据》,和这篇文章的原理完全一样。

本期教程我们来说说怎么实现共享界面配置,先来看一下效果图。


按键精灵安卓版设置:按键精灵安卓版(1)


这是一个实现多个模拟器界面设置互通的效果,当你修改其中一个模拟器界面配置,保存下来以后,其他脚本只需要加载一下就可以获取到你修改后的界面设置。


之前也写过一期相关的文章《【界面进阶教程下篇】保存和加载多套界面配置数据》,和这篇文章的原理完全一样。


当时文章留言中有人说到用json和table转化保存,这种方式代码更加简洁一些,所以这次就优化了一下代码。


先说一下原理:

  1. 模拟器在电脑上有一个共享文件夹,在这个文件里面的内容所有模拟器都可以获取到。
  2. 我们把界面设置保存下来,存入共享文件里面的一个文本中。
  3. 其他模拟器通过获取这个文本里面的界面设置内容,然后设置当前界面。


通过共享文件夹中的一个文本为媒介,然后所有模拟器都可以实现界面设置互通。


按键精灵安卓版设置:按键精灵安卓版(2)


先来说一下界面元素,

2个按钮、2个多选框、2个文字框和两个输入框


按钮是控制界面保存和加载;

多选框和输入框是我们要记录和修改的界面元素。

这里元素不多,只是做个基础的演示。


先来看一下保存功能的代码:

按键精灵安卓版设置:按键精灵安卓版(3)


Function 保存()

Dim duo1=uip.GetAttribute("多选框1")

Dim duo2=uip.GetAttribute("多选框2")

Dim shu1=uip.GetAttribute("输入框1")

Dim shu2=uip.GetAttribute("输入框2")

Dim t={"多选框1":duo1["选中"] "多选框2":duo2["选中"] "输入框1":shu1["初始文本"] "输入框2":shu2["初始文本"]}

Dim json=Encode.TableToJson(t)

file.write("/sdcard/pictures/4.txt" json)

End Function


具体步骤是:

(1)读取各个元素的“有效”内容

Dim duo1=uip.GetAttribute("多选框1")

Dim duo2=uip.GetAttribute("多选框2")

Dim shu1=uip.GetAttribute("输入框1")

Dim shu2=uip.GetAttribute("输入框2")


(2)存成table(表),每一项要写仔细了,不能出现错误。

元素名---获取的对应的元素值 "多选框1":duo1["选中"]


Dim t={"多选框1":duo1["选中"] "多选框2":duo2["选中"] "输入框1":shu1["初始文本"] "输入框2":shu2["初始文本"]}


(3)把table转出json(其实json就是格式比较特殊的字符串,json就是字符串)

Dim json=Encode.TableToJson(t)


(4)把json存入文本里面

file.write("/sdcard/pictures/4.txt" json)


再来说说加载部分:


按键精灵安卓版设置:按键精灵安卓版(4)

Function 加载()

Dim json=file.read("/sdcard/pictures/4.txt")

showmessage json

Dim table=Encode.JsonToTable(json)

uip.SetAttribute("多选框1" {"选中":table["多选框1"]})

uip.SetAttribute("多选框2" {"选中":table["多选框2"]})

uip.SetAttribute("输入框1" {"初始文本":table["输入框1"]})

uip.SetAttribute("输入框2" {"初始文本":table["输入框2"]})

End Function


(1)读取文本里面json文件

Dim json=file.read("/sdcard/pictures/4.txt")


(2)把json转成表格,这样可以快速读取每一个想要的内容。

Dim table=Encode.JsonToTable(json)


(3)把读取到每一个界面设置内容,填入到界面中

uip.SetAttribute("多选框1" {"选中":table["多选框1"]})

uip.SetAttribute("多选框2" {"选中":table["多选框2"]})

uip.SetAttribute("输入框1" {"初始文本":table["输入框1"]})

uip.SetAttribute("输入框2" {"初始文本":table["输入框2"]})


这个是适合本地多开模拟器使用的方式,对于手机或者其他非本地设备,就需要云配置了,也就是保存和读取服务器了。

猜您喜欢: