react-native创建原生模块

react-native文档未更新,照着文档实现还是坑了不少,记录下基本步骤。

1,继承ReactContextBaseJavaModule
a,getName:模块名称
b,getConstants:常量映射
c,@ReactMethod注解暴露java方法
public void show(String message, int duration) {
    Toast.makeText(getReactApplicationContext(), message, duration).show();
}
2,注册原生模块
a,提供一个ReactPackage(继承ReactPackage)
b, public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) 
添加原生模块。
    public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
        List<NativeModule> modules = new ArrayList<>(1);
        modules.add(new MyToast(reactContext));
        return modules;
    }
c,注册包(ReactPackage)
1),ReactInstanceManager.addPackage原生实现的ReactPackage;
2),ReactApplication重写getPackages.
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(), new MyReactPackage()
      );
    }
3,js使用
a,js引入原生模块
var { NativeModules } = require('react-native');
var MyToast = NativeModules.MyToast;
b,调用
MyToast.show('you click me!', MyToast.SHORT);

 

转载于:https://my.oschina.net/droidwolf/blog/759514

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值