十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

webView的使用秘诀(使android客户端web化)

上一篇 / 下一篇  2011-09-04 13:09:20 / 个人分类:Android

文章来源
  • 文章来源:【转载】

Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装成了WebView组件。51Testing软件测试网-o#R#uB5GFA.N-]
SDK的Dev Guide中有一个WebView的简单例子 ,寥寥几行代码就可以做一个自己的浏览器。51Testing软件测试网q!w7oE`fI.w5V
在实验时,有如下几个注意事项:51Testing软件测试网.f9X%kH\{
1)AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误:51Testing软件测试网 N~*U'T!Aj enA

(WPqnB0

JUs lU _2Q6}7U0

+Y"n$a$U.I A02)如果访问的页面中有Javascript,则webview必须设置支持Javascript.:
Java代码 
  1. webview.getSettings().setJavaScriptEnabled(true);  

   否则显示空白页面。
3)如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖webview的WebViewClient对象:51Testing软件测试网:A8s}$s8y2y(h&l2[dW

Java代码 
  1. mWebView.setWebViewClient(new WebViewClient(){  
  2.     public boolean shouldOverrideUrlLoading(WebView view, String url) {  
  3.         view.loadUrl(url);  
  4.         return true;  
  5.     }  
  6. });  

上述方法告诉系统由我这个WebViewClient处理这个Intent,我来加载URL。点击一个链接的Intent是向上冒泡的,shouldOverrideUrlLoading方法return true表示我加载后这个Intent就消费了,不再向上冒泡了。

4)如果不做任何处理,在显示你的Brower UI时,点击系统“Back”键,整个Browser会作为一个整体“Back"到其他Activity中,而不是希望的在Browser的历史页面中 Back。如果希望实现在历史页面中Back,需要在当前Activity中处理并消费掉该Back事件:51Testing软件测试网p4f r x Yr

Java代码 
  1. public boolean onKeyDown(int keyCode, KeyEvent event) {  
  2.     if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {  
  3.         mWebView.goBack();  
  4.         return true;  
  5.     }  
  6.     return super.onKeyDown(keyCode, event);  
  7. }  

TAG: Android android webView

 

评分:0

我来说两句

Open Toolbar