[React Native Android 安利系列]js調用java組件原理

歡迎你們收看react-native-android系列教程,跟着本系列教程學習,能夠熟練掌握react-native-android的開發,你值得擁有:
https://segmentfault.com/blog...java

上節說到,咱們能夠經過react-native的接口,來向js中導出原生的方法,並能夠被調用,這節,咱們來分析一下,整個過程是怎樣的,做爲咱們系列教程中的一節,其實只是輔助咱們更好的開發和理解,不感興趣的同窗能夠直接跳過看下一章~react

1. 大體原理

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方法。佈局

2. 圖解

如下爲整個過程的圖解:(拿windows附件裏面的畫圖畫的,太難看,你們不要見怪.....)
151942_tXBq_1177792.png
由於是講解,本文沒有代碼例子。若是想更加詳細的瞭解調用關係,及詳細代碼,推薦參考這篇文章:學習

https://zhuanlan.zhihu.com/p/...
下節更精彩,咱們未來一塊兒看看react-native-android的樣式的寫法及常見的佈局小例子,不要錯過哦~spa

相關文章
相關標籤/搜索