`
1140566087
  • 浏览: 545860 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18021
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:308732
Group-logo
J2ME 基础学习课程集
浏览量:17883
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17151
社区版块
存档分类
最新评论

Android 之 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代码:
		/* 测试:按下设备上的搜索键执行网页的跳转 */
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		/* 通过键码判断按下的是哪个按钮 */
		if(keyCode ==KeyEvent.KEYCODE_SEARCH){
			/* 获取用户输入的url */
			String urlStr = htmlUrl.getText().toString();
			
			/* 判断用户输入的是否是合法的URL */
			if(URLUtil.isNetworkUrl(urlStr))
			
			/* 加载URL */
			webView.loadUrl(urlStr);
			
			/* 设置能获得焦点 */
			webView.setFocusable(true);
			
			/* 请求获得焦点 */
			webView.requestFocus();
			return true;
		}
		
		return false;
	}
		
		
	
	* 实现网页访问的时候加载进度的显示:
	/* 监视加载的进度 */
		webView.setWebChromeClient(new WebChromeClient(){

			/* 实现onProgressChanged这个方法 */
			public void onProgressChanged(WebView view, int newProgress) {
				// TODO Auto-generated method stub
				super.onProgressChanged(view, newProgress);
				MainActivity.this.setProgress(newProgress*100);
			}
			
		});


*提示:设置访问连接是在自己的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);



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics