返回博客首页
← 所有帖子

如何在 NativeScript 中使用 Java 代码

2022 年 10 月 22 日 — 作者 Nandee Tjihero

我想向您展示如何在 NativeScript 中使用您可能在 Android Studio 中编写的 Java 代码。此解决方案源于为 NativeScript 实现 Room Persistence 库。

要在 NativeScript 中使用 Java 代码,您有两个选择,如下面的来自 NativeScript 文档的图片所示

native-code-location.png.

您可以使用单独的 Java 类或将它们打包到库中并使用该库。在这两种情况下,您都应在 app.gradle 中添加必要的依赖项。对于 Room 库,您需要添加以下依赖项

app-gradle.png 即使您决定直接使用 Java 类,而无需使用 .aar,并且您正在使用 Typescript,您仍然希望生成 .aar 文件以生成 IntelliSense 的类型和强类型检查。

您可以从在 Android Studio 中编写和测试所需的代码开始。当您满意时

  1. 通过按照 将应用程序模块转换为库模块 中的步骤 1-4,将项目(应用程序模块)转换为库模块。
  2. 将包含所有类的库模块打包到 .aar 文件中。下面的图片显示了为生成 .aar 文件而采取的步骤

create-aar-file.png 您可以在下面显示的位置找到生成的 文件:aar-file-location.png

  1. app-release.aar 拖放到 The Archiver 或类似工具上以获取用于生成 IntelliSense 类型所需的 classes.jar 文件。
  2. 要生成类型,请从步骤 4 运行 ns typings android –jar <path to the .jar > 文件。
  3. reference.d.ts 中引用生成的 android.d.ts(您可以适当地重命名它)。

reference-types.png

现在,当您键入完整包名 (com.ombuweb.testroomdb) 时,VS Code 中会建议 Java 类:IntelliSense-in-action.png

请参阅此使用 Java 代码的 NativeScript 应用程序 演示。您可以在 此处 找到 Java 代码。

希望您发现这篇博文有用。

环境

  • 图片中的 Android Studio:4.1.1