请选择时期:
怀孕准备 怀孕 分娩 宝宝0-1岁 宝宝1-3岁 宝宝3-6岁

文件打包怎么操作(电脑文件打包怎么操作)

来源: 最后更新:2023-05-03 09:06:58

导读:大家好,我是公众号3分钟学堂的郭立员。给大家介绍一种给脚本快速添加「保存」和「读取」UI配置文件的方法,我公众号的老粉可能知道怎么保存和读取界面配置,因为我之前写过两期相关的文章教程。这一期文章教程我
扫描关注公众号
The Beginning

大家好,我是公众号3分钟学堂的郭立员。
AEf育儿早教网

给大家介绍一种给脚本快速添加「保存」和「读取」UI配置文件的方法,我公众号的老粉可能知道怎么保存和读取界面配置,因为我之前写过两期相关的文章教程。AEf育儿早教网

这一期文章教程我们着重体现两个字“快速”,教大家写好模板下次直接给自己的脚本添加一下就行。AEf育儿早教网

效果展示
AEf育儿早教网

存储配置和加载配置AEf育儿早教网

AEf育儿早教网

往期原理介绍回顾一下之前两期的原理啊~AEf育儿早教网

方法1:通过uip命令读取界面上的内容,然后按照元素名称以键值对的形式(json)写入到文本里面,利用文本这个存储媒介实现保存和读取界面配置。AEf育儿早教网

方法2:读取和写入界面配置文件来实现界面存储和加载。配置文件存储位置有2种情况~AEf育儿早教网

【情况1】脚本调试阶段,配置文件路径是:新版和老版按键助手路径不同。AEf育儿早教网

/sdcard/MobileAnJian/UIConfig/ //老版按键助手/sdcard/MobileAnJianVip/UIConfig/ //新版按键助手【情况2】脚本打包后,配置文件路径是:AEf育儿早教网

/data/data/"&包名&"/files/script.cfg
AEf育儿早教网

这两类路径一定要区分开,不能用混淆了。AEf育儿早教网

往期这两种方法各有弊端,方法1需要预先写好每一个输入框、多选框、下拉框的名称,不能随便修改,如果已经写好的脚本,就不适合用这个方法去写了。AEf育儿早教网

方法2的弊端是我在脚本中写的读取和写入配置文件的,必须在运行脚本后生效,保存配置点一下运行脚本还好,如果是加载配置就显得很麻烦了,加载完还要重启脚本才能看到界面上的内容变化。AEf育儿早教网

本期原理介绍
AEf育儿早教网

这一期的原理是结合前两期的内容,以方法1为基础,通过方法2获取元素名称及类型,解决方法1的缺陷。AEf育儿早教网

下面分别说一下保存配置和读取配置AEf育儿早教网

保存界面原理
AEf育儿早教网

①读取界面上“可修改”内容,也就是被存储到界面配置文件里面的,并不是所有的界面元素啊,这一点需要注意一下。“可修改”内容包括:输入框的内容、多选框是否勾选、下拉框的选项。AEf育儿早教网

UIP.GetAttribute("界面元素名称")
AEf育儿早教网

这个命令的返回值是键值对的表(数组),每个界面元素的键值对都是不一样的。AEf育儿早教网

输入框的内容AEf育儿早教网

dim ret=uip.GetAttribute("输入框1")showmessage ret<"初始文本">
AEf育儿早教网

多选框是否勾选AEf育儿早教网

dim ret=uip.GetAttribute("多选框1")showmessage ret<"选中">
AEf育儿早教网

下拉框的选项编号AEf育儿早教网

dim ret=uip.GetAttribute("下拉框1")showmessage ret<"初始选项">
AEf育儿早教网

如果你想深入了解的话,可以通过下面的代码把所有的界面元素返回值都看一遍。AEf育儿早教网

Function 按钮点击事件()dim ret=uip.GetAttribute("界面元素名称")Dim json=encode.tabletojson(ret)showmessage jsonEnd Function
AEf育儿早教网

②解决获取界面元素名称的问题,本文的高光点。AEf育儿早教网

以前在读取界面上内容时,都是要预先知道界面上所有元素的名称,比如输入框有3个,我们知道输入框1名称、输入框2名称、输入框3名称,如果按照循环去写名称还好,可以通过计次循环的方式拼接名称,比如输入框+序号。AEf育儿早教网

