android WebView 详细代码

Android Studio 开发的WebView 框架源码 第一次尝试用Android Studio 开发的WebView 框架源码;仅供大家学习参考。 立即下载

简单粗暴有效的代码

案例代码:

package com.itcast.webviewdemo;

import android.app.Activity;

import android.graphics.Bitmap;

import android.os.Bundle;

import android.view.View;

import android.webkit.JavascriptInterface;

import android.webkit.WebChromeClient;

import android.webkit.WebSettings;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.Toast;

public class MainActivity extends Activity {

    private WebView mWebview;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

 

        //1.控件的加载-------------------------------

 

        mWebview = (WebView) findViewById(R.id.webview); 

       

        //2.设置对象的获取-------------------------------

 

        WebSettings settings = mWebview.getSettings();// 获取设置对象

 

         //3.设置参数的添加-------------------------------

 

        settings.setJavaScriptEnabled(true);// 支持js效果

        settings.setBuiltInZoomControls(true);// 显示放大缩小按钮(不支持wap网页)

        settings.setUseWideViewPort(true);// 支持双击缩放(不支持wap网页)

        // webview加缓存

        // settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//

        // 只要有缓存,就优先加载缓存;没缓存就请求网络

        // settings.setCacheMode(WebSettings.LOAD_CACHE_ONLY);// 只加载缓存

        // settings.setCacheMode(WebSettings.LOAD_NO_CACHE);// 不加载缓存

        // 根据cache-control决定是否从网络上取数据

        // 什么是cache-control?

        // cache-control是在请求网页时服务器的响应头,此响应头用于决定网页的缓存策略.

        // 常见的取值有public(所有内容都将被缓存),

        // private(内容只缓存到私有缓存中),no-cache(所有内容都不会被缓存),max-age=xxx(缓存的内容将在 xxx

        // 秒后失效)等等

        settings.setCacheMode(WebSettings.LOAD_DEFAULT);// 默认模式

        // mWebview.clearCache(true);//清除缓存

             mWebview.setWebViewClient(new WebViewClient() {

            @Override

            public void onPageStarted(WebView view, String url, Bitmap favicon) {

                super.onPageStarted(view, url, favicon);

                System.out.println("开始加载网页....");

            }

            @Override

            public void onPageFinished(WebView view, String url) {

                super.onPageFinished(view, url);

                System.out.println("网页加载结束....");

            }

            // webview的所有链接跳转都会走此回调方法

            @Override

            public boolean shouldOverrideUrlLoading(WebView view, String url) {

                System.out.println("跳转链接:" + url);

                // 如果希望一直在当前webview加载网页, 而不跳转浏览器的话

                view.loadUrl(url);

                // <a href="tel:110">联系我们</a>

                return true;

                // return super.shouldOverrideUrlLoading(view,

                // url);//此方法是由系统决定使用当前webview加载还是跳浏览器

            }

        });

        mWebview.setWebChromeClient(new WebChromeClient() {

            // 网页加载进度发生变化

            @Override

            public void onProgressChanged(WebView view, int newProgress) {

                super.onProgressChanged(view, newProgress);

                System.out.println("progress-->" + newProgress);

            }

            // 获取网页标题

            @Override

            public void onReceivedTitle(WebView view, String title) {

                super.onReceivedTitle(view, title);

                System.out.println("网页标题:" + title);

            }

        });

        // <a onClick="window.demo.onCallback()">点我!</a>

        // 网页调用格式: window.NAME.回调方法名称

        mWebview.addJavascriptInterface(new OnJsCallback() {

            @JavascriptInterface//注意:此处一定要加该注解,否则在4.1+系统上运行失败

            @Override

            public void onCallback() {

                Toast.makeText(getApplicationContext(), "Js调用Android啦",

                        Toast.LENGTH_SHORT).show();

            }

        }, "demo");

        // 使用webview加载网页

        mWebview.loadUrl("http://www.baidu.com");// wap网页

   

    }

    @Override

    public void onBackPressed() {

        if (mWebview.canGoBack()) {// 判断是否可以跳到上一个页面

            mWebview.goBack();// 跳到上一个页面

        } else {

            finish();

        }

        // mWebview.goForward();//跳到下一个页面

        // mWebview.canGoForward();//是否可以跳到下一个页面

    }

    // Android调用Js

    public void androidCallJs(View view) {

        // 直接使用webview加载js就可以了

        mWebview.loadUrl("javascript:wave()");

    }

    // js调用android的回调接口

    public interface OnJsCallback {

        public void onCallback();

    }

}

 

android的webview代码 这是一款自己写的webview源代码,希望对大家有所帮助 立即下载

相关推荐

Android-WebView:Android webview 源码。 (已过时,主要供参考)

android-webview Android webview 到指定 URL 的基本来源。 这在很大程度上已经过时了。 使用风险自负!

安卓webview源码分析

