• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.3.0
软件大小:62.5M
更新时间:5-24

按键精灵iOS版
立即下载

软件版本:1.3.3
软件大小:29.2M
更新时间:06-14

按键精灵Mac版
立即下载

软件版本:1.1.0
软件大小:12.3M
更新时间:12-29

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
发新话题 回复该主题

[按键精灵安卓版] 小知识点合集3 - 【201512期】 [复制链接]

1#

小知识点合集3


本文按键学院提供技术支持


按键学院交流①群(已满):376122403

按键学院交流②群(已满):372671254

按键学院交流③群(快满):170084238

按键学院安卓①群:115768679





写脚本的时候,总有一些事与愿违的地方,一个不经意的小地方,可能会令我们寻找半天才发现并且解决,将我们平时碰到的积累起来,是一笔不小的财富,积少成多,跟着我记下书写脚本的点点滴滴吧。



1. 程序的切换


我们经常碰到这样的需求:打开最近的应用列表,选取我们想要的程序。但是每个手机为了自己的风格,样式都有区别,甚至连列表的滑动方向都不一样,我们很难通过模拟操作来识别点击,那么我们做的只能给自己用。没办法了吗?当然不!我们来看看有哪些相关的命令,找啊找,终于,我们在命令大全找到了GetRunningApp()这个函数,命令的用法是:
  1. Dim arr() //定义一个数组变量
  2. arr=GetRunningApp() //获取所有应用程序包名并将它们合并到arr数组中保存
  3. For each n in arr
  4. TracePrint n //遍历arr数组并输出所有获取的包名字符
  5. Next
复制代码
命令功能易懂,返回的是一个应用包名列表,好了,列表名找到了,那么我们来看看获取的列表名有什么规律,我们尝试打开一个应用并运行一下脚本:



我们可以发现,在获取运行中的应用列表的最下面,含有我们最后一次打开的应用,我们再打开一个应用试验一下:


证明我们的想法完全没错,并且,我们可以发现,倒数第二个就是我们上次打开的应用,根据这个特性,我们就不需要使用Menu键或者长按HOME键(Android 4.4之前)去打开最近的应用列表了。我们只需要这么写:
  1. Dim arr= GetRunningApp()

  2. Function UBound(arr)
  3. Dim i = 0
  4. For Each str In arr
  5. i = i + 1
  6. Next
  7. UBound = i
  8. End Function

  9. RunApp arr(UBound(arr)-2) //打开上次打开的程序,上一个程序是-2而不是-1是因为数组下标从0开始
复制代码
2. 脚本之间的交互

我们知道,有的功能,可能一个线程并不能完美实现,这时候需要我们用到多线程,但是多线程的写法相对来说复杂一些,那么有什么好办法吗?我们尝试着打包两个小精灵,并同时运行,发现这是行得通的,那么我们就可以以这种另类的方式实现多线程,并且,我们可以很方便的进行组合来实现功能(例如我有一个脚本是用来做定时重启游戏的,一个是a游戏脚本的,一个是b游戏脚本的,那么我只需要在定时重启游戏的脚本里设置不同游戏并运行,就等于开启了一个线程用来检测,这个时候我可以自己搭配a游戏脚本或者b游戏脚本),这种方式虽然降低了脚本难度,但是确提高了控制难度,实在算不上多好的方法,但是他有其独特的地方,那就是我们可以根据同样的原理,来对手机按键(模拟器中)和PC按键之间进行交互,比如我希望手机上运行游戏,电脑端实时反馈游戏情况,相信很多人知道模拟器的图像并不好获取,一缩放就都变样了,因此使用PC按键来写模拟器中的游戏脚本不是好选择。而PC端用PC按键,手机端用手机按键,只要他们之间有桥梁就能够完美协调。
说了那么多,交互方法呢!别急,马上说,我们知道模拟器是可以共享文件夹的,也就是他可以和我们的硬盘数据共享,那么交互就可以采用文本来交互!至于交互的方法,如果经常看院刊的童鞋,应该能从之前的一篇院刊得到一点启发:打码平台接入 - 【201510期】,看名字感觉没什么关系,但是实际上,他们的原理是一样的,通过读取修改同一个文件来实现交互。
们来分析一个功能:我们需要在手机端上为XX平台刷数据量(咳咳),于是我们需要登陆进去,简单的使用一键注册的方式来注册账号,并记录下系统为我们分配的ID号,使用识字命令记录下识别到的ID:安卓按键2.5居然能够找字啦-【201509期】字库制作入住抓抓-【201511期】,然后存储到文本中:用安卓按键来实现自动换号 -【201509期】,这个时候再通过PC端的文本读取来得到ID值进行处理,你可以识别到新的ID就添加到word文档,或者通过QQ发送给某某。
你们也许会说!文本又不需要实时去读取,根本没必要做此交互,以上的例子可能如此,但是这并不代表他就没有独特的地方可以用到,我们知道,现在的模拟器一个个先后支持了多开,如果我开了2个模拟器。有100个号需要他们完成,我们可以人工的一个模拟器设定一次,并分别记下他们处理到的位置,并且由于多开的模拟器处理速度不一致,可能出现有的快有的慢的情况,我们不好协调分配,基于这个情况,我们是否就能用到上述的方式来进行处理呢?

这一期较多的是思想而不是代码,毕竟先有想法再实现,所以大家可以发散思维,可能一些另类的方法反而能更好的实现我们需要的功能!


    已有1评分我要评分查看所有评分

    最后编辑兄弟工程师13 最后编辑于 2015-12-09 17:24:32
    本主题由 按键工程师 兄弟工程师13 于 2015/12/9 17:25:19 执行 移动主题 操作
    2#

    错误:第2行:名称 UBound 有重复。错误码=607

    3#
    承接各类脚本制作,以诚待人,非诚勿扰!联系QQ:2601259236
    4#

    谢谢了,吸收了

    发新话题 回复该主题