[英]How to call a Java method from Javascript
How do you call a Java method/ function from Javascript?如何从 Javascript 调用 Java 方法/ function?
Java Function: Java Function:
class Javafunction{
public static void main(String[] args){
System.out.println("It Works!");
}
}
Javascript Function: Javascript Function:
function CallJavafunction() {
Javafunction()
}
Thanks for answers感谢您的回答
To call java code from javascript in your react-native app, you have to create a module要在 react-native 应用程序中从 javascript 调用 java 代码,您必须创建一个模块
I suggest reading the docs: https://reactnative.dev/docs/native-modules-android我建议阅读文档: https://reactnative.dev/docs/native-modules-android
Java code - android/app/src/main/java/com/your-app-name/JavaModule.java Java 代码 - android/app/src/main/java/com/your-app-name/JavaModule.java
package com.your-app-name; // replace com.your-app-name with your app’s name
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import java.util.Map;
import java.util.HashMap;
public class JavaModule extends ReactContextBaseJavaModule {
JavaModule(ReactApplicationContext context) {
super(context);
}
@Override
public String getName() {
return "JavaModule";
}
@ReactMethod
public void Javafunction(){
System.out.println("It Works!");
}
}
Register the Module - android/app/src/main/java/com/your-app-name/MyAppPackage.java注册模块 - android/app/src/main/java/com/your-app-name/MyAppPackage.java
package com.your-app-name; // replace your-app-name with your app’s name
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class MyAppPackage 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 JavaModule(reactContext));
return modules;
}
}
JavaScript code JavaScript代码
const { JavaModule } = ReactNative.NativeModules;
JavaModule.Javafunction();
You cannot do this But you can Calling Java code from a JavaScript adapter你不能这样做但是你可以从 JavaScript 适配器调用 Java 代码
Here Is the Example and documentation: https://www.ibm.com/docs/en/mpf/8.0.0?topic=code-calling-java-from-javascript-adapter这是示例和文档: https://www.ibm.com/docs/en/mpf/8.0.0?topic=code-calling-java-from-javascript-adapter
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.