HarmonyOS 鸿蒙Next ArkTS中如何通过反射实例化一个类,并调用其中方法
HarmonyOS 鸿蒙Next ArkTS中如何通过反射实例化一个类,并调用其中方法 比如我在分享包中有一个类,, 但这个分享包不一定作为entry的依赖,那我如何在entry中通过这个类名"AAClass"反射来获取这个类?
说白了就是JAVA中的 Class.forName()
class AAClass {
private static instance: AAClass | null = null;
public static getInstance(): AAClass {
if (!AAClass.instance) {
AAClass.instance = new AAClass();
}
return AAClass.instance;
}
private constructor() {}
test() {}
}
更多关于HarmonyOS 鸿蒙Next ArkTS中如何通过反射实例化一个类,并调用其中方法的实战教程也可以访问 https://www.itying.com/category-93-b0.html
没有相关信息。
更多关于HarmonyOS 鸿蒙Next ArkTS中如何通过反射实例化一个类,并调用其中方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
这边主要没有classloader,我也发愁如何实现动态注入,动态调用方法。
以下是我们目前Android现有的JS方法注入流程
先扫描哪些类继承了BaseHybridService类,获取到 Iterator<Class<BaseHybridService>>
,然后通过子类上面的运行时注解@HybridService获取到key值,通过key和类生成HashMap类型的key,Class类的键值对。
JS方法调用的时候需要申明自己需要调用的key,调用的方法名,调用的参数信息。
通过JS提供的key获取到BaseHybridService的子类,然后通过反射生成子类对象,再通过反射调用对象中的方法名,并提供入参参数,这样子就实现了H5调用Native的功能,也实现了多业务线的动态注入功能。
如果到鸿蒙上面如何实现呢?急急急