com.facebook.react.bridge.ReadableArray#getArray ( )源码实例Demo

下面列出了com.facebook.react.bridge.ReadableArray#getArray ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

private void arrayGetByType(ReadableArray array, int index, String typeToAskFor) {
  if (typeToAskFor.equals("double")) {
    array.getDouble(index);
  } else if (typeToAskFor.equals("int")) {
    array.getInt(index);
  } else if (typeToAskFor.equals("string")) {
    array.getString(index);
  } else if (typeToAskFor.equals("array")) {
    array.getArray(index);
  } else if (typeToAskFor.equals("map")) {
    array.getMap(index);
  } else if (typeToAskFor.equals("boolean")) {
    array.getBoolean(index);
  } else {
    throw new RuntimeException("Unknown type: " + typeToAskFor);
  }
}
 
源代码2 项目: BaiduMapKit   文件: BaiduMapViewManager.java
/**
 * 显示地理标记
 *
 * @param mapView
 * @param array
 */
@ReactProp(name="marker")
public void setMarker(MapView mapView, ReadableArray array) {
    Log.d(TAG, "marker:" + array);
    if (array != null) {
        for (int i = 0; i < array.size(); i++) {
            ReadableArray sub = array.getArray(i);
            //定义Maker坐标点
            LatLng point = new LatLng(sub.getDouble(0), sub.getDouble(1));
            //构建Marker图标
            BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding);
            //构建MarkerOption,用于在地图上添加Marker
            OverlayOptions option = new MarkerOptions()
                    .position(point)
                    .icon(bitmap)
                    .draggable(true);
            //在地图上添加Marker,并显示
            mapView.getMap().addOverlay(option);
        }
    }
}
 
源代码3 项目: react-native-GPay   文件: NetworkingModule.java
/**
 * Extracts the headers from the Array. If the format is invalid, this method will return null.
 */
private @Nullable Headers extractHeaders(
    @Nullable ReadableArray headersArray,
    @Nullable ReadableMap requestData) {
  if (headersArray == null) {
    return null;
  }
  Headers.Builder headersBuilder = new Headers.Builder();
  for (int headersIdx = 0, size = headersArray.size(); headersIdx < size; headersIdx++) {
    ReadableArray header = headersArray.getArray(headersIdx);
    if (header == null || header.size() != 2) {
      return null;
    }
    String headerName = header.getString(0);
    String headerValue = header.getString(1);
    if (headerName == null || headerValue == null) {
      return null;
    }
    headersBuilder.add(headerName, headerValue);
  }
  if (headersBuilder.get(USER_AGENT_HEADER_NAME) == null && mDefaultUserAgent != null) {
    headersBuilder.add(USER_AGENT_HEADER_NAME, mDefaultUserAgent);
  }

  // Sanitize content encoding header, supported only when request specify payload as string
  boolean isGzipSupported = requestData != null && requestData.hasKey(REQUEST_BODY_KEY_STRING);
  if (!isGzipSupported) {
    headersBuilder.removeAll(CONTENT_ENCODING_HEADER_NAME);
  }

  return headersBuilder.build();
}
 
public void testNestedArray() {
  mCatalystInstance.getJSModule(TestJSToJavaParametersModule.class).returnNestedArray();
  waitForBridgeAndUIIdle();

  List<ReadableArray> calls = mRecordingTestModule.getArrayCalls();
  assertEquals(1, calls.size());
  ReadableArray array = calls.get(0);
  assertNotNull(array);
  assertEquals(2, array.size());
  assertEquals("we", array.getString(0));

  assertFalse(array.isNull(1));
  ReadableArray subArray = array.getArray(1);
  assertEquals(2, subArray.size());
  assertEquals("have", subArray.getString(0));

  subArray = subArray.getArray(1);
  assertEquals(2, subArray.size());
  assertEquals("to", subArray.getString(0));

  subArray = subArray.getArray(1);
  assertEquals(2, subArray.size());
  assertEquals("go", subArray.getString(0));

  subArray = subArray.getArray(1);
  assertEquals(1, subArray.size());
  assertEquals("deeper", subArray.getString(0));
}
 
