RN和Android(安卓)通信实操
16lz
2021-12-04
RN调用Android 方法
第一步
在android中创建类(ActuatorReactJavaModule,class名随意),继承ReactContextBaseJavaModule 实现继承方法。在类中实现一个方法(Native_AsyncTest,方法名随意),用@ReactMethod 修饰。此方法就是通过RN调用的方法。
第二步
在android中创建第二个类(ActuatorReactPackage,class 名随意),继承ReactPackage 实现继承方法。在createNativeModules 方法中进行如下修改
public List createNativeModules(ReactApplicationContext reactContext) { List modules=new ArrayList<>(); modules.add(new ActuatorReactJavaModule(reactContext)); return modules; }
第三步
在MainApplication 类中的 getPackages 方法返回第二个类。
protected List getPackages() { return Arrays.asList( new MainReactPackage(), new ActuatorReactPackage() ); }
第四步
在RN中使用如下调用
NativeModules.ActuatorReactJavaModule.Native_AsyncTest();
就可以调用android中的方法了。
android 调用 RN方法
第一步
在RN中的componentWillMount 方法中,使用DeviceEventEmitter 添加监听,代码如下。
componentWillMount(){ DeviceEventEmitter.addListener('EventName_Async', this.onEvent_Async); }onEvent_Async = (e) => { alert(JSON.stringify(e));}
第二步
在android 中
触发监听,代码如下
public void Native_AsyncTest(){ // 发送事件 WritableMap et= Arguments.createMap(); et.putInt("key1", 11); et.putInt("key2", 22); sendEvent(myContext,"EventName_Async",et);}
就可以完成调用。
更多相关文章
- Android(安卓)Android(安卓)Studio 快捷键整理分享,IntelliJ IDE
- Rexsee API介绍:Android屏幕锁定Keyguard
- android onTouchEvent和setOnTouchListener中onTouch的区别
- Android(安卓)IPC 通讯机制源码分析
- android关机重启流程代码
- android 数据持久化简述
- Android多线程同步转异步方法总结
- android TabHost选项卡示例
- android 上调试动态库方法