webView.getSettings().setJavaScriptEnabled(true);//设置是否支持js
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);//不做缓存处理
缓存五种模式:
LOAD_CACHE_ONLY: 不使用网络,只读取本地缓存数据
LOAD_DEFAULT: 根据cache-control决定是否从网络上取数据。
LOAD_CACHE_NORMAL: API level 17中已经废弃, 从API level 11开始作用同LOAD_DEFAULT模式
LOAD_NO_CACHE: 不使用缓存,只从网络获取数据.
LOAD_CACHE_ELSE_NETWORK,只要本地有,无论是否过期,或者no-cache,都使用缓存中的数据。
webView.getSettings().setDefaultTextEncodingName("UTF-8");//设置编码
webView.getSettings().setLoadsImagesAutomatically(true);//支持网页图片加载
webView.getSettings().setDomStorageEnabled(true);// 开启 DOM storage API 功能
webView.getSettings().setDatabaseEnabled(true);// 开启 database storage API 功能
webView.getSettings().setDatabasePath(cacheDirPath);// 设置数据库缓存路径
webView.getSettings().setAppCachePath(cacheDirPath);// 设置 Application Caches 缓存目录
webView.getSettings().setAppCacheEnabled(true);// 开启 Application Caches 功能
删除缓存
private void clearCache(String cacheDirPath) {
deleteDatabase("webview.db");
deleteDatabase("webviewCache.db");
CookieSyncManager.createInstance(this);
CookieManager.getInstance().removeAllCookie();
File file = new File(cacheDirPath);
File chromiumFile = new File(StorageUtils.getCachePath(this) + "webviewCacheChromium");
if (file.exists()) {
deleteFile(file);
}
if (chromiumFile.exists()) {
deleteFile(chromiumFile);
}
}
/** 删除缓存 */
private void deleteFile(File file) {
// TODO Auto-generated method stub
if (file != null && file.isDirectory()) {
for (File item : file.listFiles()) {
item.delete();
}
file.delete();
}
}
Jsoup.jar 用来解析Html页面;
步骤:
1、获取到要加载的网络的html元素;
可用:
publicString getHtmlString(String urlString) {
try{
URL url =newURL(urlString);
URLConnection ucon = url.openConnection();
InputStream instr = ucon.getInputStream();
BufferedInputStream bis =newBufferedInputStream(instr);
ByteArrayBuffer baf =newByteArrayBuffer(500);
intcurrent =0;
while((current = bis.read()) != -1) {
baf.append((byte) current);
}
returnEncodingUtils.getString(baf.toByteArray(),"gbk");
}catch(Exception e) {
return"";
}
}
也可以:
Document doc = Jsoup.parse(newURL("http://www.cnbeta.com"),5000);
2、用Jsoup 解析这个html元素,返回一个Document对象;
Document document = Jsoup.parse(htmlString);
3、获取每个节点的标签;
String title = document.head().getElementsByTag("title").text();