Android使用本地頁面調用android代碼

Activity代碼:
css

package com.example.reg;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;

import com.example.reg.bean.MyObject;

public class WebViewActivity extends Activity{
	
	private static final String tag = WebViewActivity.class.getSimpleName();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.webview);
		WebView webview = (WebView) findViewById(R.id.web_view);
		webview.getSettings().setJavaScriptEnabled(true);
		//webview.loadUrl("http://www.baidu.com");
		webview.addJavascriptInterface(new MyObject(this), "myObj");
		webview.loadUrl("file:///android_asset/html/test.html");
		Log.d(tag, "執行結束..");
	}
	
}

MyObject代碼:html

package com.example.reg.bean;

import android.R;
import android.app.AlertDialog;
import android.content.Context;
import android.widget.Toast;

public class MyObject {
	Context mContext;

	public MyObject(Context mContext) {
		super();
		this.mContext = mContext;
	}
	
	public void showToast(String name){
		Toast.makeText(mContext, name, Toast.LENGTH_LONG).show();
	}
	
	public void showList(){
		new AlertDialog.Builder(mContext)
		.setTitle("圖書列表")
		.setIcon(R.drawable.ic_btn_speak_now)
		.setItems(new String[]{"xx1","xx2","xx3"}, null)
		.setPositiveButton("肯定", null)
		.create()
		.show();
	}

}

html路徑:
java

\reg\assets\html\test.html    \reg 是項目名稱

html代碼:android

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
	<title>js..調用Android..</title>
</head>
<body>
	<input type="button" value="sayHi" onclick="myObj.showToast('carl');"/>
</body>
</html>

若是要在本地頁面中引入外部css文件則添加以下代碼:web

<!--引入css文件-->app

<link rel="stylesheet" href="file:///android_asset/html/style.css" type="text/css"/>ide

相關文章
相關標籤/搜索