android学习笔记WebView的基本使用
2015-11-08 22:06
567 查看
WebView可以看做是一个浏览器,它使用了WebKit渲染引擎加载显示网页。
WebView的使用需要掌握下面几点,
1,首先需要开启应用网络访问权限
在AndroidMinafest.xml中添加 <uses-permission android:name="android.permission.INTERNET"/>
2,加载一个web资源由两种途径一种是网络资源,一种是加载本地资源
加载网络资源
webView.LoadUrl(url);//url就是一个网址字符串 "http://www.baidu.com"
加载本地资源,本地的网页一般放在asset文件夹中,如果如下方式访问。
webView.loadUrl("file://android_asset/examle.html");
3,需要设置网页通过webview去打开,而不是调用本地浏览器或者第三方浏览器打开,如果不设置该项,那么网页会默认从手机自带的浏览器选择打开。
4,如果网页有JavaScript,那么还需要设置webview支持JavaScript
5,就是需要重定义返回按键,因为如果直接点击手机虚拟按键,那么应用程序就会直接退出,而不是返回上一网页。
6,判断网页的加载进度。
7,加快网页加载速度,使用缓存技术
WebView的使用需要掌握下面几点,
1,首先需要开启应用网络访问权限
在AndroidMinafest.xml中添加 <uses-permission android:name="android.permission.INTERNET"/>
2,加载一个web资源由两种途径一种是网络资源,一种是加载本地资源
加载网络资源
webView.LoadUrl(url);//url就是一个网址字符串 "http://www.baidu.com"
加载本地资源,本地的网页一般放在asset文件夹中,如果如下方式访问。
webView.loadUrl("file://android_asset/examle.html");
3,需要设置网页通过webview去打开,而不是调用本地浏览器或者第三方浏览器打开,如果不设置该项,那么网页会默认从手机自带的浏览器选择打开。
//覆盖android自带的浏览器或者第三方浏览器,使得网页可以在webview中打开 webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { //返回值为true时控制网页在webview中打开,如果为false,那么在第三方或者系统浏览器中打开 //return super.shouldOverrideUrlLoading(view, url); view.loadUrl(url); return true; } });
4,如果网页有JavaScript,那么还需要设置webview支持JavaScript
//启用支持javascript WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true);
5,就是需要重定义返回按键,因为如果直接点击手机虚拟按键,那么应用程序就会直接退出,而不是返回上一网页。
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ if(webView.canGoBack()){ webView.goBack();//返回上一页 return true; } else { System.exit(0); } } return super.onKeyDown(keyCode, event); }
6,判断网页的加载进度。
webView.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { // super.onProgressChanged(view, newProgress); if(newProgress == 100){ //网页正在加载 setProgressBarVisibility(false); } else { //网页加载完毕 setProgress(newProgress*100); setProgressBarVisibility(true); } } });
7,加快网页加载速度,使用缓存技术
优先使用缓存 webview.getSetting().setCacheMode(WwebSetting.LOAD_CACHE_ELSE_NETWORK); 不优先使用缓存 webview.getSetting().setCacheMode(WwebSetting.LOAD_NO_CACHE); */
相关文章推荐
- Android项目开发
- Android 进程生命周期 Process Lifecycle
- Android Studio中AVD SDk找不到的解决办法
- 蓝懿ios 技术内容和心得交流分享 11.8
- Android打包的那些事
- Android RecyclerView(1)——范例篇
- 微信企业号(三)-发送消息给企业号指定成员
- Android Studio快捷键
- Android:Serializable接口和Parcelable接口
- CSAPP学习笔记(异常控制流1)
- CSAPP学习笔记(第一,二章)
- Springmvc4.x笔记之3.RequestMapping
- Android6.0权限管理
- spring的applicationContext.xml如何自动加载
- 1-读书笔记----iOS开发指南:从零基础到App Store上架--iOS入门
- Android TextView跑马灯
- android顶部导航栏的封装
- iOS项目中删除默认的并使用自建的ViewController后黑屏
- Android Studio使用Github托管代码
- android获取string.xml的值