【问题标题】:Adding native code to an existing Worklight hybrid app将本机代码添加到现有 Worklight 混合应用程序
【发布时间】:2014-10-15 02:40:20
【问题描述】:

我有一个在 android 上运行的 worklight 混合应用程序,我想添加一些功能来调用当前未通过 worklight 或 cordova 提供的本机 android 库。我的理解是我需要创建一个cordova插件来做到这一点。鉴于Getting started tutorial 中解释的步骤,创建cordova 插件似乎非常简单。

我遇到的一个问题是当我去创建 Java 类来实现插件时。该教程说“首先为插件创建一个 Java 类”......但它并没有真正说明“在哪里”创建它。在 Worklight Studio 中,每当我创建一个新的 java 类(右键单击 worklight 项目 > 新建 > 类)时,它都希望在 Project/server/java 目录中创建它。

查看教程示例代码,看起来我应该能够在 Project/Apps/name/android/nativeResources/src 目录中创建一个新类,因为这是创建示例类的位置,但是右键单击在这些目录中的任何一个上都没有列出“Java 类”作为选项(没有转到“其他”并在那里选择它)。此外,nativeResources 目录下没有“src”目录,根据我的经验,该目录通常由 eclipse 根据需要创建。

我还尝试创建一个“Native API”子项目,看看它是否会生成所需的目录,但它没有,而且似乎与我想要实现的目标无关。

所以最终的问题是我应该手动在 nativeResources 文件夹下创建目录并添加我的新类(即使 eclipse / worklight studio 似乎没有将其识别为有效位置)还是我完全错过了什么?

【问题讨论】:

    标签: android eclipse cordova ibm-mobilefirst


    【解决方案1】:

    NativeAPI 选项适用于本机应用程序开发。由于这不是您要查找的内容,因此无法使用。

    为方便起见,Worklight 提供了 nativeResources 文件夹(您可以在 Stack Overflow 搜索“[worklight] nativeResources”,您会找到大量阅读材料)。使用此文件夹,您可以将各种文件按其位置存储在实际的本机文件夹中,并且在构建时,Worklight Builder 将用您放置在 nativeResources 文件夹中的任何文件替换本机文件夹的内容。

    因为它“只是一个文件夹”,所以右键单击它不会做太多。

    添加类文件的位置,就像在任何 Android 应用程序中一样(这不是 Worklight 独有的),位于 native\src 文件夹 (native\src\com\app_name) 中。本机文件夹是生成的 Android 项目的代表。

    因此,您可以在本机文件夹下或在生成的 Android 项目中创建此文件。
    如果您在生成的 Android 文件夹中创建它,则需要将其复制回本机文件夹中的相同位置,以便 Worklight 将在您下次运行构建时将其添加到您生成的 Android 项目中(运行方式 >在 Worklight 开发服务器上运行)。

    【讨论】:

      【解决方案2】:

      在尝试了更多的事情之后,看起来以下过程有效:

      1. 右键单击项目以添加您的原生类。
      2. 选择“新建 > 其他 > 类”
      3. 在出现的对话框中,选择“浏览”,然后展开对话框中列出的 android 应用程序“生成的文件夹”(这是我上面缺少的部分)。在该文件夹下是一个可供选择的“src”目录。
      4. 根据教程填写对话框的其余部分,您现在应该会看到一个添加的文件,可用于 cordova 插件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-04
        • 1970-01-01
        • 1970-01-01
        • 2020-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多