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

时间:2022-09-30 12:50:10

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

  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。

在js代码中:

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