个人开发项目中需要使用WebView加载一些网络上的内容,目前还没有深入的学习,这篇博客首先简单的记录一下WebView加载html和CSS的相关方法。
加载html无非有三种情况:一、存放在assets文件夹下的html文件;二、直接加载某个指定的网页。
三、从网络上解析得到的html代码,注意此处是代码,即字符串格式。
前两种情况比较类似:
首先获取WebView的控件:
mWebView = (WebView) findViewById(R.id.webview);
然后调用WebView的loadUrl方法:
mWebView.loadUrl("file:///android_asset/yourHtml.html");
mWebView.loadUrl("www.baidu.com");
第一行代码对应的是加载静态Html文件,无css样式。第二行是直接加载某个网址,直接加载该网页的CSS样式,代码很简单也很好理解。
对于第三种情况,由于所获取到的信息是html的代码,所以不能直接使用loadUrl()方法,此时要使用另外一种方法, 这里直接上源码:
/**
* Loads the given data into this WebView using a 'data' scheme URL.
* <p>
* Note that JavaScript's same origin policy means that script running in a
* page loaded using this method will be unable to access content loaded
* using any scheme other than 'data', including 'http(s)'. To avoid this
* restriction, use {@link
* #loadDataWithBaseURL(String,String,String,String,String)
* loadDataWithBaseURL()} with an appropriate base URL.
* <p>
* The encoding parameter specifies whether the data is base64 or URL
* encoded