实际上,我有现有的SDK,我想在react原生应用程序中使用该SDK。
对于android
-
我尝试将jar文件添加到/android/app/的libs文件夹中
-
将依赖项添加到文件/android/app/build.gradle 中
实现文件树(包括:[*.jar'],目录:'libs'(
但我不知道如何在js文件中使用这些jar文件。如何创建对象并调用方法?
主要关心的是如何在我的react原生应用程序中使用外部java库?
您应该使用本机模块,它们是JS和本机之间的桥梁
https://reactnative.dev/docs/native-modules-android
示例
public class DummyModule extends ReactContextBaseJavaModule {
MyDummyClass dummy // this context
public DummyModule(final ReactApplicationContext reactContext){
super(reactContext);
}
@Override
// getName is required to define the name of the module represented in
// JavaScript
public String getName() {
return "DummyModule";
}
@ReactMethod
public void startMyClass() {
this.dummy = new MyDummyClass();
}
@ReactMethod
public void fooActionClass() {
if(this.dummy != null){
this.dummy.fooAction();
}
}
}
在您的javascript代码中
import { NativeModules } from 'react-native';
const dummyModule = NativeModules.DummyModule;
dummyModule.startMyClass();
// Make sure that u call the action when the class is instanciated.
dummyModule.fooActionClass();
同样有用的问题从java发送hashmao以反应本地