安卓混合开发之使用webView和js的交互和简单使用

欢迎各个领域的程序员 不管是学生还是上班了的 还是小白加入讨论交流

群,大家一起讨论交流学习951701316,有内推工作的也会优先群里的朋

友,群号951701316

今天记录下webView的简单使用  和安卓和js的交互,只是简单的使用,写的不好请谅解欢迎大家加入群一起交流学习,相互帮忙相互

提高。

有时候安卓去加载一个web的界面是常有的事情 那么是怎么使用的,我这里使用的原生的webView,先是一个布局加载webView的

   <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

然后就是代码去操作webView  还有一些webView的属性

//  加载webview  先实例化
public WebView webview;
        //配置WebView  绑定id
        webview=(WebView)findViewById(R.id.webView);

// 加载html   getUrl是拼接地址的方法
        webview.loadUrl("www.baidu.com");

//setWebChromeClient辅助WebView处理JavaScript的对话框,网站图标,网站title,加载进度等
        webview.setWebChromeClient(new WebChromeClient());
/*
*当不设置这个方法的时候,用webview加载网页会弹出一个对话框,提醒你选择系统装的浏览器,比如百度, *uc,chrome啥的,设置这个方法意思就是让我们的webview来加载这个网页,不需要打开外部浏览器了
*/
        webview.setWebViewClient(new WebViewClient());
        //设置webView
        WebSettings settings=webview.getSettings();
        ////可以有数据库
        settings.setDatabaseEnabled(true);

        //设置可否运行执行javaScrciptEnabled脚本
        settings.setJavaScriptEnabled(true);

        ////关闭加载网络图片,在一开始加载的时候可以设置为true,当加载完网页的时候再设置为false
        settings.setBlockNetworkImage(false);

        settings.setDomStorageEnabled(true);//设置允许加载本地js

        //设置脚本是否允许自动打开弹窗,默认false,不允许
        settings.setJavaScriptCanOpenWindowsAutomatically(true);

        settings.setSupportZoom(true);        // 设置可以支持缩放

        //设置WebView中加载页面字体变焦百分比,默认100,整型数。
        settings.setTextZoom(100);

        settings.setBuiltInZoomControls(true); // 设置出现缩放工具

        settings.setUseWideViewPort(true);// 为图片添加放大缩小功能

        settings.setDisplayZoomControls(false); //隐藏webview缩放按钮

        settings.setAppCacheEnabled(false);  //是否开启缓存功能
/*
*重写缓存被使用到的方法,该方法基于Navigation Type,加载普通的页面,将会检查缓存同时重新验证是 
*
*否需要加载,如果不需要重新加载,将直接从缓存读取数据,允许客户端通过指定LOAD_DEFAULT、 
*
*LOAD_CACHE_ELSE_NETWORK、LOAD_NO_CACHE、LOAD_CACHE_ONLY其中之一重写该行为方法,默认值 
*
*LOAD_DEFAULT
*/
        settings.setCacheMode(WebSettings.LOAD_NO_CACHE);

        //设置加载进来的页面自适应手机屏幕
        settings.setUseWideViewPort(true);

        //设置WebView是否使用预览模式加载界面。
        settings.setLoadWithOverviewMode(true);

        //在Android的 addJavaScriptInterface中,需要理解这个类主要能帮助调用你的JavaScript函       //数中的任意活动方式
        webview.addJavascriptInterface(new CrossFireBridge(),"crossFire");

        //通过字段来交互  js通过这个字段来调用安卓代码jiaohu(自定义的)
        webview.addJavascriptInterface(new YourClass(),"jiaohu");

/**
 * 安卓和js的交互
 */
final class YourClass {

    @JavascriptInterface
    public void share() {
        finish();
    }
}

 以上就是安卓和js的简单交互 和webView  webSetting的一些属性,仅仅个人理解

 js通过你定义的字段就可以执行安卓的方法了 

  @JavascriptInterface记得打上这个标注

  然后记得配置网络权限

  当然webView不止这些还行腾讯X5的webView等

仅供参考

欢迎各个领域的程序员 不管是学生还是上班了的 还是小白加入讨论交流

群,大家一起讨论交流学习951701316,有内推工作的也会优先群里的朋

友,群号951701316

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值