在AndroidManifest.xml设置访问网络权限:

<span style="font-size:24px;"><span style="font-size:24px;"><uses-permission android:name="android.permission.INTERNET"/></span></span>

控件:

<span style="font-size:24px;"><span style="font-size:24px;"><WebView android:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/webView"/></span></span>

关键代码:

<span style="font-size:24px;">              mWebView=(WebView) findViewById(R.id.webView);mWebView.setVisibility(View.VISIBLE);WebSettings webSettings = mWebView.getSettings();webSettings.setJavaScriptEnabled(true);mWebView.loadUrl("http://www.baidu.com"); </span>

但是如果只是用上面的代码会默认调用浏览器加载网页,不是在webview里加载网页

方法是使用setWebViewClient

<span style="font-size:24px;">import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;public class MainActivity extends Activity {
private WebView webView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test);             init();}private void init(){webView = (WebView) findViewById(R.id.webView);//WebView加载web资源webView.loadUrl("http://baidu.com");//覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开webView.setWebViewClient(new WebViewClient(){@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {// TODO Auto-generated method stub//返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器view.loadUrl(url);return true;}});}}</span>

3.如果访问的页面中有Javascript,则webview必须设置支持Javascript

<span style="font-size:24px;">//启用支持javascript
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);</span>

4,如果希望浏览的网页后退而不是退出浏览器,需要WebView覆盖URL加载,让它自动生成历史访问记录,那样就可以通过前进或后退访问已访问过的站点。

<span style="font-size:24px;">//改写物理按键——返回的逻辑@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubif(keyCode==KeyEvent.KEYCODE_BACK){if(webView.canGoBack()){webView.goBack();//返回上一页面return true;}else{System.exit(0);//退出程序}}return super.onKeyDown(keyCode, event);}</span>

5,判断页面加载过程

<span style="font-size:24px;">webView.setWebChromeClient(new WebChromeClient() {@Overridepublic void onProgressChanged(WebView view, int newProgress) {// TODO Auto-generated method stubif (newProgress == 100) {// 网页加载完成} else {// 加载中}}});</span>

webview有两个方法:setWebChromeClient 和 setWebClient
setWebViewClient:主要处理解析,渲染网页等浏览器做的事情
setWebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等

WebViewClient就是帮助WebView处理各种通知、请求事件的。

WebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
onCloseWindow(关闭WebView)
onCreateWindow()
onJsAlert (WebView上alert是弹不出来东西的,需要定制你的WebChromeClient处理弹出)
onJsPrompt
onJsConfirm
onProgressChanged
onReceivedIcon
onReceivedTitle
比如可以添加进度条,使得界面更友好

<span style="font-size:24px;">webview1.setWebChromeClient(new WebChromeClient() {          public void onProgressChanged(WebView view, int progress)   {   setProgress(progress * 100);     if(progress == 100){     imageView1.setVisibility(View.GONE); tv1.setVisibility(View.GONE);pb1.setVisibility(View.GONE);fy1.setVisibility(View.GONE);}}});    </span>

WebViewClient就是帮助WebView处理各种通知、请求事件的,具体来说包括:
onLoadResource
onPageStart
onPageFinish
onReceiveError
onReceivedHttpAuthRequest

<span style="font-size:24px;">webview1.setWebViewClient(new WebViewClient() {                     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)   { // Handle the error  Toast.makeText(getApplicationContext(), "网络连接失败 ,请连接网络。", Toast.LENGTH_SHORT).show();
}        public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); //设置字符集编码  webview1.getSettings().setDefaultTextEncodingName("UTF-8");webview1.loadUrl("http://www.android100.org/");</span>

Android使用WebView加载网页相关推荐

  1. Android使用WebView加载网页及数据

    今天主要介绍一下Android的一个原生组件-WebView. 在Api中关于这个类的介绍大致就是这是一个可以显示网页的视图,如: webView.loadUrl("http://www.b ...

  2. android 使用webview 加载网页

    1. <WebView android:id="@+id/webView"android:layout_width="fill_parent"androi ...

  3. android动态设置错误页面,Android中替换WebView加载网页失败时的页面

    我们用webView去请求一个网页链接的时候,如果请求网页失败或无网络的情况下,它会返回给我们这样一个页面,如下图所示: 上面这个页面就是系统自带的页面,你觉得是不是很丑?反正小编本人觉得非常丑,很难 ...

  4. android WebView加载网页白屏问题优化处理

    android WebView加载网页白屏问题优化处理 问题描述: 使用webview加载Web界面时,会出现界面白屏的情况.http下通常问题不大,通常https白屏的可能性很大,而且通常没有任何报 ...

  5. webview加载html跳转,WebView加载网页(二)

    WebView加载网页(二) 一.实现目标 1.实现一个页面activity_main.xml,该页面上面有一个TextView和两个WebView,一个WebView显示百度首页,另一个WebVie ...

  6. webview加载网页,tel协议不会调出拨号盘?该如何处理

    webview加载网页,tel协议不会调出拨号盘? 在窗体上放了一个Webview:     public void onCreate(Bundle savedInstanceState) {     ...

  7. Webview加载网页时出现NET::ERR_CACHE_MISS的错误

    当使用webview加载网页时我们会遇到网页加载出错,出现NET::ERR_CACHE_MISS的错误,解决方法只需要在你工程的AndroidManifest.xml文件中加入联网的权限 <us ...

  8. Android中WebView加载sdcard中的html时提示:ERR_FILE_NOT_FOUND和ERR_ACCESS_DENIED

    场景 Android中WebView加载sdcard中的html显示: Android中WebView加载sdcard中的html显示_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在实 ...

  9. Android中WebView加载本地Html,与JavaScript与Android方法相互传值(续)...

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010046908/article/details/51809558 接着上篇Android中Web ...

最新文章

  1. Linux系统上怎么安装服务器管理软件Cockpit?
  2. JavaScript 专题之函数柯里化
  3. python爬虫常见报错_对Python爬虫常见工具总结,欢迎补充
  4. 沃顿商学院最受欢迎的思维课
  5. sourcetree 卡顿_哈曼卡顿Harman Kardon音响开奖!
  6. pmp考试有题库么?有多少题?
  7. python导入鸢尾花数据集_python数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析...
  8. 2022年超高清视频行业研究报告
  9. openbci脑电帽3d打印文件下载
  10. python数据分析水果_用python解决简单的水果分类问题
  11. 【阿里云产品使用教程】1. 阿里云VPC ECS SLB NAT初体验 - 上
  12. 触摸一体机android,触摸一体机的系统是安卓系统还是Windows系统?
  13. 我国东北虎种群增长迅速 但近交风险不容忽视
  14. 新赛季的中超和国安,荆棘中前行
  15. opencv3.2教程linux,Linux编译OpenCV3.2.0-OCL模块并使用
  16. 【韧性设计】节流模式
  17. ReactDOM.render()函数、条件渲染、列表渲染
  18. jquery管理数据
  19. 单片机c语言数码管显示循环0到9程序,七段数码管0~9循环显示程序
  20. CELLID GET

热门文章

  1. C++ Primer 5th笔记(10)chapter10 泛型算法 :谓词
  2. python—操作MySQL增加数据
  3. 用户层CS段描述符信息
  4. [WUSTCTF2020]level3
  5. 【CTF大赛】100步getshell之就差一步——The MOVAPS issue
  6. 易语言金盾4.0登陆特征码
  7. C++约瑟夫问题求解
  8. 用户层和内核层异常的处理流程
  9. Xcode7  创建纯代码的项目
  10. 【MySQL】 批量修改数据表和数据表中所有字段的字符集