【问题标题】:is it posible to call java class from javascript?是否可以从 javascript 调用 java 类?
【发布时间】:2011-07-07 05:31:56
【问题描述】:

我需要在 javascript 中为 android 应用程序制作一些 UI 部分,因为我正在用 javascript 编写一些代码并将其加载到 android web 视图中。现在,我想从 javascript 调用 java 类。

是否可以从javascript调用java类?

提前致谢!

【问题讨论】:

  • 为什么要这样拆分应用程序?为什么不直接用 Java 编写包括 UI 在内的所有内容?
  • 因为我需要在 android 中绘制非常复杂的 UI 你可以在stackoverflow.com/q/6596294/562296看到以下问题

标签: java javascript android


【解决方案1】:

这是可能的,但我不会为你给定的用例这样做:)(UI 可以用 Android 框架完成)

您可以添加他们所谓的“Javascript 接口”,它们基本上是从 Javascript 到 Java 代码的链接。首先,定义一个要绑定的类,其中包含您要调用的方法,并将其添加到您的 WebView 中:

    class HelloInterface  
    {  
        public void test(String name)  
        {  
            Log.i(TAG, "Hello " + name); 
        }  
    } 

    webview.addJavascriptInterface(new HelloInterface(), "HELLO");  

然后,从您的 javascript 代码中,您可以调用

window.HELLO.test("Webview");

【讨论】:

  • 我的意思是我不会使用 javascript 来创建一个可以使用原生 Android 框架完成的 UI :) 除此之外,绑定 java 和 javascript 也很好。
【解决方案2】:

参考以下网址,

http://www.rgagnon.com/javadetails/java-0170.html

发布 #6 of-> http://ubuntuforums.org/showthread.php?t=565819

希望这会有所帮助..

【讨论】:

    【解决方案3】:

    它实际上真的很容易(而且很酷)使用:

    webView.addJavascriptInterface(js, "pageObject");
    

    js 是在您的活动中创建的 java 对象(或在您初始化 web 视图的地方),pageObject 是您可以在网页上与 javaScript 一起使用的名称空间标识符(变量)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-06
      • 1970-01-01
      • 2012-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多