CloudGG 函数教程

什么是CloudGG?
注意,这不是GG修改器,而是GG云端函数库!
这是GG修改器新的时代,云函数GG修改器,他的强大之处在于简单一键接入,立刻使用远程最新函数库,还支持完美加密和制作解密器,云函数远程更新,对接后的修改器可以不用再次做更改,完美解决了函数对接难,繁琐的问题,且将GG修改器安全提升到更高的层次!
目前CloudGG只是完成了基础架构,需要大家一起为CloudGG的函数库做贡献!您所创作的函数将享有版权!
注意注意,这是免费的!
核心开发者:小五,执念,文艺,妒猫

下载地址

点击下载

已添加的函数库

  • 1.File库
  • 2.Json库
  • 3.Canvas绘制库
  • 4.System库
  • 5.Build库
  • 6.util库
  • 7.Tools库
  • 8.Root库
  • 9.Screen库
  • 10.Zip库
  • 11.AES库
  • 12.http库
  • 13.base64库

File库

function(arg) -->table

arg 为文件路径或者文件夹路径

--调用函数

--文件或者文件夹
file = File("/sdcard/Notes/测试.lua")

判断文件或者文件夹是否存在

--判断路径是否存在 判断是否为文件
print(file.exists()))

判断文件读写或者执行

print(file.canExecute())--判断文件是否可执行
print(file.canRead())--判断文件是否可读
print(file.canWrite())--判断文件是否可写

创建文件夹

file.mkdir()--创建新文件夹(一层)
file.mkdirs()--创建新文件夹(多层)

--判断文件夹不存在并创建
file = File("/sdcard/文件夹")
if not (file.exists() and file.isDirectory()) then
  print("目标路径不存在")
  file.mkdir()
end

创建新的文件

file.createNewFile()

--判断文件不存在并创建
file = File("/sdcard/文件.lua")
if not (file.exists() and file.isFile()) then
  print("目标文件不存在")
  file.createNewFile()
end

删除文件或者文件夹

file.delete()

计算文件内容的hash值

print(file.hashCode())

--可以用来判断两个文件
file1 = File("/sdcard/文件1.lua")
file2 = File("/sdcard/文件2.lua")
if (file1.hashCode()==file2.hashCode()) then
  print("为同一文件!")
end

判断文件或者文件夹

print(file.isDirectory())--判断是否为文件夹
print(file.isFile())--判断是否为文件
print(file.isAbsolute())--判断是否为完整路径
print(file.isHidden())--判断是否为隐藏文件

获取文件或者文件夹最后修改的时间

print(file.lastModified())--返回的是长整形值的时间戳

--时间格式化
print(os.date("*t", tostring(file.lastModified()):gsub("000","")))

获取文件字节数

print(file.length())

获取目录下所有文件和文件夹名

path = File("/sdcard")
print(path.list())

获取目录下的所有文件和文件夹

path = File("/sdcard")
print(path.listFiles())

--获取绝对路径
file = File("/sdcard")
for k,v in pairs(file.listFiles()) do
  print(v.getAbsolutePath())
end

根目录

print(file.listRoots())

get方法

print(file.getAbsolutePath())--获取绝对路径
print(file.getFreeSpace())--获取文件磁盘剩余存储空间
print(file.getTotalSpace))--获取文件磁盘总共存储空间
print(file.getUsableSpace())--获取文件磁盘能使用的空间
print(file.getName())--获取文件夹或者文件名称
print(file.getParent())--获取父路径名称
print(file.getParentFile())--获取父路径
print(file.getPath())--获取file的名称

set方法

file.setExecutable(arg)--所有者或所有人的访问权限设置为执行文件
file.setReadable(arg)--所有者或所有人的读取访问权限设置为读取文件
file.setWritable(arg)--所有者或所有人的写入访问权限设置为写入文件
--以上三个函数传入的参数 arg为boolean的参数
--传入true ,false相反

file.setLastModified()--设置文件的最后修改时间
--修改文件为当前时间
file.setLastModified(os.time().."000")

File函数的简易选择文件

--小五制作的简单基础上优化了下
local mPath = "/sdcard/"--路径
local file = File(mPath)
function date(time)
  return os.date("%Y-%m-%d\t%X", tostring(time):gsub("000",""))
