温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

WebView图片缓存

发布时间:2020-04-25 14:10:36 来源:网络 阅读:1576 作者:671076656 栏目:开发技术


在项目中经常会使用到WebView控件,当加载html页面时,会在/data/data/应用package目录下生成database与cache两个文件夹如下图如示:

  1. private SQLiteDatabase database;
    /**
     * 初始化缓存数据库webviewCache
     * 清空cache表中的数据
     */
    private void InitDatabase(){
    database = SQLiteDatabase.openDatabase(  
    getDatabasePath("webviewCache.db").getAbsolutePath(), null,  
    SQLiteDatabase.OPEN_READWRITE);  
    String sql = "delete from cache";
    database.rawQuery(sql, new String[]{});
    }

       

 /**
 * 从cache表中获取第一个图片路径
 * 由于刚进入界面就清空了cache表
 * 所以正常情况下,表中只存在一张缓存图片
 * @return
 */
public String getBarName(){
String result = null;//
Cursor cursor = database.rawQuery("select * from cache",  
new String[] {});
if(cursor.moveToNext()){
result =  cursor.getString(cursor.getColumnIndex("filepath"));
}
cursor.close();
database.close();
return result;
}



/**
 * 从缓存获取图片
 * 
 * @return
 */
private Bitmap getPictureFromCache(String str){
Bitmap bitmap=null;
try {
File file=new File(getCacheDir()+"/webviewCache/" + str);
FileInputStream inStream=new FileInputStream(file);
bitmap=BitmapFactory.decodeStream(inStream);
} catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI