浅谈AndroidWebView转自:http://liangruijun.blog.51cto.com/3061169/6474562011-09-16WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:第一种方法的步骤:1.在要Activity中实例化WebView组件:WebViewwebView=newWebView(this);2.调用WebView的loadUrl()方法,设置WevView要显示的网页:互联网用:webView.loadUrl("http://www.google.com");本地文件用:webView.loadUrl("file:///android_asset/XX.html");本地文件存放在:assets文件中3.调用Activity的setContentView()方法来显示网页视图4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面5.需要在AndroidManifest.xml文件中添加权限,否则会出现Webpagenotavailable错误。
下面是具体例子:MainActivity.java1.packagecom.android.webview.activity;2.3.importandroid.app.Activity;4.importandroid.os.Bundle;5.importandroid.view.KeyEvent;6.importandroid.webkit.WebView;7.8.publicclassMainActivityextendsActivity{9.privateWebViewwebview;10.@Override11.publicvoidonCreate(BundlesavedInstanceState){12.super.onCreate(savedInstanceState);13.//实例化WebView对象14.webview=newWebView(this);15.//设置WebView属性,能够执行Javascript脚本16.webview.getSettings().setJavaScriptEnabled(true);17.//加载需要显示的网页18.webview.loadUrl("http://www.51cto.com/");19.//设置Web视图20.setContentView(webview);21.}22.23.@Override24.//设置回退25.//覆盖Activity类的onKeyDown(intkeyCoder,KeyEventevent)方法26.publicbooleanonKeyDown(intkeyCode,KeyEventevent){27.if((keyCode==KeyEvent.KEYCODE_BACK)&&webview.canGoBack()){28.webview.goBack();//goBack()表示返回WebView的上一页面29.returntrue;30.}31.returnfalse;32.}在AndroidManifest.xml文件中的17行添加权限1.2.
6.7.8.9.11.12.13.14.15.16.17.18.效果图:第二种方法的步骤:1、在布局文件中声明WebView2、在Activity中实例化WebView3、调用WebView的loadUrl()方法,设置WevView要显示的网页4、为了让WebView能够响应超链接功能,调用setWebViewClient()方法,设置WebView视图5、用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面6、需要在AndroidManifest.xml文件中添加权限,否则出现Webpagenotavailable错误。下面是具体的例子:MainActivity.java1.packagecom.android.webview.activity;2.3.importandroid.app.Activity;4.importandroid.os.Bundle;5.importandroid.view.KeyEvent;6.importandroid.webkit.WebView;7.importandroid.webkit.WebViewClient;8.9.publicclassMainActivityextendsActivity{10.privateWebViewwebview;11.@Override12.publicvoid...