前面妹子图集app的文章
http://www.jianshu.com/p/6f2c4bec4be1
已经使用到了android的原生模块开发技术,这里对原生模块开发进行一些整理总结。
1、原生模块与RN交互的三种方式
Callback/Promise/Event
callback最简单,就是js里面的回调
@ReactMethod
public void getNativeClass(Callback callback) {
callback.invoke("BGNativeExampleModule");
}
promise应该是使用最多的方式,
@ReactMethod
public void testPromises(Boolean isResolve, Promise promise) {
if (isResolve) {
promise.resolve(isResolve.toString());
} else {
promise.reject(isResolve.toString());
}
}
event目前我的代码没有用到,这种case特别适合im聊天的情况
2、在原生模块里面调起UI
这种情况其实核心是native的开发了,比如我们使用系统的相册功能,通过原生模块调起新UI页面,可以参考下面的文章
https://www.oschina.net/question/2680454_2207902
3、推荐一个创建模块的工具
https://github.com/frostney/react-native-create-library