Skip to content
On this page

Class相关

typescript
import core from 'cheese-core';
const class_ = core.class_;

类型

  • 布尔型:Boolean:Class<boolean>

  • 字符串型:String:Class<string>

  • 浮点型:Float:Class<number>

  • 长整型:Long:Class<number>

  • 字节数组型:ByteArray:Class<any>

ClassUtils类

typescript
type ClassUtils = {
    clz: string;
    obj: any;
    new: (...args: any[]) => any;
    set: (nodeName: string, name?: string) => string
}

Test类

kotlin
package coco.cheese
class Test {
    fun p(str:String){
        println(str)
    }
}

获取包名下的所有类: getClassList(packageName: string)List<string>

参数:

  • string (packageName): 包名

用法示例:

typescript
console.log(class_.getClassList("coco.cheese"))

加载Apk或Dex文件: loadDex(path: string): void

参数:

  • string (path): 要加载的apk或者dex文件路径

用法示例:

typescript
class_.loadDex("/storage/emulated/0/app.apk");

判断 Class 是否存在: hasClass(className: string): boolean

参数:

  • string (cls): 全类名

返回值:

  • 🟢boolean: true
  • 🔴boolean: false

用法示例:

typescript
if (class_.hasClass("com.example.ClassName")) {
    console.log("Class 存在");
}

查找Class: findClass(className: string): ClassUtils

扩展属性:

  • Class对象:clz

参数:

  • string (cls): 全类名

返回值:

  • 🟢ClassUtils: ClassUtils对象
  • 🔴null

用法示例:

typescript
if (class_.hasClass("coco.cheese.Test")) {
    console.log(class_.findClass("coco.cheese.Test").clz);
}

实例化构造函数: new(...args:any[]): ClassUtils

参数:

  • any[] (...args): 构造函数所需参数

返回值:

  • 🟢ClassUtils: ClassUtils对象
  • 🔴null

用法示例:

typescript
var cls = class_.findClass("coco.cheese.Test")
let obj = cls.new().obj
obj.p("ss")

设置类到Node环境: set(nodeName: string,name?: string):string

参数:

  • string (nodeName): nodeName
  • string (name): 设置类的node变量名

返回值:

  • 🟢string: Node环境的对应变量名
  • 🔴null

用法示例:

typescript
/**方式1*/
var cls = class_.findClass("coco.cheese.Test").new()
cls.set(settings.nodeName, "Test")
Test.p("ss")

/**方式2*/
var cls = class_.findClass("coco.cheese.Test")
cls.set(settings.nodeName, "Test")
new Test().p("ss")