怎么实现javascript中调用java类中的方法

这取决于你的运行环境,大致分为如下: 

  1. 如果你js是运行在 java虚拟机之上那么直接调用就行 。

  2. 如果你js运行在浏览器上,可以参考 RPC,比如 dwr这种东西说白了就是这种实现的一种 

  3. RMI (Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。

安卓底层是C写的,即linux内核,应用层是java语言写的,而我们都知道,java程序是运行在虚拟机上的,安卓程序也是java程序,它也是运行在虚拟机上,这个虚拟机就是安卓的应用层驱动程序

所谓的非智能机(FeaturePhone)的系统本身并不是Java的,它只是能够运行Java开发的程序而已。而现在的智能机(Smart Phone),对于安卓系统来说,在App层,它基于Java开发出了一整套运行环境(再次强调,对于App层面来说是这样)。

Android可以对上层应用的开发提供各种API,一方面降低开发难度,另一方面也可以实现更强悍的功能。而以前的FP,只是能够运行Java的程序而已,其本身不对程序做任何支援。


补充:

在安卓中,对webview设置addJavascriptInterface方法,即可实现在web的js代码中调用安卓java类方法。

例如:

在Android程序中:

mywebview.addJavascriptInterface(new Script(this),"LS");

其中,Script为java类,类中有一函数open。

```

public class Script{

    @JavascriptInterface     // 4.2以上系统需要添加,否则调不起来

    public static void open{

        ... ...

    }

}

```

在js代码中:

;$(function(){ LS.open(); });

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值