android webview详解
来源:互联网 发布:黑帽seo如何赚钱 编辑:程序博客网 时间:2024/06/16 11:04
小伙伴们在开发安卓的时候一定会用到webview加载h5页面的,今天就来说说这货。
1 为什么要用呢
当然是为了节省成本了,假如,一个公司只有pc端的电商,现在想做移动端的电商了,那就可以直接把html加载到webview上了,节省了大量的成本;另外,尤其是在移动端,版本更新更加容易,不用每次都发布新版本,只要加载不同的html就可了,如果有bug的话就要发新版本了;
2 加载
WebView webView = (WebView) findViewById(R.id.webview); webView.loadUrl("http://www.baidu.com"); //获取h5的title webView.setWebChromeClient(new WebChromeClient(){ @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); } }); //webview自己加载html webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); } });
3 下载
mWebView.setDownloadListener(new MyDownLoad()); //webview下载文件 class MyDownLoad implements DownloadListener { @Override public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { //通过url下载,这个url就是文件地址 System.out.println("quyang="+url); //调用系统下载,并且在通知栏显示进度 Uri uri = Uri.parse(url); Intent intent = new Intent(Intent.ACTION_VIEW,uri); startActivity(intent); } }
4 错误处理
mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); } //webview异常毁掉 @Override public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) { super.onReceivedError(view, request, error); //在此处加载本地预备好的错误页面 //gone掉webview } });
5 同步cookie(在handler中处理,下面是关键代码)
CookieSyncManager.createInstance(this); CookieManager instance = CookieManager.getInstance(); instance.setAcceptCookie(true); instance.setCookie("登陆的url","cookie"); CookieSyncManager.getInstance().sync(); mWebView.loadUrl("登陆接口");
阅读全文
0 0
- Android WebView(一) WebView详解
- Android中WebView详解
- Android WebView 详解
- Android WebView应用详解
- android之WebView详解
- Android中WebView详解
- Android WebView详解
- Android中WebView详解
- Android WebView详解
- Android webview使用详解
- Android webview使用详解
- android WebView全面详解
- Android:WebView全面详解
- Android webview使用详解
- Android webview使用详解
- Android webview使用详解
- Android WebView详解
- android webview 操作详解。
- Nginx优化实战--参数优化
- java算法--水仙花数
- 使用boost库实现一个单例模式
- 异常
- 最小的K个数
- android webview详解
- web打印组件康虎云报表与odoo整合示例
- 关于多门编程语言的基本语句的展示(c++,后期再补充)
- Python网络编程--Echo服务
- RxJava2+Retrofit2精讲
- JavaScript实时校验用户输入
- 后缀数组 poj. 1743. Musial Theme
- Jmeter 跨线程组传递参数
- Educational Codeforces Round 22 A. The Contest