React Native调用Android接口

    由于工作需要近期研究了下React Native调用Android接口,该文章将介绍自己在RN环境搭建和封装第三方SDK接口以及RN调用Android接口的趟坑过程。(第一次写博客,写的不好请大家勿喷)


1:RN环境搭建

    我是参考的RN官网的搭建开发环境进行操作的,地址:

https://reactnative.cn/docs/0.42/getting-started.html#content

RN环境搭建有些繁琐,但是按照官网文章一步一步操作完成是没有太大问题的。


2:嵌入到现有原生应用

    2.1:参考RN官网 嵌入到现有原生应用,地址:

https://reactnative.cn/docs/0.42/integration-with-existing-apps.html#content

其中遇到下面命令无法执行可忽略该步骤。

React Native调用Android接口_第1张图片

    2.2:在这个过程中遇到了一个神坑卡了好长时间,文档中说执行npm start启动开发服务器,然后发现根本启动不起来一直卡着不动后来试过各种方法都不行,不知道就是起不来还是什么原因后来放弃了是用该命令 改为react-native run-android启动项目。但是该命令会报下Android project not found. Maybe run react-native android first?错误(如图)

React Native调用Android接口_第2张图片

出现这个问题主要是因为android项目的目录结构跟react-native支持的目录结构不一致导致的。可以运行“react-native upgrade”该命令运行之后你会发现你的android项目的目录结构变化了,会在项目的根目录下生成一个android文件 再次执行react-native run-android发现项目可以正常运行起来了,但是实际运行的是后来新生成的android项目,所以后期Android封装接口代码需要在该工程下编写。


3:ReactNative调用Android方法

    3.1:参考相关文章

    官网原生模块文章,地址:

https://reactnative.cn/docs/0.42/native-modules-android.html#content

CSDN 博客文章,地址:

http://blog.csdn.net/hanhailong726188/article/details/51236285

http://blog.csdn.net/u013718120/article/details/55506238


    3.2:期间一直报错找不到Name 我忘了最开始Name是什么了,然后后来我改了一个名字然后加了个RCT前缀就好了,由此RN可正常调用Android接口,然后后期我集成了声网SDK相关接口以及微信登录,下面是我最终效果图和项目github地址。

自己工程项目地址:

https://github.com/zhao331863874/ReactNative_JNITest

React Native调用Android接口_第3张图片


4:附上几个之前网上大神封装好的工程示例

RN调用声网接口工程:

https://github.com/syanbo/react-native-agora

RN调用WX接口工程:

https://github.com/reactnativecn/react-native-wx



你可能感兴趣的:(ReactNative)