WebView使用及原理
来源:互联网 发布:php处理上传的图片 编辑:程序博客网 时间:2024/05/23 15:43
WebView在是一个特殊的View, 它能用来显示网页,这个类可以被用来在app中仅仅显示一张在线的网页,还可以用来开发浏览器。WebView内部实现是采用渲染引擎来展示view的内容,提供网页前进后退,网页放大,缩小,搜索,前端开发者可以使用web inspector(Android 4.4系统支持,4.4一下可以采用http://developer.android.com/guide/webapps/debugging.html)调试HTML,CSS,JavaScript等等功能。在Android 4.3系统及其一下WebView内部采用Webkit渲染引擎,在Android 4.4采用chromium 渲染引擎来渲染View的内容。
把WebView视为一个浏览器,它使用了Webkit渲染引擎加载显示网页,WebView有两种实现方法:
第一种,实例化代码:
在要Activity中实例化WebView组件:
WebView webView = new WebView(this);
调用WebView中的loadUrl()方法,设置WebView要显示的网页:
- 网络请求:webView.loadUrl(“http://blog.csdn.net/ideal_utopia“);
- 本地资源加载:webView.loadUrl(“file://android_asset/xx.html”);
调用Activity的setContentView()方法显示网页视图
- 使WebView多次打开请求界面时,具有back功能,需覆盖Activity的onKeyDown方法,如果不做任何处理,那么一使用手机back功能,那么浏览器则会调用finish,从而结束自身,并不会进行界面的回退!
- 需要在配置文件添加网络请求权限,否则会“Web page not available”
eg:
public calss MainActivity extends Activity{ private WebView webView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //实例化WebView对象 webView = new WebView(this); //设置WebView属性,能够执行JavaScript脚本 webView.getSettings.setJavaScriptEnaled(true); //加载需要显示的网页 webView.loadUrl("http://blog.csdn.net/ideal_utopia"); //设置Web视图 setContentView(webView); } //设置回退 //覆盖Activity的onKeyDown(int keyCode,KeyEvent event)方法 @Override public boolean onKeyDown(int keyCode,KeyEvent event) { if((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) { webView.goBack();//goBack()表示返回WebView的上一个界面 return true; } return false; }}
第二种、在布局文件中配置:
- 在布局文件中声明WebView
- 在Activity中实例化WebView
- 调用WebView的loadUrl()方法,设置WebView要显示的网页
- 使WebView能够响应超链接功能,调用setWebViewClient()方法,设置WebView视图
- 覆盖Activity的onKeyDown方法
- 设置网络请求权限
eg:
public calss MainActivity extends Activity{ private WebView webView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webView = (WebView)findViewById(R.id.webView); //设置WebView属性,能够执行JavaScript脚本 webView.getSettings.setJavaScriptEnaled(true); //加载需要显示的网页 webView.loadUrl("http://blog.csdn.net/ideal_utopia"); //设置Web视图 webView.setContentView(new WebViewClient()); } //设置回退 //覆盖Activity的onKeyDown(int keyCode,KeyEvent event)方法 @Override public boolean onKeyDown(int keyCode,KeyEvent event) { if((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) { webView.goBack();//goBack()表示返回WebView的上一个界面 return true; } return false; } //web视图 private classHelloWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }}
0 0
- WebView使用及原理
- WebView的使用及总结
- WebView使用详解及常见问题
- webView的使用及注意事项
- WebView的使用及实战
- WebView的使用及实战
- 【WebView】Android WebView专栏——基本使用及常见问题
- webview的基本使用及优化
- webView 使用指南及使用心得总结
- Android使用WebView加载网页及数据
- android webview 属性设置及使用
- WebView 的使用及小知识点
- webview的使用及常见的问题
- WebView的使用及交互方式
- iOS实现WebView上图片放大 用法及原理
- gdb使用及原理
- gdb使用及原理
- gdb使用及原理 .
- 单片机==矩阵键盘+时钟+键入时间+闹钟(12)
- 行为识别笔记:关于行为检测/识别问题的分类及研究进展的讨论
- 『Linux运维笔记----网卡故障:弹出界面eth0: 错误:没有找到合适的设备』
- 排序方法简单总结
- 函数执行过程(预处理->编译->汇编->链接)
- WebView使用及原理
- define dd rva on IDAPro
- python -- 模块相关的命令
- Understanding LSTM Networks
- HDU 5077 NAND(真值表状压)
- Thinkphp 5.0整合支付宝即时到账最新接口,含模型验证完整实例
- 深度学习前期准备
- 几种页面置换算法,会算所需换页数
- python对文件及文件夹的一些操作