频道栏目
首页 > 程序开发 > 移动开发 > Android教程 > Android基础教程 > 正文
第100章、WebView应用之Javascript调用Android(从零开始学Android)
2016-02-02 17:14:16      个评论      
收藏   我要投稿
在某些Android应用中,使用Javascript调用Android中的方法也是会用到的。

(1)用WebView来显示HTML代码;
(2)允许WebView执行JavaScript
                 webView.getSettings().setJavaScriptEnabled(true);

(3)获取到HTML文件,也可从网络中获取
                   webView.loadUrl("file:///android_asset/index.html");   (注意:index.html文件要存放在assets文件夹中)

(4)添加一个对象, 让JS可以访问该对象的方法, 该对象中也可以调用JS中的方法.
                 webView.addJavascriptInterface(new Calculate(), "cal");

一、设计界面

1、布局文件
新建res/layout/activity_main.xml文件。
输入以下代码:

[html] view plain copy

 

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"   
  3. android:orientation="vertical"   
  4. android:layout_width="match_parent"   
  5. android:layout_height="match_parent" >   
  6.     <WebView   
  7.         android:id="@+id/webview"   
  8.         android:layout_width="match_parent"   
  9.         android:layout_height="match_parent" />  
  10.   
  11. </LinearLayout>   

二、程序文件

1、打开“src/com.genwoxue.webviewjsandroid/MainActivity.java”文件。
然后输入以下代码:

[java] view plain copy

 

  1. package com.genwoxue.webviewjsandroid;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.webkit.WebView;  
  6.   
  7. public class MainActivity extends Activity {  
  8.     private WebView webView;  
  9.   
  10.     public void onCreate(Bundle savedInstanceState) {  
  11.         super.onCreate(savedInstanceState);  
  12.         setContentView(R.layout.activity_main);  
  13.         //实例化WebView  
  14.         webView = (WebView) findViewById(R.id.webview);  
  15.         //允许JavaScript执行  
  16.         webView.getSettings().setJavaScriptEnabled(true);  
  17.         //加载HTML文件:注意存放到至assets文件夹,你也可以放到互联网。  
  18.         webView.loadUrl("file:///android_asset/index.html");  
  19.         //添加一个对象, 让JS可以访问该对象的方法, 该对象中可以调用JS中的方法  
  20.         webView.addJavascriptInterface(new Calculate(), "cal");  
  21.     }  
  22.   
  23.     private final class Calculate {  
  24.         public int power() {  
  25.             return 9*9;  
  26.         }  
  27.   
  28.     }  
  29. }  

2、新建assets/index.html文件。

使用记事本输入以下代码:

[html] view plain copy

 

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">  
  2.   
  3. <html>  
  4.   
  5.   <head>  
  6.       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  7.    
  8.       <title>Calculate</title>  
  9.         
  10.   </head>  
  11.   
  12.   <script language="JavaScript">  
  13.      function show(){  
  14.         document.getElementById("message").innerText=window.cal.power();  
  15.      }  
  16.   </script>   
  17.   
  18.   <body onLoad="show()">  
  19.    
  20.      <span id="message"></span>  
  21.   
  22.   </body>  
  23.   
  24.   
  25. </html>  

注意存放位置。

三、配置文件

采用“AndroidManifest.xml”默认生成文件。

四、运行结果

\

点击复制链接 与好友分享!回本站首页
相关TAG标签
上一篇:第82章、异步处理工具类:AsyncTask(从零开始学Android)
下一篇:第103章、百度地图定位-我在哪?(从零开始学Android)
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站