2011-07-07 62 views
1

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

是否有可能从JavaScript调用java类?

在此先感谢!

+0

你为什么要拆分这种方式的应用程序?为什么不直接在Java中编写它,包括UI? – Soren

+0

,因为我需要在android中绘制复杂的UI,你可以在http://stackoverflow.com/q/6596294/562296 – milind

回答

0

其实际雷尔容易(凉爽)使用:

webView.addJavascriptInterface(js, "pageObject"); 

js是一个java对象m在你的活动中(或者你启动webview的地方),pageObject是你可以在你的网页上用于javaScript的命名空间标识符(变量)。

3

这是可能的,但我不会为您给出的使用情况下做到这一点:)(用户界面可与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"); 
+0

看到以下问题你为什么要这么做? – siliconeagle

+0

我的意思是我不会使用JavaScript只是为了创建一个可以用原生Android框架完成的UI :)除此之外,绑定java和javascript是好的。 – Gregory

相关问题