欢迎你们收看react-native-android系列教程,跟着本系列教程学习,能够熟练掌握react-native-android的开发,你值得拥有:
https://segmentfault.com/blog...java
上节说到,咱们能够经过react-native的接口,来向js中导出原生的方法,并能够被调用,这节,咱们来分析一下,整个过程是怎样的,做为咱们系列教程中的一节,其实只是辅助咱们更好的开发和理解,不感兴趣的同窗能够直接跳过看下一章~react
react-native中js与java沟通的主要桥梁就是jscore与jni了。下面,咱们捋一下整个流程。android
1.1 react-native 在java中注册的模块及其方法。在初始化的时候,java经过JNI,注册统一方法到C++中。segmentfault
1.2 C++在初始化的时候,会注册一个全局的方法,到jscore中。该方法js能够调用,而且会调用C++方法。windows
1.3 js运行时,会经过nativeModule将原生方法暴露,在js调用方法的时候去调用C++提供的全局方法。react-native
1.4 C++经过js的调用,反射查找java类,并调用java的方法。去告诉java执行某一方法。frontend
1.5 java被调用,执行咱们以前注册过的java方法。布局
如下为整个过程的图解:(拿windows附件里面的画图画的,太难看,你们不要见怪.....)
由于是讲解,本文没有代码例子。若是想更加详细的了解调用关系,及详细代码,推荐参考这篇文章:学习
https://zhuanlan.zhihu.com/p/...
下节更精彩,咱们未来一块儿看看react-native-android的样式的写法及常见的布局小例子,不要错过哦~spa