程序员开发实例大全宝库

网站首页 > 编程文章 正文

想自己写一个按键精灵的插件,该怎么入手?

zazugpt 2024-09-02 04:33:04 编程文章 28 ℃ 0 评论

前言

前天有个学员问“自己写安卓按键的插件该学些什么?”

这个问题我解决起来也比较困难,因为我对按键插件也不精通,只会个皮毛,只能讲一下基础内容。

一、安卓按键插件是什么编程语言

安卓按键的插件是基于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相关的知识。

=正文完=

更多内容进主页查看往期文章

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表