如果在编写脚本开始时就打算好了添加配置文件保存和加载功能,可以专门留言命名问题,但是我们在写脚本的时候都是根据需要随时可能会添加界面元素,那么这个就是个头疼的问题了。AEf育儿早教网

那么怎么解决呢?AEf育儿早教网

读取脚本自己生成的界面配置文件,当我们点击界面下方的保存按钮,在手机(模拟器)生成配置文件。AEf育儿早教网

AEf育儿早教网

配置文件中保存我们想要的界面元素名称。AEf育儿早教网

{"下拉框1":0,"多选框1":true,"输入框1":"你好"}
AEf育儿早教网

分析到这里,我们串联一下界面源码、界面展示内容、界面配置文件三者之间的关系,下面以输入框为例~AEf育儿早教网

AEf育儿早教网

通过上图可以看到,界面上的元素名称,除了源码中有,在配置文件里面也有,那么这就为我们解决获取界面元素名称问题提供了一个新的思路,读取配置文件里面元素名称。AEf育儿早教网

第一步:使用文本读取命令file.read,读取配置文件的内容,得到键值对的表。 AEf育儿早教网

第二步:对于一个键值对的表,想要获取它的键名,最简单的方法就是遍历数组了。AEf育儿早教网

For Each k , v In table //table是键值对 //k是键值(key) //v是键值(value)Next
AEf育儿早教网

第三步:获取到键名也就是元素名称,还有一个问题就是,怎么区分元素的类型。AEf育儿早教网

通常来说,界面元素默认的命名方式是元素类型+编号:AEf育儿早教网

输入框1、输入框2、输入框3…多选框1、多选框2、多选框3…下拉框1、下拉框2、下拉框3…
AEf育儿早教网

如果大家都本本分分的使用这个默认名称,那也还好,但是往往大家为了能够区分每个元素的作用,会给它们修改名称。AEf育儿早教网

这样一来就出问题了,当我们通过读取配置文件获取到一个元素名称,然后下一步就没法通过名称命名判断元素的类型了,到底是输入框、多选框还是下拉框。AEf育儿早教网

解决这个问题我提供了另外一个思路:判断键值的类型。AEf育儿早教网

读取输入框我们获取到内容是字符串类型,读取多选框我们获取的true和false的布尔值类型,读取下拉框我们获取到的是01234的数值类型。AEf育儿早教网

每一个界面元素的值都有自己不同的类型,根据键值类型反推元素类型,这个确实是一个可行的思路。AEf育儿早教网

当然到这里我还是有一点担忧,因为我担心界面代码区不支持山海插件的tpye命令,那么就无法获取到数据类型了,好在测试了一下可以支持。AEf育儿早教网

import "shanhai.lua"Function 响应事件() Dim v=123 showmessage shanhai.type(v)End Function
AEf育儿早教网

新建一个界面加上一个按钮的点击响应事件函数,测试即可。AEf育儿早教网

介绍3类返回值的写法:AEf育儿早教网

字符串:string数值:number布尔值:Boolean
AEf育儿早教网

到这一步我们可以把名称及对应的类型获取到了,那么就差最后一步写入配置了。AEf育儿早教网

③把界面上的内容存储起来。AEf育儿早教网

之前的步骤已经可以把所有的元素名称及类型获取到了,之后我就可以用AEf育儿早教网

uip.GetAttribute 命令把界面所有内容都获取一遍,并以键值对的形式存入到一个新的文件中。AEf育儿早教网

这个文件的后缀可以是txt文本,cfg配置文件,甚至不写后缀都行。AEf育儿早教网

文件的路径,如果是手机那就无所谓了,如果是模拟器想要实现多个模拟器共享配置文件就需要注意,必须放在共享文件夹里面,如果不想共享配置文件,就需要放到其他非共享文件夹里面。AEf育儿早教网

当然不共享还有一个方法,就是文件名用imsi,imei之类的参数值,这样每个设备也不一样,即使放到共享文件夹里面配置文件也不共享的。AEf育儿早教网

保存配置代码
AEf育儿早教网

AEf育儿早教网

代码中的一些细节:AEf育儿早教网

