在安卓开发的过程中,有事后需要打开一些网页,这时候使用webview控件能够更轻松完成内容的显示
WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用。
webview有两个方法:setWebChromeClient 和 setWebClient
setWebClient:主要处理解析,渲染网页等浏览器做的事情
setWebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
WebViewClient就是帮助WebView处理各种通知、请求事件的。
使用时需要在配置文件中加入网络请求权限:
<uses-permission android:name="android.permission.INTERNET"/>
示例代码如下:
public class MainActivity extends Activity {
private WebView webview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//实例化WebView对象
webview = new WebView(this);
//设置WebView属性,能够执行Javascript脚本
webview.getSettings().setJavaScriptEnabled(true);
//加载需要显示的网页
webview.loadUrl("http://www.51cto.com/");
//设置Web视图
setContentView(webview);
}
@Override
//设置回退
//覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack(); //goBack()表示返回WebView的上一页面
return true;
}
return false;
}
常用的方法有:
clearCache(boolean includeDiskFiles); 清除缓存;
clearHistory(); 清除历史 前进和后退;
getSettings(); 获取WebSetting;
goBack(); 返回上一页面;
goForward(); 前一页面;
loadUrl(String url); 打开一个页面;
reload(); 重写加载当前页面;
stopLoading(); 停止加载;
setScrollBarStyle(int style); 指定;
loadData("HTML String"); 加载HTML;