持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第18天,点击查看活动详情
前面我们介绍了安卓开发过程中的弹框,以及几种常用的弹框实现方式,弹框是开发中非常常用的业务组件,是必须掌握的一种开发技能,了解更多的实现方式有利于在遇到问题后开拓思维解决一些特殊场景导致的Bug,下面我们介绍安卓开发中使用到的另一个比较特殊的组件WebView,为什么说是特殊呢,因为它是用于和H5开发交互的时候才会用到的组件,用于展现web页面的控件,下面就来着重介绍它。
WebView 的介绍
Android WebView在Android开发中的一个特殊的view,它是基于webkit引擎,用于展现web页面的控件,它既可以展示简单的一个网页,也可以用作复杂的浏览器开发,像淘宝,京东很多页面都是web页面,加载的控件都是webview,webview内部的实现采用渲染引擎来展示我们的网页,它提供网页中的基本功能,返回、前进、放大、缩小、搜索等,既然是Android的组件,所以它也存在安卓系统的高低使用不同的内核渲染,在4.4之前是webkit,4.4之前,webview直接使用的是Chrome的内核。
WebView的应用场景
前面也说到了,很多现在使用的app里面,包括京东,淘宝,聚美等等都使用内置的web页面,它们都需要webview来渲染,WebView使用起来比较灵活,不需要客户端升级,只需要修改加载的网页就可以达到展现新的内容,所以对于一些经常变化的页面或者比较灵活的都可以使用WebView去加载,方便后期维护。
WebView基本使用
前面说到WebView是用来加载web页面的,那么它有哪几种加载方式呢,可以加载哪些内容,下面简单列举下。
WebView根据提供的方法,它可以加载四种类型的web页面,加载url、加载安卓项目中文件夹下html(asset)、加载手机存储中的html页面、加载显示html代码。
webView.loadUrl("http://localhost:8080/test/test.html");
webView.loadUrl("file:///android_asset/test.html");
webView.loadUrl("content://com.test.webview/sdcard/test.html");
webView.loadDataWithBaseURL(null,"<html><head><title> 这是一个webview </title></head>" +
"<body><h1>加载Html 代码的web页面</h1></body></html>", "text/html" , "utf-8", null);
简单的使用通过loadUrl 加载相应的地址就可以了。
下面会详细介绍它的很多应用和使用方式。