gpt4 book ai didi

java - 从 react-native 调用 java 类方法(不是 Android Activity java 类)

转载 作者:搜寻专家 更新时间:2023-11-01 02:57:38 25 4
gpt4 key购买 nike

实际上,我是 react-native 应用程序开发的新手。我正在尝试开发一个具有数据库连接性(AWS Dynamo db)的小型 react native 应用程序。我选择 java 作为服务器端语言。我想知道,是否有可能在 react-native 中导入 java 类(即从 react-native 访问 java 方法)。

谢谢。

最佳答案

是的,您可以使用一些胶水代码。 React Native 有一个概念 Native Modules允许您与任何 Java 代码交互。

根据上面的链接说明创建 native 模块后,您可以使用 @ReactMethod 注释修饰模块上的任何方法,使其在 JavaScript 中可用:

public class YourDynamoDBModule extends ReactContextBaseJavaModule {

// ...
@ReactMethod
public void arbitraryMethod(string query, Promise promise) {
// do something with your third-party library
Promise.resolve(yourResponse);
}
//...
}

您需要比这更多的样板文件(在文档中都有解释)。一旦就绪,您就可以从 JavaScript 中调用它,如下所示:

import { NativeModules } from 'react-native';

NativeModules
.YourDynamoDBModule
.arbitraryMethod('...')
.then(result => {

});

值得注意的是,所有 native 模块调用本质上都是异步的,因此如果您需要将数据传回 JavaScript,则需要使用 promises(如上所述)或回调。

关于java - 从 react-native 调用 java 类方法(不是 Android Activity java 类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49917516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com