我正在尝试使用React-Native来实现Android应用程序,但我对Java不熟悉。
我创建了一个基本的React-Native应用程序,该应用程序具有一个文本框和一个按钮。当您单击按钮时,它会将文本框值添加到列表中,并在屏幕上显示,如下所示。
一切似乎都还好。我读到的关于react-native的内容是,它将JavaScript转换为本地(iOS,Android)代码。第一个问题是转换后的代码在哪里?我将占位符放到文本框中,并在到达本地项目的android文件夹中搜索占位符文本。但是我无法在android文件夹中的任何地方找到文本。
我运行了react-native run-android
命令,它的工作原理是,在android项目中可以找到文本框占位符的转换后的代码在哪里?
最后一个问题是我想使用本机Java库连接特定的网关(https://github.com/calimero-project/introduction)。将其集成到本机应用程序的最佳方法是什么?
答案 0 :(得分:2)
不,ReactNative不会将JS转换为本地代码。它在基于C的Javasript解释器上运行。它将render函数返回的组件转换为本机视图。至少其中一些。其他人则没有,并且使用自己的替代品,因此它不是1:1转换-一段文字可能与Android TextView不对应。
有一种方法可以建立从RN到Java的有限桥接,以调用Java库。您需要创建一个ReactNative Java模块(并且需要在iOS端创建一个Swift / Objective-C模块)。有关文档,请参见https://facebook.github.io/react-native/docs/native-modules-android。