在项目中经常会使用到WebView控件,当加载html页面时,会在/data/data/应用package目录下生成database与cache两个文件夹如下图如示:
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; }
转载于:https://blog.51cto.com/670176656/1679070