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 stubsuper.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);



更多相关文章

  1. Android(安卓)app实现重启
  2. Android(安卓)下载进度条, 自定义加载进度条,loading动画
  3. 在android中显示网络图片及查看页面源代码
  4. Android混合开发
  5. 用CSS3生成的一个漂亮的android客户端页面
  6. Android(安卓)API 中文(14) ―― ViewStub
  7. Android动态加载学习
  8. Android第三方异步网路加载库AsyncHttpClient内部实现缓存策略了
  9. android实现swipe的手势及页面拖动动画

随机推荐

  1. 将模态框案例再动手写一遍,不要全抄课堂
  2. 将模态框案例再动手写一遍,不要全抄课堂
  3. php中laravel调度执行错误解决方法
  4. 盒模型和媒体查询
  5. ThinkPHP的标签制作实例讲解
  6. node-todo小项目===待续
  7. php中str_replace替换实例讲解
  8. 选择器权重与伪类选择器
  9. android内存分析工具- MAT的初识(1)
  10. Android开发高薪之路 蜂窝教育与您同行