从集成到现有安卓应用程序中的 react 原生应用程序获取结果



我发现很多文章都在谈论如何将 react native 集成到现有的 android 应用程序中。但是他们都没有解释如何从反应原生代码中获取结果,以便直接在Java android源代码中使用它。

说明 :我有一个反应本机应用程序,它正在执行特定工作并在弹出窗口中显示结果。我想集成这个应用程序(进行必要的修改),以便能够将此特定结果放入我的 android Java 源代码中,而不是将其显示在反应本机弹出窗口中。

我搜索了所有的互联网,但一无所获。

也许我不明白你想做什么......但是你不能只构建一个原生模块,并让你的 React Native 应用程序在完成后调用该函数以将数据传递给你的原生代码吗?

假设您有一个应用程序的 React Native 部分,它将用户的名字和姓氏作为输入,然后他们点击提交。

您可以像往常一样对 RN javascript 进行编码:有 2 个 TextInput 字段,其值映射到您的状态,以及一个带有 onPress 处理程序的按钮。在 onPress 处理程序中,您将调用本机模块并传递参数

import { 
    NativeModules
} from 'react-native';
const NativeNameSubmission = NativeModules.NameSubmission;
...
    <Button
        onPress={() => NativeNameSubmission.submitName(this.state.firstName, this.state.lastName)}
        title="Submit"/>

您的本机模块将如下所示:

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();
    }
}

相关内容

  • 没有找到相关文章

最新更新