这是我特意为新手小白写的一个代码,教大家完完全全掌握WebView,

我感觉,你看懂这个,基本上可以满足以后工作中的需要了,(只针对Webview的使用),但是其实它还有好多功能,比如真正的设计到和HTML5交互的时候,它的功能很强大的,如果想深入学习的,自己再看资料吧,保证你看完此代码,完完整整的掌握WebView;

作者:程序员小冰,深夜来写,转载请说明出处。

package www.jiusansec.cc.webviewdemo;

import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
/**
* @author :程序员小冰:QQ986945193
*
* @新浪微博 :http://weibo.com/mcxiaobing
*
* @version V1.0正式版
*
* @process
*
* @Note
*
* @dateTime ${date}${time}
*
* ${tags}
*/
/**
* WebView Demo练习
*
* 加载一个网页
*/
public class MainActivity extends AppCompatActivity {
private WebView webView;
private static final String url = "http://my.csdn.net/qq_21376985";
private ProgressDialog progressDialog; /**
* 初始化控件
*/
private void assignViews() {
webView = (WebView) findViewById(R.id.web_view);
progressDialog = new ProgressDialog(MainActivity.this);
} @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
assignViews(); } /**
* 点击进行跳转
*/ public void showWebview(View view){
//获取websetings 设置
WebSettings settings = webView.getSettings();
settings.setSupportZoom(true);
//设置浏览器支持javaScript
settings.setJavaScriptEnabled(true);
//设置打开自带缩放按钮
settings.setBuiltInZoomControls(true);
// 进行跳转用户输入的url地址
webView.loadUrl(url);
webView.setWebChromeClient(new WebChromeClient() {
@Override
//速度正在改变
public void onProgressChanged(WebView view, int newProgress) {
progressDialog.setMessage("加载" + newProgress);
Log.d("1507", "5");
}
});
webView.setWebViewClient(new WebViewClient(){
@Override
// 显示读渠道的内容
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
Log.d("1507", "3");
return true;
} /**
* 页面开始的时候 回调此方法
* @param view
* @param url
* @param favicon
*/
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
if (progressDialog == null){
progressDialog.setMessage("加载中。。。。。。。。。。。");
}
Log.d("1507","1");
progressDialog.show();
} /**
* 页面结束的时候 回调此方法
* @param view
* @param url
*/
@Override
public void onPageFinished(WebView view, String url) {
progressDialog.dismiss();
// Log.d("1507", "1");
}
});
} /**
* 返回
* @param keyCode
* @param event
* @return
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
/**
* webview.canGoBack()判断webview能否后退
*/
if (keyCode == KeyEvent.KEYCODE_BACK&& webView.canGoBack()){
//webView后退
webView.goBack();
} return super.onKeyDown(keyCode, event);
}
}

源代码下载地址:http://download.csdn.net/detail/qq_21376985/9553009

Android开发之常用框架WebView详解代码。超详细,送给初学者,完全掌握此控件的更多相关文章

  1. 命令创建.net core3.0 web应用详解(超详细教程)

    原文:命令创建.net core3.0 web应用详解(超详细教程) 你是不是曾经膜拜那些敲几行代码就可以创建项目的大神,学习了命令创建项目你也可以成为大神,其实命令创建项目很简单. 1.cmd命令行 ...

  2. 【转】Android:最全面的 Webview 详解

    原文: https://blog.csdn.net/carson_ho/article/details/52693322 前言 现在很多App里都内置了Web网页(Hyprid App),比如说很多电 ...

  3. Android开发数据存储之ContentProvider详解

    转载:十二.ContentProvider和Uri详解 一.使用ContentProvider(内容提供者)共享数据 ContentProvider在android中的作用是对外共享数据,也就是说你可 ...

  4. Android开发5大布局方式详解

    Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(Tabl ...

  5. 转: Android开发中的MVP架构详解(附加链接比较不错)

    转: http://www.codeceo.com/article/android-mvp-artch.html 最近越来越多的人开始谈论架构.我周围的同事和工程师也是如此.尽管我还不是特别深入理解M ...

  6. NO.4 Android开发中常用框架及工具

    android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新ListView.ViewPager.WevView.ExpandableListView.GridView ...

  7. yolo3各部分代码详解(超详细)

    0.摘要 最近一段时间在学习yolo3,看了很多博客,理解了一些理论知识,但是学起来还是有些吃力,之后看了源码,才有了更进一步的理解.在这里,我不在赘述网络方面的代码,网络方面的代码比较容易理解,下面 ...

  8. 【Android开发】交互界面布局详解

    原文:http://android.eoe.cn/topic/summary Android 的系统 UI 为构建您自己的应用提供了基础的框架.主要包括主屏幕 (Home Screen).系统 UI ...

  9. python3开发进阶-Django框架的详解

    一.MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分: 模型(Model).视图(View)和控制器(Con ...

随机推荐

  1. python5.1文件的读取

    fh1=open(r"C:\222.txt","r")#用open函数读取文件,“r”进行转义,fh1文件句柄data=fh1.read()#把读取的句柄赋值给 ...

  2. 集合:List接口的实现类(ArrayList、LinkedList、Vector)

    1.List接口 (1)特点 有序(插入和取出的顺序相等,因为有一个整数索引记录了元素的插入的位置) 允许有重复的元素(调用equals方法返回true,允许有多个null) @Test public ...

  3. Python监控你的女朋友/男朋友每天都在看哪些网站

    需求: 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家提 ...

  4. Java日志框架(一)

    在项目开发过程中,我们可以通过 debug 查找问题.而在线上环境我们查找问题只能通过打印日志的方式查找问题.因此对于一个项目而言,日志记录是一个非常重要的问题.因此,如何选择一个合适的日志记录框架也 ...

  5. Java 基础 —— 注解 Annotation

    简介 Annotation 是从 JDK 5.0 引入的. 注解使得我们可以以编译器验证的格式存储程序的额外信息.注解可以生成描述符文件,甚至是新的类定义,并且有助于减轻编写"样板" ...

  6. java JDBC工具类

    package com.oracle.tools; import java.sql.Connection; import java.sql.DriverManager; import java.sql ...

  7. ansibleAPI怎么做异步

    在直接使用 ansible 时候有-B -p 参数可以启用异步操作,然后返回一个 job_id 值 [root@master ansible]# ansible node1 -B -P -m yum ...

  8. Webpack开发指南

    前言 成为一个全栈工程师,前端是必不可少的,这位前端构建工具webpack是一门必修的技术. 在学习webpack之前,先熟悉一下npm工具:https://www.runoob.com/nodejs ...

  9. 【NOIP必备攻略】 基本noilinux使用方法

    现在linux系统已经成为了NOIP竞赛的一大操作系统,如果连最基础的操作都不会,那就更别提怎么得分了,万一操作失误,可就爆零了.所以小编特意发这样一篇博客,教你快速上手noilinux! ▎ 常用操 ...

  10. 【MySQL】记一次线上重大事故:二狗子竟然把线上数据库删了!!

    写在前面 估计二狗子这几天是大姨夫来了,心情很郁闷,情绪也很低落,工作的时候也有点心不在焉.让他发个版本,结果,一行命令下去把线上的数据库删了!你没听错:是删掉了线上的数据库!运营那边顿时炸了锅:怎么 ...