【问题标题】:Import java file on Nativescript在 Nativescript 上导入 java 文件
【发布时间】:2016-09-23 04:32:42
【问题描述】:

我无法导入或调用 .java 文件放入平台/android.. 相应的 java 文件夹,其中还有 tns 活动等。

我尝试过类似package.name.MyClass 的方法,但似乎没有用。所以我的问题是调用 java 文件在 javascript 中使用。

【问题讨论】:

  • 分享我与这个问题完全无关的代码..

标签: java android import nativescript


【解决方案1】:

尝试在类路径中添加该java文件,然后您可能需要通过调用类

 public static Class<?> forName(String name, boolean initialize, ClassLoader loader) 

【讨论】:

  • 我真正需要将我的 .java 类放在哪里,然后如何在 javascript 代码中调用它们?
  • Java 是一种服务器端语言,而 javascript 是一种客户端语言。两者无法沟通。如果您使用 Java 设置了一些服务器端脚本,则可以在客户端上使用 AJAX 向其发送异步请求,从而调用任何可能的 Java 函数。否则使用applet,然后从那里调用java函数。
  • 在 NativeScript 中可以使用 javascript 代码调用 java 代码,它是移动跨平台编程 :) 所以也不能使用 applet。 @Terhoraj java 文件可以放在平台中,但如果你没有备份它们,请注意不要删除平台文件夹,以防你清理平台
  • "Java 是一种服务器端语言," > 除非它像浏览器中的小程序一样。 “而 javascript 是一种客户端语言。” > 除非它,比如,你知道的,nodejs。有人需要赶上技术,90 年代已经过去了。
【解决方案2】:

不确定您在 java 类中的代码是什么,但出于测试目的,我做了类似的事情

platforms\android\src\main\java\com\tns\JavaTestCall.java内的java文件内容

package com.tns;

public class JavaTestCall  {
   public String TestCall(){
       return "testCallString";
   }
}

用于测试的 JS 代码,在应用代码中的某处:

var JavaTestCall=new com.tns.JavaTestCall;
console.log(JavaTestCall.TestCall());

在 cmd/terminal 你应该会看到类似JS: testCallString

【讨论】:

  • 这开始很有希望了!如果这可行,我可以尝试我的 java 类提供的一些功能。然后我只需要把它做成一个插件。我实际上正在使用插件,但使用包名和内部类调用 .jar 失败。始终未定义:/
  • 您所寻找的主要是 aar 文件,您需要调用的只是包名和类的名称,但是对于如何执行 aar 文件更好地查看 SO 不记得过程但可以完成使用 android studio :) 如果你有源代码但不确定从未尝试过使用 jar 文件
  • 或者,如果您在 jar 中找到这些文件的包名和类名,也许就足够了
猜你喜欢
  • 1970-01-01
  • 2019-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-25
  • 2019-08-20
  • 1970-01-01
相关资源
最近更新 更多