React Native 原生模块开发笔记 (Android/iOS)
2016-09-14 21:14
435 查看
目录:
环境 :
Mac Xcode WebStorm Android Studio
node v6.4.0
react-native-cli: 1.0.0
react-native: 0.33.0
一、创建RN项目,作为插件开发的调试环境
二、创建RN模块
三、iOS静态库开发
四、Android模块开发
一、创建RN项目
二、创建RN模块
三、iOS静态库开发
打开Xcode
Create a new Xcode project
相关步骤如下图:
将项目保存至react-native-demo文件夹下
设置静态库Header Search Paths(如下图), 以便可以搜索到react-native库
然后进行build静态库库
将静态库RNDemo中的RNDemo.h做以下修改,以测试是否能够引用node_modules目录下的React Native库文件. (正常引用)
并将RNDemo.m文件做以下修改(后续测试使用)
打开我们创建的reactNativeDemo/ios 下的iOS项目
添加我们刚才制作的静态库,步骤如下
1、添加静态库项目
2、添加静态库依赖
接下来对react-native-demo里的index.js做以下修改
第一行代码是获取原生模块,是根据导出的模块的类名获取
接下来用export导出函数,调用后执行testDemo方法,即在静态库中的RNDemo.m导出的方法
然后在index.ios.js中import该模块,并执行方法,代码如下
使用Xcode运行ios项目,成功打印test message, 即证明静态库可以与js进行通信
四、Android模块开发
开发过程中,发现Android Studio不能够直接创建module, 又因项目通过Gradle构建(gradle自行查阅文档学习),因此可以通过直接创建文件的形式来创建Android模块,结构如下
其中build.gradle内容如下
清单文件AndroidManifest.xml内容如下
使用Android Studio打开reactNativeDemo/android 项目
设置android项目依赖,引入react-native-demo下的android模块(上面创建的目录),具体设置如下
设置build.gradle
设置settings.gradle
完成以上步骤之后,进行点击如下图按钮,刷新 gradle
异步成功之后,项目react-native-demo被成功链接
另外我们还需要build以下react-native-demo, 选中react-native-demo进行build,如图
为react-native-demo 的android模块写代码
在reactNativeDemo/android 的MainApplication添加包依赖
在AndroidStudio里运行项目,并在index.android.js文件里导入react-native-demo并测试 (结果:成功打印test message)
环境 :
Mac Xcode WebStorm Android Studio
node v6.4.0
react-native-cli: 1.0.0
react-native: 0.33.0
一、创建RN项目,作为插件开发的调试环境
二、创建RN模块
三、iOS静态库开发
四、Android模块开发
一、创建RN项目
$ react-native init reactNativeDemo $ cd reactNativeDemo $ react-native run ios
二、创建RN模块
进入项目根目录,执行以下命令: $ mkdir custom_modules $ cd custom_modules $ mkdir react-native-demo //创建自定义模块react-native-demo $ cd react-native-demo $ touch index.js //创建接口文件 $ npm init //初始化npm, 生成package.json 务必将main字段设置为接口文件路径
三、iOS静态库开发
打开Xcode
Create a new Xcode project
相关步骤如下图:
将项目保存至react-native-demo文件夹下
设置静态库Header Search Paths(如下图), 以便可以搜索到react-native库
然后进行build静态库库
将静态库RNDemo中的RNDemo.h做以下修改,以测试是否能够引用node_modules目录下的React Native库文件. (正常引用)
并将RNDemo.m文件做以下修改(后续测试使用)
打开我们创建的reactNativeDemo/ios 下的iOS项目
添加我们刚才制作的静态库,步骤如下
1、添加静态库项目
2、添加静态库依赖
接下来对react-native-demo里的index.js做以下修改
第一行代码是获取原生模块,是根据导出的模块的类名获取
接下来用export导出函数,调用后执行testDemo方法,即在静态库中的RNDemo.m导出的方法
然后在index.ios.js中import该模块,并执行方法,代码如下
使用Xcode运行ios项目,成功打印test message, 即证明静态库可以与js进行通信
四、Android模块开发
开发过程中,发现Android Studio不能够直接创建module, 又因项目通过Gradle构建(gradle自行查阅文档学习),因此可以通过直接创建文件的形式来创建Android模块,结构如下
其中build.gradle内容如下
清单文件AndroidManifest.xml内容如下
使用Android Studio打开reactNativeDemo/android 项目
设置android项目依赖,引入react-native-demo下的android模块(上面创建的目录),具体设置如下
设置build.gradle
设置settings.gradle
完成以上步骤之后,进行点击如下图按钮,刷新 gradle
异步成功之后,项目react-native-demo被成功链接
另外我们还需要build以下react-native-demo, 选中react-native-demo进行build,如图
为react-native-demo 的android模块写代码
在reactNativeDemo/android 的MainApplication添加包依赖
在AndroidStudio里运行项目,并在index.android.js文件里导入react-native-demo并测试 (结果:成功打印test message)
进阶
自己封装的原生插件: react-native-progresshub相关文章推荐
- React Native开发原生Android,IOS教程
- react native学习笔记26——iOS原生模块的封装与调用
- react native 学习笔记----使用Android的原生模块
- Android应用开发笔记(12):Android应用的自动升级、更新模块的实现
- Android应用开发笔记(12):Android应用的自动升级、更新模块的实现
- React Native iOS原生模块开发实战|教程|心得|如何创建React Native iOS原生模块
- [置顶] React-Native开发之原生模块封装(Android)升级版
- Android应用开发笔记(12):Android应用的自动升级、更新模块的实现
- ReactNative之原生模块开发并发布--iOS篇
- react native 学习笔记----封装Android的原生组件
- Android原生(Native)C开发之五:zlib移植笔记
- Android应用开发笔记(12):Android应用的自动升级、更新模块的实现
- Android原生(Native)C开发之四:SDL移植笔记
- React Native 开发基础组件 触摸组件 类似于android原生 button
- Android原生(Native)C开发之四:SDL移植笔记
- 移动开发新选择 使用javascript开发iOS和Android原生应用
- 【React Native开发】React Native移植原生Android项目(Mac用)
- Android原生(Native)C开发之七:libjpeg移植笔记
- Android个人学习笔记之ListView知识应用-仿IOS百度云条目点击显示菜单模块实现
- React-Native开发之原生模块封装(Android)升级版