首页 > 解决方案 > 在 React Native 项目中使用 java 库的方法是什么?

问题描述

我正在尝试使用 React-Native 来实现一个 Android 应用程序,但我不熟悉 Java。

我创建了一个基本的 React-Native 应用程序,它有一个文本框和一个按钮。当您单击按钮时,它会将文本框值添加到列表中并在屏幕上显示,如下所示。

图1

一切似乎都很好。我读到的关于 react-native 的内容是,它将 javascript 转换为原生(ios、android)代码。第一个问题,这个转换后的代码在哪里?我在文本框中放置了一个占位符,并在reach-native 项目的android 文件夹中搜索占位符文本。但我在 android 文件夹中的任何地方都找不到文本。

在此处输入图像描述

我运行react-native run-android命令及其工作,那么我可以在 android 项目中找到文本框占位符的转换代码在哪里?

最后一个问题是我想使用本机 Java 库来连接特定网关(https://github.com/calimero-project/introduction)。将它集成到 react-native 应用程序的最佳方法是什么?

标签: androidreact-native

解决方案


不,ReactNative 不会将 JS 转换为原生代码。它在基于 C 的 Javasript 解释器上运行它。它将渲染函数返回的组件转换为原生视图。至少其中一些。其他的它没有并且使用它自己的替换,所以它不是一个 1:1 的转换——一段文本可能不对应于一个 Android TextView。

有一种方法可以在 RN 到 Java 之间建立有限的桥梁来调用 Java 库。您需要创建一个 ReactNative Java 模块(并且需要在 iOS 端创建一个 Swift/Objective-C 模块)。有关文档,请参阅https://facebook.github.io/react-native/docs/native-modules-android


推荐阅读