RN 混合开发项目调用安卓原生解决方案

需求:安卓原生页面点击跳转纯 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 即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。