如何添加图片缓存和删除图片缓存

来源:互联网 发布:广告牌设计制作软件 编辑:程序博客网 时间:2024/06/06 02:38

刚刚在看android中ApiDemos里的小应用ExternalStorage.java,里面写的是如何向外部设备上读写文件。当你在外部设备上写完文件之后,比如是从网络上下载完一张图片,那么此时应该把这个图片添加到系统图片缓存中,也就是加载到MediaStore中去,这样用户在打开“我的文件”时,就能在图片预览中找到你刚刚下载的那张图片,那么如何添加到图片缓存中呢?示例中的代码是这样做的:

// Tell the media scanner about the new file so that it is            // immediately available to the user.            MediaScannerConnection.scanFile(this,                    new String[] { file.toString() }, null,                    new MediaScannerConnection.OnScanCompletedListener() {                public void onScanCompleted(String path, Uri uri) {                    Log.i("ExternalStorage", "Scanned " + path + ":");                    Log.i("ExternalStorage", "-> uri=" + uri);                }            });

这样这个图片就出现在了图片预览缓存中了,但是当删除了刚刚下载的图片后,再次查看“我的文件”-》“图片”时,发现它的缓存文件却没有被删除,那是因为我们仍然需要通知mediastore删除这个缓存,我在网上找了个方法,试了试不错,记在这儿,省得自己忘了:

int rows = getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,         MediaStore.Images.ImageColumns.DATA +"=?", new String[]{file.toString()});        Log.v("ExternalStorage", "delete rows = " + rows);

上面的file对象是File类型的,也就是你刚刚删除的文件对象。是不是很简单呢?

如果大家有更好的方法,望告知,多谢!

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 酷派手机酷管家密码忘了怎么办 手机磁盘目录不具有读写权限怎么办 魅族手机像素突然变模糊了怎么办 手机忽然所有软件都没了怎么办 魅族读书下架的书怎么办 我的电信大王卡激活了没信号怎么办 三星翻盖手机忘记锁屏密码怎么办 小米2s电信版信号不好怎么办 4s微信版本过低怎么办 换了一个城市牵的电信网线怎么办 联通电话卡注销了里面的钱怎么办 红米4a上网太慢怎么办 华为光猫网线接囗接触不良怎么办? 苹果电信4g信号变3g怎么办 苹果7的4g变3g了怎么办 华为路由器的登录密码忘记了怎么办 华为手机有4g但不能上网怎么办 移动4g 手机开密码忘了怎么办 华为安卓8.0屏幕上圆怎么办 苹果5s不能用4g怎么办 电动车的锁住了钥匙丢了怎么办 小米蓝牙耳机青春版开不了机怎么办 小米蓝牙耳机进水了开不了机怎么办 新买的蓝牙耳机开不了机怎么办 蓝牙耳机长时间不用开不了机怎么办 瑞和宝pos机无法连接蓝牙怎么办 手机做话筒连蓝牙音箱不同步怎么办 荣耀畅玩7x触屏不灵怎么办 华为6x屏幕点没反应怎么办 苹果耳机按一下就挂断电话怎么办 华为畅享7忘记账号密码怎么办 华为荣耀8手机外放声音小怎么办 安卓手机耳机减音量不能用怎么办 苹果手机微信语音是耳机模式怎么办 平果手机没声音出现耳机模式怎么办 苹果6s进水了一直耳机模式怎么办 华为手机没声音显示耳机模式怎么办 华为手机没声音出现耳机模式怎么办 安卓手机全民k歌耳返延迟怎么办 华为手机双清后手机开不了机怎么办 荣耀9上面有个耳机标志怎么办