Class相关 - Node版引擎独享
javascript
//Node版引擎导入方式
import core from 'cheese-node';
类型
布尔型:
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): 包名
用法示例:
javascript
const cls = core.cls;
console.log(cls.getClassList("coco.cheese"))
加载Apk或Dex文件: loadDex(path: string): void
✅
参数:
- ⭐
string
(path): 要加载的apk或者dex文件路径
用法示例:
javascript
const cls = core.cls;
cls.loadDex("/storage/emulated/0/app.apk");
判断 Class 是否存在: hasClass(className: string): boolean
✅
参数:
- ⭐
string
(cls): 全类名
返回值:
- 🟢
boolean
: true - 🔴
boolean
: false
用法示例:
javascript
const cls = core.cls;
if (cls.hasClass("com.example.ClassName")) {
console.log("Class 存在");
}
查找Class: findClass(className: string): ClassUtils
✅
扩展属性:
- Class对象:
clz
参数:
- ⭐
string
(cls): 全类名
返回值:
- 🟢
ClassUtils
: ClassUtils对象 - 🔴null
用法示例:
javascript
const cls = core.cls;
if (cls.hasClass("coco.cheese.Test")) {
console.log(cls.findClass("coco.cheese.Test").clz);
}
实例化构造函数: new(...args:any[]): ClassUtils
✅
参数:
- ⭐
any[]
(...args): 构造函数所需参数
返回值:
- 🟢
ClassUtils
: ClassUtils对象 - 🔴null
用法示例:
javascript
const cls = core.cls;
var obj = cls.findClass("coco.cheese.Test").new().obj
obj.p("ss")
设置类到Node环境: set(nodeName: string,name?: string):string
✅
参数:
- ⭐
string
(nodeName): nodeName string
(name): 设置类的node变量名
返回值:
- 🟢
string
: Node环境的对应变量名 - 🔴null
用法示例:
javascript
const cls = core.cls;
/**方式1*/
var c = cls.findClass("coco.cheese.Test").new()
c.set(settings.nodeName, "Test")
Test.p("ss")
/**方式2*/
var c = cls.findClass("coco.cheese.Test")
c.set(settings.nodeName, "Test")
new Test().p("ss")