Android中WebView使用4,java调js方法

来源:互联网 发布:淘宝订单能隐藏吗 编辑:程序博客网 时间:2024/06/07 02:44

效果图


项目结构


核心代码:

JavaToJSActivity中
package com.zhh.android;import android.app.Activity;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Button;/** * java调js */public class JavaToJSActivity extends Activity implements View.OnClickListener {    private Button btnDiaoYong;    private WebView wvNet;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_java_and_js);        findViews();        initWebView();    }    /**     * 初始化控件     */    private void findViews() {        btnDiaoYong = (Button)findViewById( R.id.btnDiaoYong );        wvNet = (WebView)findViewById( R.id.wvNet );        btnDiaoYong.setOnClickListener( this );    }    /**     * java调js     */    @Override    public void onClick(View v) {        if ( v == btnDiaoYong ) {//          调用JavaAndJavaScriptCall.html中javaCallJs(arg)函数            wvNet.loadUrl("javascript:javaCallJs(" + "'" + "java调js成功" + "'" + ")");        }    }    private void initWebView(){        WebSettings webSettings = wvNet.getSettings();        //设置支持javaScript脚步语言        webSettings.setJavaScriptEnabled(true);        //支持双击-前提是页面要支持才显示//        webSettings.setUseWideViewPort(true);        //支持缩放按钮-前提是页面要支持才显示        webSettings.setBuiltInZoomControls(true);        //设置客户端-不跳转到默认浏览器中        wvNet.setWebViewClient(new WebViewClient());        //加载 main目录下assets下JavaAndJavaScriptCall.html        wvNet.loadUrl("file:///android_asset/JavaAndJavaScriptCall.html");    }}
activity_java_and_js.xml中
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".JavaToJSActivity"    android:orientation="vertical"    >    <Button        android:id="@+id/btnDiaoYong"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="java调js"        />    <WebView        android:id="@+id/wvNet"        android:layout_width="match_parent"        android:layout_height="match_parent">    </WebView></LinearLayout>
JavaAndJavaScriptCall.html中
<html><head>    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">    <script type="text/javascript">function javaCallJs(){ document.getElementById("content").innerHTML +=            "<br\>java调用了js无参函数";}function javaCallJs(arg){ document.getElementById("content").innerHTML =         ("欢迎:"+arg );}   function showDialog(){      alert("谷粉们你好,我是来自javascript");   }    </script></head><body><div align="left" id="content"> 谷粉</div><div align="right">光临尚硅谷</div><p><img src="http://atguigu.com/images/logo.gif"></p><input type="button" value="js调java" onclick="window.Android.showToast()" /></body></html>
AndroidManifest.xml加权限
<uses-permission android:name="android.permission.INTERNET" />
注:例子演示的是本地的h5代码,链接也一样
源码下载:
http://download.csdn.net/download/zhaihaohao1/9980957


http://download.csdn.net/download/zhaihaohao1/9980957


阅读全文
0 0
原创粉丝点击