需求:安卓原生页面点击跳转纯 RN 页面,中间有指定按钮需要调用原生方法获取原生本地数据
iOS:传值、调用原生方法相对比较简单方便。参照 rn 官网即可。或者直接移步https://blog.csdn.net/qq_18425273/article/details/79474659
本次主要记录安卓项目和 RN混合开发调试过程和注意事项,先记录大致思路,后期再做补充,希望能帮到 正在寻找解决方案的 Coder
使用ReactInstanceManager作为入接口,传值&方法调用
在网上找了很多文章,主要逻辑和步骤基本一致:1. 创建Module 2. 创建 Package关联 module 3. MainApplicaion 实现方法获取 Host。但是这种情况并不适合ReactInstanceManager,如果有 RN 何原生混合开发基础的同学应该知道ReactInstanceManager传值比继承ReactActivity传值更加灵活。如果使用了ReactInstanceManager无需在MainApplicaion实现任何方法和处理,只需要在ReactInstanceManager初始化的时候添加对应 Module 的 Package 即大功告成(果然阅读注释和文档非常重要)
使用ReactActivity子类实现传值&方法调用
这就比较 easy 了,大部分文章也是使用这种方式实现,只不过没有说明 Activity 的实现形式
1. 创建一个新的 Java 类 继承 ReactContextBaseJavaModule
2. 创建一个新的 Java 类 继承 ReactPackage
3. 在MainApplication.java类中导入Package,在列表里添加新建的Package
4. RN 中引入 NativeModules 直接调用暴露的原生 API 即可