我发现很多文章都在谈论如何将 React Native 集成到现有的 Android 应用程序中。但是他们都没有解释如何从 native 代码中获取结果,以便直接在 Java android 源代码中使用它。
说明:我有一个 React native 应用程序,它正在执行特定的工作并在弹出窗口中显示结果。 我想集成此应用程序(进行必要的修改),以便能够将此特定结果添加到我的 Android Java 源代码中,而不是将其显示在 React Native 弹出窗口中。
我搜索了整个互联网,但一无所获。
最佳答案
也许我不明白你想做什么.. 但你不能只构建一个原生模块,然后让你的 React Native 应用程序在完成将数据传递到你的原生代码时调用该函数吗?
假设您的应用程序有一个 React Native 部分,它将用户的名字和姓氏作为输入,然后他们点击提交。
您将像往常一样编写您的 RN javascript:有 2 个 TextInput 字段,它们的值映射到您的状态,以及一个带有 onPress 处理程序的 Button。在 onPress 处理程序中,您将调用您的 native 模块并传递参数
import {
NativeModules
} from 'react-native';
const NativeNameSubmission = NativeModules.NameSubmission;
...
<Button
onPress={() => NativeNameSubmission.submitName(this.state.firstName, this.state.lastName)}
title="Submit"/>
您的 native 模块看起来像这样:
public class RCTNameSubmission extends ReactContextBaseJavaModule {
public RCTNameSubmission(ReactApplicationContext reactContext) {
super(reactContext);
}
@Override
public String getName() {
return "NameSubmission";
}
@ReactMethod
public void submitName(String firstName, String lastName) {
// save the name data for later use
...
// Exit React App
getCurrentActivity().finish();
}
}
关于javascript - 从集成到现有 Android 应用程序中的 React Native 应用程序获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46848210/