[按键精灵]_多设备共享界面设置

 

用json和table转化保存,这种方式代码更加简洁一些,所以这次就优化了一下代码。

先说一下原理:

  1. 模拟器在电脑上有一个共享文件夹,在这个文件里面的内容所有模拟器都可以获取到。

  2. 我们把界面设置保存下来,存入共享文件里面的一个文本中。

  3. 其他模拟器通过获取这个文本里面的界面设置内容,然后设置当前界面。

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

图片

先来说一下界面元素,

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

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

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

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

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

图片

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)

再来说说加载部分:

图片

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"]})

 

 

赞 (0)