2019独角兽企业重金招聘Python工程师标准>>>

【0】大家都知道Android从1.5开始刚插入SD卡时系统会调用MediaScanner服务进行后台扫描,索引新的歌曲、图片和视频等信息,如果我们需要快速提取图片和视频缩略图可以直接访问 android.provider.MediaStore.Images.Thumbnails 和android.provider.MediaStore.Video.Thumbnails这两个数据库,即可查询出来缩略图

如何判断文件呢? 可以通过Cursor遍历数据库,对比INTERNAL_CONTENT_URI字段的值,这是一个Uri我们可以转成String,这里保存着Android手机SD卡上的多媒体文件完整路径,

有关具体的缩略图可以通过getThumbnail(ContentResolver cr, long origId, int kind, BitmapFactory.Options options) 或getThumbnail(ContentResolver cr, long origId, long groupId, int kind, BitmapFactory.Options options) 方法获取,这两种方法返回Bitmap类型,而缩略图的分辨率可以从HEIGHT和WIDTH两个字段提取,在Android上缩略图分为两种,通过读取KIND字段来获得,分别为MICRO_KIND和MINI_KIND 分别为微型和迷你两种缩略模式,前者的分辨率更低。这样我们平时获取文件系统的某个图片预览时,可以直接调用系统缩略图,而不用自己重新计算。

最后Android123提示大家,缩略图保存在SD卡的DCIM目录,里面的.thumbnails是图片的,而.video_thumbnails是视频的,这两个文件夹为隐藏属性,一般的文件管理器都可以看到。

【1】从Android2.2开始系统新增了一个缩略图ThumbnailUtils类,位于framework的android.media.ThumbnailUtils位置,可以帮助我们从mediaprovider中获取系统中的视频或图片文件的缩略图,该类提供了三种静态方法可以直接调用获取。

1. static Bitmap createVideoThumbnail(String filePath, int kind)   //获取视频文件的缩略图,第一个参数为视频文件的位置,比如/sdcard/android123.3gp,而第二个参数可以为MINI_KIND或MICRO_KIND最终和分辨率有关

2. static Bitmap extractThumbnail(Bitmap source, int width, int height, int options) //直接对Bitmap进行缩略操作,最后一个参数定义为OPTIONS_RECYCLE_INPUT,来回收资源

3. static Bitmap extractThumbnail(Bitmap source, int width, int height) // 这个和上面的方法一样,无options选项

最后Android开发网再次提醒大家,ThumbnailUtils类是API Level从8或更高才开始支持的。

转贴自:http://www.android123.com.cn/androidkaifa/665.html

转载于:https://my.oschina.net/lendylongli/blog/226803

Android之获取手机上的图片和视频缩略图thumbnails相关推荐

  1. 获取图片和视频缩略图Thumbnails ThumbnailUtils

    详细请看http://blog.csdn.net/zhou699/article/details/6538478 http://shazhuzhu1.iteye.com/blog/1254724 详细 ...

  2. 【Android】获取手机上所有电话卡的运营商和信号强度

    同一张卡的网络信号,有2G,3G,4G,5G等多种 这里主要实现4G和5G信号强度的获取,2G和3G的获取方式雷同 但由于现在已经不常用了,所以不再写多余的代码 package com.android ...

  3. android 解决小米手机上选择照片路径为null的问题

    之前做了一个获取相册选择图片的功能,后来测试人员在小米的手机 测试时出现崩溃现象.自己就在网上查找资料,发现是小米的获取图片路径的代码与其他的手机不一样,于是修改了代码,解决了这个问题,这里记录一下. ...

  4. Android之获取手机内部及sdcard存储空间

    Android之获取手机内部及sdcard存储空间 文章链接 知识点: 内部存储空间获取总大小和可用大小: sdcard存储空间获取总大小和可用大小: 新名词记录{StatFs:描述文件系统信息的类} ...

  5. Android适配 获取手机屏幕的分辨率

    如何将一个应用程序适配在不同的手机上,虽然这不算是一个技术问题,但是对于刚刚做屏幕的开发人员来说,还真不是一件多么简单的事情. 首先:你需要在AndroidManifest.xml文件的<man ...

  6. android小米手机上传图片,android 解决小米手机上选择照片路径为null的问题

    释放双眼,带上耳机,听听看~! 之前做了一个获取相册选择图片的功能,后来测试人员在小米的手机 测试时出现崩溃现象.自己就在网上查找资料,发现是小米的获取图片路径的代码与其他的手机不一样,于是修改了代码 ...

  7. Android杂谈---获取手机屏幕大小

    Android杂谈---获取手机屏幕大小 SurfaceView简单例子 玩转Android---UI篇---ZoomControls放大缩小图片 更多相关推荐 这里总结下android中关于手机屏幕 ...

  8. 获取服务器上图片的位置,怎么获取服务器上的图片地址

    怎么获取服务器上的图片地址 内容精选 换一换 通过云服务器或者外部镜像文件创建私有镜像时,如果云服务器或镜像文件所在虚拟机的网络配置是静态IP地址时,您需要修改网卡属性为DHCP,以使私有镜像发放的新 ...

  9. android 自动获取手机验证码

    真的很奇怪大家的复制粘贴功能,一篇自动获取手机验证码的文章各大平台争相转发,我以为很牛逼,到后来发现不能用,可能我技术不够吧,复制粘贴还不到家. android 自动获取手机验证码好处 :① 用户不用 ...

最新文章

  1. Redux源码浅析系列(一):`CreateStore`
  2. jeecg uedit 自定义图片上传路径
  3. 根据 *_train_test.prototxt文件生成 *_deploy.prototxt文件
  4. bean validation校验方法参数_SpringBoot参数校验 从入门到精通 解决繁琐的参数验证工作...
  5. swagger2注解说明文档
  6. linux开机出现一下错误Give root password for maintenance (or type Control-D to continue):
  7. 【WordPress 建站教程】在 正文顶端或末尾插入固定的内容
  8. 主板有电无法启动_主板通电但不能启动怎么回事
  9. 计算机毕业设计中用java/php/net/pythont物流配送中心管理系统设计
  10. IDW空间插值法matlab,基于IDW对PM2.5进行空间插值及可视化
  11. 2022 各国程序员薪资大揭秘!
  12. KEIL MDK平台 S3C2440 C语言软件仿真
  13. python游戏寻路_python模拟实现A*寻路算法
  14. Android怎么实现解压文件,Android如何实现压缩和解压缩文件
  15. ZROI 2018 ZYB和售货机(goods)
  16. (一)使用 Sliced Sprite 制作 UI 图像
  17. 基于Go语言GoFrame+Layui搭建MVC项目教程
  18. 从eclips到idea
  19. 信息化也需要雅俗包装
  20. 反序列化漏洞利用总结

热门文章

  1. 每天看一片代码系列(二):WebSocket-Node
  2. IOS atomic与nonatomic,assign,copy与retain的定义和区别
  3. 一款很好用的JQuery dtree树状图插件(一)
  4. 2021蛋白组学研究常用数据库汇总整理
  5. 如何用SPSS做协方差分析?超详细图文教程
  6. Vue-Cli 学习整理【转载】
  7. 耳机使用说明书 jbl ua_用过JBL耳机后,才知道在运动领域BOSE和BO原来只是个弟弟...
  8. 基于MFCC系数的欧氏距离测量
  9. python 多进程和多线程
  10. vb.net 2019-机器学习ml.net情绪分析(3)