WebView重要运用!!
WebView使得Java和JavaScript可以互相的调用.
请看例子:
WebviewActivity.java
package com.cn;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.webkit.WebSettings;import android.webkit.WebView;public class WebviewActivity extends Activity { /** Called when the activity is first created. */private WebView mWebView; private Handler mHandler = new Handler(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mWebView = (WebView) findViewById(R.id.webview); WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); mWebView.addJavascriptInterface(new Object() { public void clickOnAndroid() { mHandler.post(new Runnable() { public void run() { //Java调用Javascript方法 mWebView.loadUrl("javascript:wave()"); } }); } }, "demo"); //访问本地程序assets文件夹中的demo.html页面 mWebView.loadUrl("file:///android_asset/demo.html"); /** * 如果访问网站. 如http://rayln.iteye.com. 需要在AndroidManifest.xml中加入网络访问权限 * <uses-permission android:name="android.permission.INTERNET"></uses-permission> * 例如: * mWebView.loadUrl("http://rayln.iteye.com"); **/ }}/assets/demo.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><script>function runDemo(){//Javascript调用Java方法window.demo.clickOnAndroid();}function wave() { document.getElementById("change").innerText="Java中用JS写入"; }</script><body><input value="点击我!!" onclick="runDemo()" type="button"/><div id="change"></div></body></html>PS:如果访问网站. 如http://rayln.iteye.com. 需要在AndroidManifest.xml中加入网络访问权限..
<uses-permission android:name="android.permission.INTERNET"></uses-permission>