安卓中WebView控件
2016-04-29 18:32
387 查看
在安卓开发的过程中,有事后需要打开一些网页,这时候使用webview控件能够更轻松完成内容的显示
WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用。
webview有两个方法:setWebChromeClient 和 setWebClient
setWebClient:主要处理解析,渲染网页等浏览器做的事情
setWebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
WebViewClient就是帮助WebView处理各种通知、请求事件的。
使用时需要在配置文件中加入网络请求权限:
1.在要Activity中实例化WebView组件:WebView webView = new WebView(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()而结束自身,而不是回退到上一页面
示例代码如下:
常用的方法有:
clearCache(boolean includeDiskFiles); 清除缓存;
clearHistory(); 清除历史 前进和后退;
getSettings(); 获取WebSetting;
goBack(); 返回上一页面;
goForward(); 前一页面;
loadUrl(String url); 打开一个页面;
reload(); 重写加载当前页面;
stopLoading(); 停止加载;
setScrollBarStyle(int style); 指定;
loadData("HTML String"); 加载HTML;
WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用。
webview有两个方法:setWebChromeClient 和 setWebClient
setWebClient:主要处理解析,渲染网页等浏览器做的事情
setWebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
WebViewClient就是帮助WebView处理各种通知、请求事件的。
使用时需要在配置文件中加入网络请求权限:
<uses-permission android:name="android.permission.INTERNET"/>
1.在要Activity中实例化WebView组件:WebView webView = new WebView(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()而结束自身,而不是回退到上一页面
示例代码如下:
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;
相关文章推荐
- 【Android动画九章】-LayoutAnimationController
- Unity3D NGUI刮刮卡效果
- Android APN加载流程
- Android 设置组件获取焦点
- Android_GitHub_jsoup(二)数据修改 、HTML清理
- Android_GitHub_jsoup(二)数据修改 、HTML清理
- 跑偏程序员自学cocos2d-x之四 XML的读写
- android各个层次的理解
- iOS navigationcontroller pop 回到上一层视图 如何刷新
- Android_GitHub_jsoup(二)数据抽取
- Android_GitHub_jsoup(二)数据抽取
- iOS多线程开发——GCD的使用与多线程开发浅析
- iOS数据存储简要笔记
- Android_GitHub_jsoup(一)简介、入门、输入
- Android_GitHub_jsoup(一)简介、入门、输入
- iOSiOS app 退出问题
- 使用Zxing玩转二维码白边的各个花样
- Android中<uses-sdk>属性和target属性分析
- web.xml配置文件中的webAppRootKey作用
- Android 开发小工具之:Custom Tabs