webView简易浏览器

package com.dream.myapplication;

import android.app.ProgressDialog;import android.content.Intent;import android.net.Uri;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.KeyEvent;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Toast;

public class MainActivity extends AppCompatActivity {    private String url = "https://www.baidu.com";    private WebView webView;    private ProgressDialog dialog;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);       // Uri uri = Uri.parse(url);       // Intent intent = new Intent(Intent.ACTION_VIEW,uri);        //startActivity(intent);        init();    }    private void init() {        webView = (WebView) findViewById(R.id.web_view);        webView.loadUrl(url);        //webview中打开网页        webView.setWebViewClient(new WebViewClient() {            @Override            public boolean shouldOverrideUrlLoading(WebView view, String url) {                //返回值为true的时候,控制网页在webView中打开,false调用系统/第三方浏览器                view.loadUrl(url);                return true;            }        });       WebSettings settings = webView.getSettings();        settings.setJavaScriptEnabled(true);        //webview使用缓存加载        settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);        webView.setWebChromeClient(new WebChromeClient() {            @Override            public void onProgressChanged(WebView view, int newProgress) {                if (newProgress == 100) {                    //网页加载完毕,关闭                    closeDialog();                } else {                    //网页加载中,打开Dialog                    openDialog(newProgress);                }            }        });    }    private void openDialog(int newProgress) {        if(dialog==null){            dialog = new ProgressDialog(this);            dialog.setTitle("正在加载");            dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);            dialog.setProgress(newProgress);            dialog.show();        }else{            dialog.setProgress(newProgress);        }    }    private void closeDialog() {        if (dialog != null && dialog.isShowing()) {            dialog.dismiss();            dialog=null;        }    }    //改写物理键返回的逻辑    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        if (keyCode==KeyEvent.KEYCODE_BACK){            //Toast.makeText(this,webView.getUrl(),Toast.LENGTH_SHORT).show();            if(webView.canGoBack()){                webView.goBack();                return true;            }else {                System.exit(0);            }        }        return super.onKeyDown(keyCode, event);    }}
时间: 2024-10-10 13:23:01

webView简易浏览器的相关文章

WebView 详解(简易浏览器Demo)

在Android应用中,需要使用WebView控件对Web程序进行解析,这个控件实际上使用了Webkit内核的内嵌浏览器. 下面以一个简易浏览器的例子来讲述WebView的使用步骤: 1 由于涉及到访问网络,所以必须要在AndroidManifest添加访问网络权限: <uses-permission android:name="android.permission.INTERNET" /> 2 然后在布局文件里,添加WebView控件. 因为为了做成一个浏览器的样子,这里

小白C#窗体系列-01.简易浏览器

最近重伤,今天正好放假,就抽个空出C#第一集,开发完毕... 如果你看不到这篇文章,那过一天就可以看见了. 软件下载(.NET 4.0 框架)http://pan.baidu.com/s/1c03X7vM[源码看下面] 一.设计图纸: 二.代码分析 1.后退键. 前进键.停止键.刷新键:这几个功能本来我是准备用个数组来存储,可以前进后退的,后来啃他自带方法的时候发现微软提供了方法,也就偷个懒了后退按钮 this.webBrowser1.GoBack(); 前进按钮 this.webBrowser

android 下 利用webview实现浏览器功能

android 下 利用webview实现浏览器功能: 1.界面添加WEBVIEW控件. 2.在界面.JAVA代码页面(protected void onCreate(Bundle savedInstanceState) 方法中)添加如下代码: //#region WebView wb=(WebView)findViewById(R.id.Wb_Main); //设置WebView属性,能够执行Javascript脚本 wb.getSettings().setJavaScriptEnabled(

android利用WebView实现浏览器的封装

android提供了封装浏览器的接口,可以让开发者利用自己的view显示网页内容.今天又实现研究了一下,利用WebView显示浏览器内容,还可以利用 WebViewClient显示自己需要的内容. 参考:http://developer.android.com/reference/android/webkit/WebView.html 效果如下: 上面两张图分别是首页的截图,当点击java时的截图.可以看到在浏览器上面已经没有地址栏了.这个是利用WebViewClient显示的内容.相关代码如下

python3用pyqt5开发简易浏览器

http://python.jobbole.com/82715/ 在这篇教程中,我们会用 Python 的 PyQt 框架编写一个简单的 web 浏览器.关于 PyQt ,你可能已经有所耳闻了,它是 Qt 框架下的一系列 Python 组件,而 Qt(发音类似"cute")是用来开发 GUI 的 C++ 框架.严格来讲, Qt 也可用于开发不带图形界面的程序,但是开发用户界面应该是 Qt 框架最为广泛的应用了.Qt 的主要优势是可以开发跨平台的图形界面程序,基于 Qt 的应用能够借助于

(五十九)iOS网络基础之UIWebView简易浏览器实现

[UIWebView网络浏览器] 通过webView的loadRequest方法可以发送请求显示相应的网站,例如: NSURL *url = [NSURL URLWithString:@"http://m.baidu.com"]; // 创建请求数据 NSURLRequest *request = [NSURLRequest requestWithURL:url]; // 向服务器发送请求 [self.webView loadRequest:request]; 通过使用searchBa

【Android】检测是否处于Wifi环境,利用WebView实现浏览器app

由于安卓自带的WebView封装了很多方法,因此浏览器app实现起来算是比较简单的. 唯一的难处就是需要自己在补充加载进度条与一些按钮,同时判断用户输入的是否是网址, 如下图所示, 在打开的时候,如果不是处于Wifi环境给出警告 利用WebView实现了一个简易的浏览器,在用户没有输入网址的时候给出提示,具有前进.后退.刷新.停止.跳转的功能. 在加载网页的时候,有进度条.基本上就是一个简单的浏览器. 制作过程如下: 1.首先在res\values\strings.xml中设置各个组件的字符,a

图灵ios培训第一周(使用UIWebView创建简易浏览器)

借着给学弟学妹们培训ios的机会,给大家ios新手带来一系列的新手知识博客,希望能给广大ios爱好者以及希望进入ios领域的童鞋们得到帮助.大神路过的请指点. 课前小探索 制作一个简易的浏览器 首先打开Xcode,新建一个工程. 打开main.storyboard 点击View Control 去掉UseAuto Layout和Use Size Classes(新版的Xcode自动排版很不友好,所以每次创建完工程都要去掉对号) 接下来在工具栏的搜索框输入: 拖拽webView到场景中: 点击场景

[android] WebView自定义浏览器

在布局文件中添加<EditText/>和<Button/>控件, 在布局文件中添加<WebView/>控件 在Activity中获取WebView对象 调用WebView对象的loadUrl()方法,参数:String路径 添加访问网络的权限android.permission.INTERNET 调用WebView对象的getSettings()方法,获取到WebSettings设置对象 调用WebSettings对象的setSupportZoom()方法,设置支持缩放