美文网首页
有关webview的一些常见操作

有关webview的一些常见操作

作者: 小凯晨风 | 来源:发表于2017-07-14 11:09 被阅读0次

    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();

    相关文章

      网友评论

          本文标题:有关webview的一些常见操作

          本文链接:https://www.haomeiwen.com/subject/ctunhxtx.html