从集成到现有 Android 应用程序的 React Native 应用程序中获取结果

2024-02-13

我发现很多文章都在讨论如何将 React Native 集成到现有的 Android 应用程序中。但他们都没有解释如何从 React Native 代码中获取结果,以便直接在 Java Android 源代码中使用它。

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

我搜索了整个互联网,但没有找到任何关于此的信息。


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

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

您将像平常一样编码您的 RN javascript:有 2 个 TextInput 字段,其值映射到您的状态,以及一个带有 onPress 处理程序的 Button。在 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();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从集成到现有 Android 应用程序的 React Native 应用程序中获取结果 的相关文章

随机推荐