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

标签 javascript java android react-native

我发现很多文章都在谈论如何将 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/

相关文章:

javascript - 使用 knockout.js 进行流畅的导航

javascript - 在 Safari 中使用 blob 保存 CSV 文件

javascript - 为什么 onChange 每个值只工作一次

java - 如何使用 SAX Parser for Java 一次从一组 URL 解析多个 XML 提要?

android - 集成 Spotify Android 库

android - 无法获取简单的 TextView 以使用 Android 数据绑定(bind)

javascript - Chartkick Rails 4 条形图问题与多个图表

java - application.xml 中必需的尾部斜杠

c# - 在 Java 服务器和 C# 客户端之间共享数据对象的最快方法

android - WebView 中的 Flash Player 插件在本应位于 Flash Player 之上的 View 之上绘制