①代码是脚本调试时的,它使用的是调试路径,并且那一串随机字符我模拟器里面的不是你的,必须要自己修改。AEf育儿早教网

AEf育儿早教网

看生成文件的日期找你自己刚刚操作的界面配置文件。AEf育儿早教网

②界面配置文件缺失报错机制,首次使用脚本,如果不点击保存按钮是不生成配置文件的,所以需要加一个提示信息。AEf育儿早教网

③存储配置不是直接复制生成的配置文件,而是遍历界面上所有的元素,然后存储起来,原因是修改完界面内容,如果不点下方保存按钮,配置文件不会修改,直接复制配置文件,只能存储上次点击保存按钮时的界面内容。AEf育儿早教网

读取配置原理
读取配置涉及到的知识点,基本保存配置一样。AEf育儿早教网

第一步:读取配置文件,注意是你存储的配置,不是自动生成的配置文件,路径别写错了。AEf育儿早教网

第二步:转一下table,获取到元素的键值对。AEf育儿早教网

第三步:判断每一个元素的名称和值的类型,逐个修改界面元素。使用uip.SetAttribute命令。AEf育儿早教网

读取配置代码
AEf育儿早教网

AEf育儿早教网

使用方法
AEf育儿早教网

按照我上面的讲解的内容,写好自己的模板,之后如果想给自己的脚本添加此功能,可以先在界面源码中添加两个按钮,点击响应的名称写“存储配置”和“加载配置”,然后把函数代码放到界面代码区,就可以使用了。AEf育儿早教网

最后强调一点,首次使用脚本一定要先点一下自带的保存设置按钮。AEf育儿早教网

THE END
广告、内容合作请点击这里 寻求合作
免责声明:本文系转载,版权归原作者所有;旨在传递信息,其原创性以及文中陈述文字和内容未经本站证实。

育儿知识

所属专题: [db:关键词]  

本文地址:http://www.yuerzaojiao.com/news/jiaodian/434537.html

最新文章
  • 1腾讯为什么告老干妈(腾讯跟老干妈什么情况)

    腾讯为什么告老干妈(腾讯跟老干妈什么情况)

  • 2突然确诊癌症中晚期,已转移!宁波男子无法接受:怎么可能!医生:发现一个,全家高危!

    突然确诊癌症中晚期,已转移!宁波男子无法接受:怎么可能!医生:发现一个,全家高危!

  • 3疑似皇马前主席之孙公然辱华,皇马却称“将致力于消除足球界种族歧视”?

    疑似皇马前主席之孙公然辱华,皇马却称“将致力于消除足球界种族歧视”?

  • 4韩军称朝鲜军人无意中越界 韩军称朝鲜军人无意中越界了吗

    韩军称朝鲜军人无意中越界 韩军称朝鲜军人无意中越界了吗

  • 5中纪委再打两“虎”!还有一“虎”被免职,一“虎”获刑十五年!

    中纪委再打两“虎”!还有一“虎”被免职,一“虎”获刑十五年!

  • 6吉林市将举办世界锅包肉大赛,此前召开座谈会论证锅包肉起源

    吉林市将举办世界锅包肉大赛,此前召开座谈会论证锅包肉起源

  • 7哪些爱爱姿势更容易怀孕 选择这些爱爱姿势帮助生儿生女

    哪些爱爱姿势更容易怀孕 选择这些爱爱姿势帮助生儿生女

  • 8男性精子存活时间有多久 精子存活率低怎么办

    男性精子存活时间有多久 精子存活率低怎么办

  • 9医生算错怀孕周数怎么办 孕龄胎龄预产期原来是这样算的

    医生算错怀孕周数怎么办 孕龄胎龄预产期原来是这样算的

  • 10备孕未准妈妈请注意 这里有份孕前自检表请签收

    备孕未准妈妈请注意 这里有份孕前自检表请签收

推荐文章

关于我们 | 广告服务 | 网站合作 | 免责声明 | 联系我们| 网站地图

© 2022 育儿早教网 All Rights Reserved. 沪ICP备20230950727号-10

声明: 本站文章均来自互联网,不代表本站观点 如有异议 请与本站联系 联系邮箱:kefu#yuerzaojiao.com (请把#替换成@)