先介紹一下程序運行的流程,當用戶進入界面,首先展示在眼前的是一個html網頁,當然這個網頁有點粗糙,只有一個按鈕.. 嘿嘿! 當用戶點擊按鈕的時候,執行android activity useAndroid()方法,而這個方法的功能有兩個,一是跳轉android activity,爲了讓大家感受到android端調用javascript,已將此方法註釋掉.. 另一個功能是調用javascript更新html按鈕value。。 本例中展示的是第二個功能..
1、先看test.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
//隨便寫了一個標題
<title>javascript確實很強大</title>
</head>
<body>
<script type="text/javascript">
//這是javascript中的函數,android activity中調用它.. 當調用成功後會將html按鈕value改變。
document.getElementById("button_id").value="這是點擊之後的按鈕,不知道調用到沒有呢?";
}
</script>
//這是html按鈕,id、value大家應該都知道什麼意思了.. 這裏重點說一下onClick, onClick是爲html
//connectionName是相互的藉口名稱,可以隨便寫,只要兩端一致就可以.
<input id="button_id" type="button" value="點擊調用activity中的方法"
</body>
</html>
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.webkit.WebSettings;
import android.webkit.WebView;
//webview控件
private WebView webview;
//private Handler Mhandler = new Handler();
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setContentView(R.layout.test_js);
webview = (WebView)this.findViewById(R.id.webview);
//得到WebSettings
WebSettings settings = webview.getSettings();
//設置支持javascript
settings.setJavaScriptEnabled(true);
//添加一個javascript接口
webview.addJavascriptInterface(new Object(){
//自定義方法
public void useAndroid() {
//跳轉activity
/*Intent mIntent = new Intent(TestJs.this,TestActivity3.class);
TestJs.this.startActivity(mIntent);*/
//調用javascript方法,更新html按鈕value
webview.loadUrl("javascript:javascriptMethod()");
}
}, "connectionName"); //接口名
//加載本地的html網頁
webview.loadUrl("file:///android_asset/test.html");
}
}