最开始的时候,WebView是android framework的一部分,从Android 5.0 (Lollipop)开始,WebView的实现由一个单独的apk来提供,apk 预置在设备里面,可以和普通应用一样更新。通过上图可以看到这个provider类是通过WebViewFactoryProvider接口的实现类的createWebView方法创建出来的,那么就去找他的实现类。其中WebViewProvider的实现类是WebViewChromium,这个实现类是通过下面的工厂类声场出来的。

qq_40427320的博客 1330

WebView杂谈——源码

主要作用是在WebVeiw中加载一段js代码片段到WebView中,这一段js代码是以字符串的格式出现,我们要做的就是将这一段字符串格式的js代码嵌入到页面中,并能正常显示。

安卓中WebView和原生的通信示例Demo(含完整源码)

安卓中原生和WebView的通信方式,附有完整的源码,方便参考学习。

英勇的博客 4009

ZedBoard+Vivado(二)——PS + PL实现流水灯

硬件:Zedboard 软件:Vivado2018.2 + Win10 本文参考了http://blog.chinaaet.com/cuter521/p/35978的设计 1 设计 功能:PS + PL流水灯 语言:C 流程:创建工程-&amp;gt;IP Integrator-&amp;gt;综合、实现、生成Bitstream-&amp;gt;SDK 2 流程 2.1 创建工程 跟上一篇步骤完全相同,这里不用添加源文...

q416524389的博客 3694

VScode - 从入门到精通:高效开发环境搭建指南

本文是一份全面的VSCode高效开发环境搭建指南。从选择理由、安装配置、核心插件推荐到个性化设置与高效技巧,详细讲解了如何将这款轻量级编辑器武装成强大的开发工具。重点介绍了GitLens、Prettier、Live Server等必备插件,以及通过用户设置、代码片段和快捷键打造专属高效工作流的方法,帮助开发者从入门到精通。

weixin_27734811的博客 426

WebView部分源码概览

Android与JS通过WebView互相调用方法(二者沟通的桥梁是WebView),实际上是: Android去调用JS的代码 JS去调用Android的代码 对于Android调用JS代码的方法有2种: 通过 WebView.loadUrl() 通过 WebView.evaluateJavascript() 对于JS调用Android代码的方法有3种: 通过 WebView.addJavascriptInterface() 进行对象映射 通过 WebViewClient.shouldOverrideUr

Kslient的博客 3399

Python+OpenCV实战:5分钟搞定机械臂手眼标定(眼在手上模式)

本文详细介绍了使用Python和OpenCV在5分钟内完成机械臂手眼标定(眼在手上模式)的实战教程。通过解析相机坐标系与机械臂基坐标系的转换关系,提供从数据采集到标定矩阵计算的全流程代码实现,帮助开发者快速解决AX=XB问题,提升机械臂视觉引导精度。

weixin_33670786的博客 495

一网打尽__Android 开源代码合集(WebView框架)

本人会陆续整理收集Android 中不同类列的开源框架。方便开发流程,减少开发查询成本。 WebView 框架 JsBridge Android的Java和JavaScript桥接 地址:https://github.com/lzyzsd/JsBridge AndroidChromium 谷歌浏览器安卓版源码项目 地址:https://github.com/JackyAndroid/...

钢铁烈阳--非花非雾 3262

BitLocker恢复密钥丢失?从原理到实战的完整解锁与系统重生指南

磁盘加密技术是数据安全的核心防线,它通过对存储设备上的数据进行编码,确保未经授权的用户无法访问。其原理主要基于加密算法(如AES)与密钥管理机制,在操作系统启动前或数据读写时进行实时加解密。这项技术的核心价值在于防止设备丢失或被盗后的数据泄露,尤其对于笔记本电脑和移动设备至关重要。典型的应用场景包括企业办公电脑、存有敏感信息的个人设备以及符合合规性要求的行业。当使用Windows系统自带的BitLocker加密功能时,若因硬件改动、系统更新等触发保护机制,用户可能会面临需要输入恢复密钥才能启动的困境。本文聚

weixin_34006965的博客 487

RandLA-Net Tensorrt 推理 c++

RandLA-Net 实现 Tensorrt 部署.

J。 1108

android(安卓)js通信webview调用安卓安卓代码

1.js调用安卓代码: 安卓端: //初始化首页UI public void InitUIAD(){ webviewSetAD = (WebView) findViewById(R.id.webviewSetAD); webviewSetAD.loadUrl("https://screen.51240.com/#welcome"); webviewSetAD.getSettings().setJavaScriptEnabled(true);

weixin_42401291的博客 387

MySQL操作之用户管理权限管理:(DC)(五)

一、简介 二、用户管理 2.1 User表 2.2 创建普通用户 2.3 删除普通用户 2.4 修改用户密码 2.5 解决root用户密码丢失 三、权限管理 3.1 MySQL的权限 3.2 授予权限 3.3 查看权限 3.4 收回权限

