webview用法

1、  WebView 的使用: 
* 权限:在AndroidManifest.xml : <uses-permission android:name="android.permission.INTERNET"/> 

* 组件:可以代码生成:WebView webView = new WebView(this);  也可以布局文件生成;<WebView/> 

* 设置WebView 基本信息:如果访问的页面中有JavaScript ,则webview 必须设置支持: 
Javascript:webview.getSettiong().setJavaScriptEnabled(true); 
触摸焦点起作用:requestFocus(); 
取消滚动条:this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY); 

* 设置WebView 要显示的网页: 
互联网用:webView.loadUrl("http://www.baidu.com"); 
本地文件用:webView.loadUrl("file:///android_asset/xx.html"); 
注意:本地文件存放在assets 文件中; 

* 事件:WebViewClient, 
重写方法:shouldOverrideUrlLoading();  
实现动作:对网页中超链接按钮的响应; 
作用范围:点击的链接由自己进行处理; 
重写方法:onReceivedHttpAuthRequest: 接收到Http请求事件: 
重写方法:shouldOverrideUriLoading(); 打开链接前的事件;
作用:当读取到特殊的URL , 可以不打开地址,取消操作,并进行预先定义的其它操作; 
理解:打开一个链接前进行合法的判断; 
重写方法:onPageFinished(WebView view ,String url);  载入页面完成事件; 
动作:页面载入完成,可以关闭加载loading条,切换程序动作; 
重写方法:onPageStarted(); 载入页面开始的事件; 
动作:该事件是开始载入页面调用的,可以设定一个loading的页面,告诉用户程序在等待网络的响应; 

* 常用点击介绍:前进  后退  返回: 
覆盖Activity累的onKeyDown();方法,来处理Back事件; 

* WebView 浏览网页中执行浏览器操作常用的方法介绍: 
clearCache(boolean includeDiskFiles); 清除缓存; 
clearHistory(); 清除历史  前进和后退; 
getSettings(); 获取WebSetting; 
goBack(); 返回上一页面; 
goForward(); 前一页面; 
loadUrl(String url); 打开一个页面; 
reload(); 重写加载当前页面; 
stopLoading(); 停止加载; 
setScrollBarStyle(int style); 指定; 
loadData("HTML String"); 加载HTML; 

* 简单的案例:用户点击设备的搜索按钮显现网页的加载:
 
Java代码   收藏代码
  1. java代码:  
  2.     /* 测试:按下设备上的搜索键执行网页的跳转 */  
  3. public boolean onKeyDown(int keyCode, KeyEvent event) {  
  4.     /* 通过键码判断按下的是哪个按钮 */  
  5.     if(keyCode ==KeyEvent.KEYCODE_SEARCH){  
  6.         /* 获取用户输入的url */  
  7.         String urlStr = htmlUrl.getText().toString();  
  8.           
  9.         /* 判断用户输入的是否是合法的URL */  
  10.         if(URLUtil.isNetworkUrl(urlStr))  
  11.           
  12.         /* 加载URL */  
  13.         webView.loadUrl(urlStr);  
  14.           
  15.         /* 设置能获得焦点 */  
  16.         webView.setFocusable(true);  
  17.           
  18.         /* 请求获得焦点 */  
  19.         webView.requestFocus();  
  20.         return true;  
  21.     }  
  22.       
  23.     return false;  
  24. }  
  25.       
  26.       
  27.   
  28. * 实现网页访问的时候加载进度的显示:  
  29. /* 监视加载的进度 */  
  30.     webView.setWebChromeClient(new WebChromeClient(){  
  31.   
  32.         /* 实现onProgressChanged这个方法 */  
  33.         public void onProgressChanged(WebView view, int newProgress) {  
  34.             // TODO Auto-generated method stub  
  35.             super.onProgressChanged(view, newProgress);  
  36.             MainActivity.this.setProgress(newProgress*100);  
  37.         }  
  38.           
  39.     });  


*提示:设置访问连接是在自己的webView ,并且将进度条加载在标题栏则: 
/* 去除:标题 */ 
requestWindowFeature(Window.FEATURE_NO_TITLE); 

/* 设置进度条在标题栏 */ 
requestWindowFeature(Window.FEATURE_PROGRESS);

* 使用WebView执行HTML代码: 
String s = ("<html><head></head><body><a  href=http://www.google.com>click here</a></body></html>"; 
webView.loadData(s,"text/html",HTTP.UTF_8);
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值