RN(React Native) 与 Android 初识

RN(React Native)

源码地址: https://github.com/facebook/react-native

简介

本文主要讲述RN在Android系统上是如何进行初始化,介绍也会集中在Java语言上

1. 主要类介绍

1.1 ReactContext
ReactContext继承于ContextWrapper,是RN应用的上下文,可以通过getContext()方法或侧,通过它可以访问RN核心类的实现。
1.2 ReactNativeHost
RN的配置类,用于设定JSBundleFile,BundleAssetName,Dev环境,RedBox,JSMainModuleName等信息,最重要的是它拥有一个ReactInstanceManager的实例对象,可以用来管理RN的很多操作;
1.3 ReactInstanceManager
ReactInstanceManager是RN应用的总管理类,创建ReactContext、CatalystInstance等类,解析ReactPackage生成映射表,并且配合ReactRootView管理View的创建以及生命周期等功能;
1.4 CatalystInstance
CatalystInstance是RN的应用Java层,C++层,JS层通讯总管理类,总管Java层,JS层和谐Module映射表与回调,是三端通讯的入口与桥梁
1.5 ReactActivity和ReactFragmentActivity
RN继承Android原生的Activity,用来设置Activity的内容,创建代理类ReactActivityDelegate,载入RN页面loadAPP
1.6 ReactActivityDelegate
RN相关Activity的代理类,从创建ReactRootView,设置上下文, 生命周期的控制,到载入loadAPP;可以通过继承自定义代理类,再赋值给RN的Activity,可以带上Android的Bundle作为参数直接传递给JS层
1.7 ReactRootView
顾名思义,就是RN的主view,JS代码的Component设置的UI最终都显示到这个类中,同时还复写了onTouchEvent和onInterceptTouchEvent,用于分发事件到JS

2. 调用顺序图

图片为思维导图,大致从上往下调用,类之间通过箭头指向调用;

RN-ANDROID-01.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,252评论 25 709
  • 2017到尾声,你今天起了个大早,很想找人说说话,但是家里人都懒起床,你只好打开微信,简书,一遍又一遍看那些没用的...
    论语说文阅读 1,549评论 1 2
  • 图片发自简书App 有人问我,还记得大年三十晚上说了什么么?我喝多了,也许记得也许不记得。记得一部分不记得一部分。...
    哪吒的肉阅读 1,805评论 0 3
  • 我听到过这样一句话 “最愚蠢的人莫不过自欺欺人 ” 的确,在我身边眼高手低 自命不凡的人比扎实勤恳的人多多...
    钟南意阅读 3,196评论 0 0

友情链接更多精彩内容