public void testMapParameterWithArrays() throws InterruptedException {
  mCatalystInstance.getJSModule(TestJSToJavaParametersModule.class).returnMapWithArrays();
  waitForBridgeAndUIIdle();

  List<ReadableMap> calls = mRecordingTestModule.getMapCalls();
  assertEquals(1, calls.size());
  ReadableMap map = calls.get(0);
  assertNotNull(map);

  ReadableArray arrayParameter;
  assertTrue(map.hasKey("empty"));
  arrayParameter = map.getArray("empty");
  assertNotNull(arrayParameter);
  assertEquals(0, arrayParameter.size());

  assertTrue(map.hasKey("ints"));
  assertFalse(map.isNull("ints"));
  arrayParameter = map.getArray("ints");
  assertNotNull(arrayParameter);
  assertEquals(2, arrayParameter.size());
  assertEquals(43, arrayParameter.getInt(0));
  assertEquals(44, arrayParameter.getInt(1));

  assertTrue(map.hasKey("mixed"));
  arrayParameter = map.getArray("mixed");
  assertNotNull(arrayParameter);
  assertEquals(3, arrayParameter.size());
  assertEquals(77, arrayParameter.getInt(0));
  assertEquals("string", arrayParameter.getString(1));
  ReadableArray nestedArray = arrayParameter.getArray(2);
  assertEquals(2, nestedArray.size());
}
 
@Override
public void receiveCommand(TabLayoutView root, int commandId, @Nullable ReadableArray args) {
	Assertions.assertNotNull(root);
	Assertions.assertNotNull(args);

	switch (commandId) {
		case COMMAND_SETUPWITHVIEWPAGER:
			ViewPager viewPager = (ViewPager) root.getRootView().findViewById(args.getInt(0));
			if (viewPager != null) {
				root.setupWithViewPager(viewPager);
				ReadableArray tabsSettingsArray = args.getArray(1);
				if (!this.addTabs(root, tabsSettingsArray)) {
					throw new IllegalViewOperationException(
							"One or more tabs was/were not created: an error occurred (ReadableArray null and/or TabLayoutView null) in " +
									getClass().getSimpleName()
					);
				}
			} else {
				throw new IllegalViewOperationException(
						"Nonexistent ViewPager instance. Null value received by " +
								getClass().getSimpleName()
				);
			}
			break;
		default:
			throw new IllegalArgumentException(
					String.format(
							"Unsupported command %d received by %s.",
							commandId,
							getClass().getSimpleName()
					)
			);
	}
}
 
@Override
public void receiveCommand(TabLayoutView root, int commandId, @Nullable ReadableArray args) {
	Assertions.assertNotNull(root);
	Assertions.assertNotNull(args);

	switch (commandId) {
		case COMMAND_SETUPWITHVIEWPAGER:
			ViewPager viewPager = (ViewPager) root.getRootView().findViewById(args.getInt(0));
			if (viewPager != null) {
				root.setupWithViewPager(viewPager);
				ReadableArray tabsSettingsArray = args.getArray(1);
				if (!this.addTabs(root, tabsSettingsArray)) {
					throw new IllegalViewOperationException(
							"One or more tabs was/were not created: an error occurred (ReadableArray null and/or TabLayoutView null) in " +
									getClass().getSimpleName()
					);
				}
			} else {
				throw new IllegalViewOperationException(
						"Nonexistent ViewPager instance. Null value received by " +
								getClass().getSimpleName()
				);
			}
			break;
		default:
			throw new IllegalArgumentException(
					String.format(
							"Unsupported command %d received by %s.",
							commandId,
							getClass().getSimpleName()
					)
			);
	}
}
 
static Object get(ReadableArray array,int index,Object defaultValue){
    if (array == null){
        return defaultValue;
    }

    try {
        Object value = null;
        ReadableType type = array.getType(index);
        switch(type){
            case Boolean:
                value = array.getBoolean(index);
                break;
            case Number:
                value = array.getDouble(index);
                break;
            case String:
                value = array.getString(index);
                break;
            case Map:
                value = array.getMap(index);
                break;
            case Array:
                value = array.getArray(index);
                break;
            case Null:
                break;
        }
        return value;
    } catch (NoSuchKeyException ex){
        return defaultValue;
    }
}
 
static Object get(ReadableArray array,int index,Object defaultValue){
    if (array == null){
        return defaultValue;
    }

    try {
        Object value = null;
        ReadableType type = array.getType(index);
        switch(type){
            case Boolean:
                value = array.getBoolean(index);
                break;
            case Number:
                value = array.getDouble(index);
                break;
            case String:
                value = array.getString(index);
                break;
            case Map:
                value = array.getMap(index);
                break;
            case Array:
                value = array.getArray(index);
                break;
            case Null:
                break;
        }
        return value;
    } catch (NoSuchKeyException ex){
        return defaultValue;
    }
}