美文网首页
React Native与Android的基本类型转换

React Native与Android的基本类型转换

作者: 薛之东_HankGreen | 来源:发表于2017-08-25 15:56 被阅读0次

    Java和React Native的基本类型对应如下:

    
    Boolean = Bool
    
    Integer、Double、Float = Number
    
    String = String 
    
    Callback = function (React Native回调方式之一)
    
    ReadableMap = Object 
    
    ReadableArray = Array 
    
    WritableMap = Object
    
    WritableArray = Array
    

    重点:ReadableMap、ReadableArray负责接收React Native传递的Object,Array。WritableMap、WritableArray负责为Android发送参数给React Native。用Map、List代替上面的类进行接收和发送,必然会在Android Monitor上看到报错信息。
    Android Code:

    @ReactMethod
    public void reactOnAndroid(ReadableArray readableArray, ReadableMap readableMap, Callback callback) {
            ArrayList<Object> arrayList = readableArray.toArrayList();
            HashMap<String, Object> map = readableMap.toHashMap();
            WritableArray writableArray = Arguments.createArray();
            WritableMap writableMap = Arguments.createMap();
            for(Object obj : arrayList){
                writableArray.pushString("" + obj);
            }
            for(String key : map.keySet()){
                writableMap.putString(key,"" + map.get(key));
            }
            callback.invoke(writableArray,writableMap);
        }
    

    React Native Code:

    import {
      NativeModules
    } from 'react-native'
    let reactAndroid = NativeModules.ReactAndroid
    reactAndroid.reactOnAnroid(Array, Object, function (wArray, wMap) {
       window.alert(wArray[0])
       window.alert(JSON.stringify(wMap))
    })
    

    相关文章

      网友评论

          本文标题:React Native与Android的基本类型转换

          本文链接:https://www.haomeiwen.com/subject/fjotdxtx.html