下面列出了怎么用com.facebook.react.bridge.NativeModule的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public List<ModuleSpec> getNativeModules(final ReactApplicationContext reactContext) {
List<ModuleSpec> moduleSpecList = new ArrayList<>();
moduleSpecList.add(
ModuleSpec.nativeModuleSpec(
JSCHeapCapture.class,
new Provider<NativeModule>() {
@Override
public NativeModule get() {
return new JSCHeapCapture(reactContext);
}
}));
moduleSpecList.add(
ModuleSpec.nativeModuleSpec(
JSCSamplingProfiler.class,
new Provider<NativeModule>() {
@Override
public NativeModule get() {
return new JSCSamplingProfiler(reactContext);
}
}));
return moduleSpecList;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new SQLitePlugin(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new RNBottomSheet(reactContext));
return modules;
}
@NonNull
@Override
public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
List modules = new ArrayList();
modules.add(new RNCAppearanceModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new FlurryAnalyticsModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
Log.v("ArcGISMapPackage", "createNativeModules");
List<NativeModule> modules = new ArrayList<>();
modules.add(arcGISMapModule);
return modules;
}
@Test
public void testThatCompositeReturnsASumOfNativeModules() {
// Given
CompositeReactPackage composite = new CompositeReactPackage(packageNo1, packageNo2);
NativeModule moduleNo1 = mock(NativeModule.class);
when(moduleNo1.getName()).thenReturn("ModuleNo1");
// module2 and module3 will share same name, composite should return only the latter one
final String sameModuleName = "SameModuleName";
NativeModule moduleNo2 = mock(NativeModule.class);
when(moduleNo2.getName()).thenReturn(sameModuleName);
NativeModule moduleNo3 = mock(NativeModule.class);
when(moduleNo3.getName()).thenReturn(sameModuleName);
NativeModule moduleNo4 = mock(NativeModule.class);
when(moduleNo4.getName()).thenReturn("ModuleNo4");
when(packageNo1.createNativeModules(reactContext)).thenReturn(
Arrays.asList(new NativeModule[]{moduleNo1, moduleNo2}));
when(packageNo2.createNativeModules(reactContext)).thenReturn(
Arrays.asList(new NativeModule[]{moduleNo3, moduleNo4}));
// When
List<NativeModule> compositeModules = composite.createNativeModules(reactContext);
// Then
// Wrapping lists into sets to be order-independent.
// Note that there should be no module2 returned.
Set<NativeModule> expected = new HashSet<>(
Arrays.asList(new NativeModule[]{moduleNo1, moduleNo3, moduleNo4}));
Set<NativeModule> actual = new HashSet<>(compositeModules);
assertEquals(expected, actual);
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new ClipboardModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new RNImmediatePhoneCallModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new ReactNativeIntl(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new RNActivityRecognitionNativeModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modulesList = new ArrayList<>();
module = new Web3WebviewModule(reactContext);
modulesList.add(module);
return modulesList;
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
paypalModule = new PayPal(reactContext, context, paymentIntentRequestCode);
modules.add(paypalModule);
return modules;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new LANScanModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new RNWebViewJSContextModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new RNBottomSheet(reactContext));
return modules;
}
@Override
public ReactInstanceEasyBuilder addNativeModule(NativeModule nativeModule) {
if (mNativeModuleRegistryBuilder == null) {
mNativeModuleRegistryBuilder = new NativeModuleRegistryBuilder(
(ReactApplicationContext) mContext,
null);
}
Assertions.assertNotNull(nativeModule);
mNativeModuleRegistryBuilder.addNativeModule(nativeModule);
return this;
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new ReactNativeSmooch(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new CookieManagerModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new PjSipModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new DBManager(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new DateModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new RCTChirpSDKModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new BackgroundColorModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new RNDownloadButtonModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new BadgeModule(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new ReactNativeOBD2Module(reactContext));
return modules;
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Arrays.<NativeModule>asList(new VIForegroundServiceModule(reactContext));
}
@Override
@NonNull
public List<NativeModule> createNativeModules(@NonNull final ReactApplicationContext reactContext) {
return Collections.singletonList(KeychainModule.withWarming(reactContext));
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Collections.emptyList();
}