end
function readDir(f)
  mPath=f.toString()
  if (mPath == "/") then
    os.exit(gg.alert("无权限访问根目录"))
  end
  list=f.listFiles()
  tab = {
    files = {f.getParentFile()},
    names = {"📤返回上一级...\n"}
  }
  table.sort(list,function(a,b)
    return (a.isDirectory()~=b.isDirectory() and a.isDirectory()) or ((a.isDirectory()==b.isDirectory()) and a.getName()<b.getName())
  end)
  for k,v in ipairs(list) do
    if(v.isFile())then type = "📄 " else type = "🗂️ " end
    tab.names[k+1] = type..v.getName().."\n"..date(v.lastModified()).."\n"
    tab.files[k+1] = v
  end
end

readDir(file)
function Main()
  r = gg.choice(tab.names,nil,mPath)
  if(r ~= nil)then
    if(tab.files[r].isFile())then
      gg.toast("你选择了文件:"..tab.files[r].getAbsolutePath())
      CL = 0
     else
      mPath = tab.files[r].getAbsolutePath()
      readDir(tab.files[r])
    end
   else
    CL = 0
  end
end

while(true)do
  if gg.isVisible(true) then
    CL = 1
    gg.setVisible(false)
  end
  if CL == 1 then
    Main()
  end
end

System库

function() -->table

--打印函数表
print(System)
--[[
{
	['currentTimeMillis'] = function: currentTimeMillis,
	['exit'] = function: exit,
	['nanoTime'] = function: nanoTime,
}
]]

System.currentTimeMillis()

--获取当前时间戳,单位为毫秒

print(System.currentTimeMillis())

System.nanoTime()

--获取当前时间戳,单位为纳秒
print(System.nanoTime())

System.exit(status)

--终止目前正在运行的程序
--status参数为 0:正常终止
--status参数非 0:异常终止
System.exit(0)

Build库

--打印函数表
print(Build)

print("主板:" .. Build.BOARD)
print("系统启动程序版本号:" .. Build.BOOTLOADER)
print("系统定制商:" .. Build.BRAND)
print("cpu指令集:" .. Build.CPU_ABI)
print("cpu指令集2" .. Build.CPU_ABI2)
print("设置参数:" .. Build.DEVICE)
print("显示屏参数:" .. Build.DISPLAY)
print("无线电固件版本:" .. Build.getRadioVersion())
print("硬件识别码:" .. Build.FINGERPRINT)
print("硬件名称:" .. Build.HARDWARE)
print("HOST:" .. Build.HOST)
print("修订版本列表:" .. Build.ID)
print("硬件制造商:" .. Build.MANUFACTURER)
print("版本:" .. Build.MODEL)
print("硬件序列号:" .. Build.SERIAL)
print("手机制造商:" .. Build.PRODUCT)
print("描述Build的标签:" .. Build.TAGS)
print("TIME:" .. Build.TIME)
print("builder类型:" .. Build.TYPE)
--打印SDK
print(Build.VERSION())
{
	['SDK'] = '29',
	['SDK_INT'] = 29,
}

Util库

本函数库是集合了已知或者未添加的便携功能库

--打印函数表
print(Util)
--[[
{
['getScreen'] = getScreen():返回屏幕数据,	
['getUUID'] = getUUID():返回UUID,	
['openApp'] = openApp():打开指定包名app,	
['openUrl'] = openUrl():打开app的Url,	
['qqchat'] = qqchat():打开qq聊天,	
['qqgroup'] = [qqgroup():打开qq群,
}
]]

返回屏幕数据

Screen = Util.getScreen()

print(Screen.width)--屏幕宽度
print(Screen.height)--屏幕高度
print(Screen.density)--屏幕密度
print(Screen.densityDpi)--屏幕密度dpi

获取UUID

Util.getUUID(arg)
--arg参数为字符串

--如果没有传入参数
print(Util.getUUID())
--返回随机32位字符串

--如果传入了参数
print(Util.getUUID("你好"))
--返回传入字符串构造的UUID。

跳转其他应用

App = Util.openApp("需要跳转的应用包名")
if App then
  gg.toast("成功")
else
  gg.alert("失败")
end

跳转浏览器打开网页

Url = Util.openUrl("链接")

if  Url  then
  gg.toast("成功")
else
  gg.alert("失败")
end

跳转QQ

--跳转到QQ聊天界面
print(Util.qqchat("QQ号"))
--跳转到QQ群聊界面
print(Util.qqgroup("QQ群"))
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值