当前位置: 移动技术网 > IT编程>移动开发>Android > js调用android本地java代码

js调用android本地java代码

2018年09月21日  | 移动技术网IT编程  | 我要评论

异形:契约迅雷下载,黄炎培简介,女王虐脚奴

js调用android本地java代码

  当在android上使用webview控件开发一个web应用时,可以创建一个通过javascript调用androidjava代码的接口。也就是可以通过javascript代码来调用android本地的java代码!

  下面来说明一下这个接口的具体创建方法。

  第一步:首先需要在android侧的java代码中创建实现了具体功能的类。(注意:作为接口的方法必须要加@javascriptinterface注解)比如:

 1 public class webappinterface {
 2     context mcontext;
 3 
 4     /** instantiate the interface and set the context */
 5     webappinterface(context c) {
 6         mcontext = c;
 7     }
 8 
 9     /** show a toast from the web page */
10     @javascriptinterface
11     public void showtoast(string toast) {
12         toast.maketext(mcontext, toast, toast.length_short).show();
13     }
14 }

 

  在这个例子中,webappinterface类允许web页面通过showtoast方法打开一个toast提示消息。

  第二步:在android侧的java代码中,通过webviewaddjavascriptinterface方法将第一步创建的接口和webview绑定起来。具体代码如下:

1 webview webview = (webview) findviewbyid(r.id.webview);
2 
3 // 传入的第二个参数angle,就是可已在js代码中直接使用的实例名称
4 webview.addjavascriptinterface(new webappinterface(this), "angle");

 

  第三步:使用第二步创建的接口。在web页面的js代码中,可以条用angle对象的showtoast方法来间接调用第一步中webappinterface类中的showtoast方法。具体应用示例如下:

1 <input type="button" value="say hello" onclick="showandroidtoast('hello android!')" />
2 
3 <script type="text/javascript">
4     function showandroidtoast(toast) {
5         angle.showtoast(toast);
6     }
7 </script>

 

 参考资料:android-sdk/docs/guide/webapps/webview.html

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网