lydms的博客 4505

安卓Android封装webview代码

1、安卓Android封装webview代码。

1193379199的博客 484

【AI智能体】基于Coze制作跨境电商客服助手工作流实战操作详解

基于Coze制作跨境电商客服助手工作流实战操作详解

congge 3462

【嵌入式Linux驱动开发】二十四、Linux I2C 驱动上手尝试

  人的前程关于眼界、关乎格局。   志之所趋,无远弗届,穷山复海不能限也;   志之所向,无坚不入,锐兵精甲不能御也。 一、I2C驱动框架简介   Linux内核将 I2C 驱动分为两部分: ①、 I2C 总线驱动, I2C 总线驱动就是 SOC 的 I2C 控制器驱动,也叫做 I2C 适配器驱动。 ②、 I2C 设备驱动, I2C 设备驱动就是针对具体的 I2C 设备而编写的驱动。 1....

悟已往之不谏 知来者之可追 1068

android webview 代码,android webview 简单浏览器实现代码

文件main.javapackage com.HHBrowser.android;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.util.Log;import android.view.View;import android.webkit.WebView;i...

weixin_32703763的博客 250

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Android Chromium for WebView代码结构

分享Android Chromium for WebView代码结构及各目录代码作用。

typename 记录点滴 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android做Web,Android实现webview实例代码

webview是一个很简单的功能,代码没有什么逻辑上的难度,只是需要注意权限上的问题。其实在安卓编程的过程当中,权限问题可以算是出现的比较多的BUG。1.MainActpackage com.lxq.webview01;import android.app.Activity;import android.os.Bundle;import android.view.KeyEvent;import a...

weixin_35896668的博客 459

android webview 劫持,安卓包风险安全监测提示存在Activity劫持、WebView远程代码执行,请问怎么解决?...

挺着急的,请问这个怎么解决1、Activity劫持用例名称:Activity劫持风险系数:高风险编号:NESUN-2016-82091, CWE-94,风险描述:攻击者劫持目标Activity并制造跟目标Activity界面相似度很高的界面迷惑用户,可能导致钓鱼攻击,造成用户名/密码等敏感信息泄露。检测过程:1、对被测APP进行测试预处理。2、在测试助手上安装、运行被测APP。3、动态追踪目标AP...

weixin_39542514的博客 930

android如何展示html代码,android中用webview展示Html代码

WebView中提供了public voidloadDataWithBaseURL (StringbaseUrl,Stringdata,StringmimeType,Stringencoding, StringhistoryUrl);方法可以用来加载String中存放的html代码。baseUrl为默认的html代码,data为要加载的html代码,mimeType为文本类型,en...

weixin_39628864的博客 544

android webview 选择图片上传,Android webview打开本地图片上传实现代码

Webview打开本地图片选择器十分之麻烦,其在安卓系统3x 4x 5x上的行为都不同,处理也不同,所以之前差点崩溃。经过测试和完善,最终其在各个版本上都能完美工作。直接上代码package com.testandroid.webview;import android.content.Intent;import android.net.Uri;import android.os.Bundle;im...

weixin_42372731的博客 320

【亲测免费】 安卓Studio腾讯X5内核WebView浏览器源代码

安卓Studio腾讯X5内核WebView浏览器源代码 【下载地址】安卓Studio腾讯X5内核WebView浏览器源代码 这是一个基于Android Studio开发的安卓APP源代码项目,集成了腾讯X5内核作为WebView,显著提升页面加载速度和用户体验。项目已配置好gradle,使用阿里云仓库,下载速度快,并支持...

gitblog_06723的博客 559

android注入webview,Android端使用WebView注入一段js代码实现js调用android

需求:为网页上个链接增加点击事件,但是这个链接无法增加js代码url:http://public.rongcloud.cn/view/D4F444BE2D94D760329F3CF38B4AE35C网页截图: 需要给“投融资讯“四个字设置点击事件但是观察源码class="wrap content">class="content-inner">class="content-header"...

weixin_39623082的博客 591

Android 代码混淆 webview混淆

# This is a configuration file for ProGuard. # http://proguard.sourceforge.net/index.html#manual/usage.html # # Starting with version 2.2 of the Android plugin for Gradle, these files are no longer us

buyaoshitududongwo的博客 1748

安卓Studio腾讯X5内核WebView浏览器源代码:高效开发利器

安卓Studio腾讯X5内核WebView浏览器源代码:高效开发利器 【下载地址】安卓Studio腾讯X5内核WebView浏览器源代码 这是一个基于Android Studio开发的安卓APP源代码项目,集成了腾讯X5内核作为WebView,显著提升页面加载速度和用户体验。项目已配置好gradle,使用阿里云仓库,下载...

gitblog_06785的博客 962
上一篇: Android自动挂断电话
下一篇: android studio 生成apk
王晓恩
博客等级 码龄11年 28粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值