React Native橋接Android模塊-Toast

React Native橋接Android模塊-Toast

1.創建模塊類

public class RNManagerModule extends ReactContextBaseJavaModule {
    private Context mContext;
    public RNManagerModule(ReactApplicationContext reactContext) {
        super(reactContext);
        mContext = reactContext;
    }

    @Override
    public String getName() {
        return "RNManagerModule";
    }

//    RN調用Android Toast
    @ReactMethod
    public void RNToast(String msg){

        Toast.makeText(mContext,msg,Toast.LENGTH_SHORT).show();

    }

}

2.註冊模塊

public class RNPackage implements ReactPackage {
    @Override
     public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
        return Collections.emptyList();
    }


    @Override
    public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
        List<NativeModule> modules=new ArrayList<>();
        //將我們創建的類添加進原生模塊列表中
        modules.add(new RNManagerModule(reactContext));
        return modules;
    }

}

3.Android包的註冊

將RNPackage添加到 MainApplication.java 中的 getPackages() 方法中
在這裏插入圖片描述

js調用原生代碼

import { NativeModules } from 'react-native';

<Button 
   title="調用原生toast"
   onPress={() => {
   NativeModules.RNManagerModule.RNToast('調用原生方法的Demo');
   }}
/>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章