网站首页 > 技术教程 正文
前言
前天有个学员问“自己写安卓按键的插件该学些什么?”
这个问题我解决起来也比较困难,因为我对按键插件也不精通,只会个皮毛,只能讲一下基础内容。
一、安卓按键插件是什么编程语言
安卓按键的插件是基于lua语言编写的。
想要写好一个插件,首先要学会lua的基本语法,这里推荐学习教程
https://www.runoob.com/lua/lua-tutorial.html
二、按键插件都包括什么内容
通常完整的插件是由3个文件组成的。
插件名.lua
插件名.info
插件名.html
①、lua文件
lua文件是插件的功能文件,插件包含的所有命令代码都在这个文件里面,这个文件是必不可少的,而其他两个文件是可以省略的。
②、info文件
info文件是给插件增加描述的,让用户能够知道插件命令是干什么用的。
没有info文件的插件:
有info文件的插件:
info文件增加为插件增加名称,为命令增加名称,还能在写代码时增加命令使用方法的描述。
虽然info文件在命令功能上没有任何作用(有没有info文件插件都能正常使用),但是info文件能让插件看起来更完整,使用插件时查找命令更方便。
③、html文件
html文件是网页文件,是详细介绍插件每个命令的网页,一般包括命令的功能,命令的参数介绍,返回值介绍,还有提供命令使用例子的代码。
关于info文件和html文件的编写,网上有现成的工具,另外就是可以参照现有插件的info文件和html文件,在其源文件上修改。
三、插件的存放位置
插件想要正常使用,必须要放在指定文件夹:
按键助手安装目录/plugin文件夹,只需要把lua文件、info文件、html文件复制到这个文件夹,然后刷新按键助手的插件列表就可以使用插件了。
四、插件的编写
在熟悉了lua语言的基本语法后,就可以编写插件了,首先说一下插件的基本格式:
在lua文件中,想要做一个按键能用的插件,就必须要是以 QMPlugin 作为前缀的函数,也就是告诉按键,这个lua函数是按键插件。
写法有两种
①、以QMplugin为前缀直接定义函数
function QMPlugin.new()
end
②、对现有的lua函数,直接通过等于号赋值给以QMplugin前缀的函数。
function new()
end
QMPlugin.new = new
说一下基本格式:
function QMPlugin.new()
local iRet, sRet = pcall(function()
--插件的功能区
--return 函数返回值
end)
if iRet == true then
return sRet
else
print(sRet)
return ""
end
end
代码中pcall后面的函数是插件的核心功能。
local iRet, sRet = pcall(function()
--插件的功能区
end)
为啥要用pcall执行函数?
是为了对函数错误处理,可以保证即便插件函数出错了,也不会引起按键异常,可以理解为插件的异常保护机制。
local iRet, sRet
定义两个变量的作用:
iRet 存储pcall执行的函数是否正常,类型布尔值
sRet 存储函数的返回值(return)
后续在根据 iRet 的布尔值判断是否输出插件的返回值。
五、LuaAuxLib 按键精灵lua库
按键精灵自带lua库的命令,这里我就不复制了,直接提供大家一个网址,大家自己去查看把。
https://blog.csdn.net/mr_oldcold/article/details/84328296
使用方法是在命令前面加上luaAuxLib前缀
function print(...)
LuaAuxLib.TracePrint(...)
end
六、怎么学习制作插件
①、熟悉lua的基本语法
②、参照现成的插件
插件分成加密插件(后缀 .luae)和非加密插件(后缀 .lua),对于没有加密的插件,我可以直接打开源文件,比如file.lua 、shanhai.lua,只要不是luae后缀的文件,都可以使用文本打开。
参考别人的写法,自己模仿去写,遇到不会的功能可以在搜索lua相关的知识。
=正文完=
更多内容进主页查看往期文章
猜你喜欢
- 2024-10-22 历史最牛的按键精灵插件介绍,学会少走很多弯路
- 2024-10-22 「按键精灵安卓版」本地文字识别(按键精灵 获取文字)
- 2024-10-22 「按键精灵」安卓按键的命名规范(安卓6.0按键精灵手机版)
- 2024-10-22 按键精灵怎么用(按键精灵怎么用别人脚本)
- 2024-10-22 按键精灵定时器介绍和使用,不会的小伙伴速速看看精辟
- 2024-10-22 按键精灵代码注释功能(按键精灵代码教程)
- 2024-10-22 如何在最短的时间内掌握按键精灵逻辑运算符的使用
- 2024-10-22 (使用按键精灵这个功能后)!网友全都震惊了~~~
- 2024-10-22 按键精灵按钮命令讲解,你在看不懂就........
- 2024-10-22 按键精灵安卓版通过获取文字坐标进行点击(源码分享)
你 发表评论:
欢迎- 07-15Rocky Linux Nginx 自动更新免费 SSL,全流程实战
- 07-15nginx-1.22.1在linux服务器上的安装
- 07-15Rocky Linux 9 系统下安装Nginx(在linux中安装nginx)
- 07-15Rocky Linux 9.x 从零安装 Nginx 全流程:源码编译 + dnf 安装方案详解
- 07-15Linux-Nginx-反向代理篇-02(nginx反向代理apache)
- 07-15RockyLinux 9快速部署Nginx+HTTPS(基于DNF安装)
- 07-15Stellar Repair for MySQL:受损 MySQL 数据库的专业恢复工具
- 07-15在CentOS7系统源码安装Nginx+MySQL+PHP+Go
- 最近发表
-
- Rocky Linux Nginx 自动更新免费 SSL,全流程实战
- nginx-1.22.1在linux服务器上的安装
- Rocky Linux 9 系统下安装Nginx(在linux中安装nginx)
- Rocky Linux 9.x 从零安装 Nginx 全流程:源码编译 + dnf 安装方案详解
- Linux-Nginx-反向代理篇-02(nginx反向代理apache)
- RockyLinux 9快速部署Nginx+HTTPS(基于DNF安装)
- Stellar Repair for MySQL:受损 MySQL 数据库的专业恢复工具
- 在CentOS7系统源码安装Nginx+MySQL+PHP+Go
- linux通过yum安装nginx和mysql(linux在线安装nginx)
- Chat to MySQL 最佳实践:MCP Server 服务调用
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)