Android使用本地页面调用android代码
Activity代码:
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代码:
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路径:
\reg\assets\html\test.html \reg 是项目名称
html代码:
<!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文件则添加如下代码:
<!--引入css文件-->
<link rel="stylesheet" href="file:///android_asset/html/style.css" type="text/css"/>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。