Android:支持多选的本地相册
来源:互联网 发布:阿拉斯加大学 知乎 编辑:程序博客网 时间:2024/06/08 12:14
前段时间在做一个动态发布功能,需要用到图片上传。一开始直接调用的系统相册和相机,由于系统相机不支持多选,就花点时间做了个本地相册,在此开源下。
先上截图,依次为选择相册界面、相册详情界面、查看图片大图界面
相册列表按图片数量降序排序,相册详情列表按图片时间降序排序,对比了下微信和QQ的相册,读取的文件基本一致。
接下来说下相册文件遍历的思路。首先肯定不会是通过文件夹逐级遍历的,这样效率太低。查了下API发现Android的系统数据库已经存储了所有的图片路径和缩略图路径(如果有),可直接通过ContentProvider来获取,获取大图的URI是
MediaStore.Images.Media.EXTERNAL_CONTENT_URI
获取缩略图的URI是
MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI
我的做法是先遍历所有大图,获取ID和路径,再通过大图的ID去查找缩略图路径,在相册中显示的都是缩略图,这样可以提高显示速度,同时减少内存开销。但是通过大图ID去查找缩略图这一步是需要消耗一点时间的,因此将它在App启动时,开启线程执行。LocalImageHelper类用以执行该操作。
待完善点:相册的初始化是放在应用启动时,初始化一次后就不再重新执行,因此假如在应用开启后,设备内添加了新的图片或删除了图片,应用内缓存的相册仍然不会改变,下一步可以在每次打开相册时和本地图片做一次对比,对新增的和删除的图片做一个更新。
Demo中使用了ImageLoader库来展示图片,使用的是Android Studio开发。
GitHub地址:https://github.com/LinJZong/LocalAlbum.git
阅读全文
0 0
- Android:支持多选的本地相册
- Android:支持多选的本地相册
- 一个简约的Android相册(支持多选)
- Android中的支持拍照和选择本地相册的图片选择器
- android 获取本地相册的一些问题
- Android相册支持查看本地相册,点击放大图片,滑动切换图片,手势放大缩小
- Android刷新本地相册
- Android刷新本地相册
- Android刷新本地相册
- Android刷新本地相册
- android图片:多选相册的实现
- android选择本地相册图片路径的问题的解决
- ANDROID GRIDVIEW仿微信图片多选功能_显示本地相册图片多选效果
- Android app中将图片保存到本地相册并自命名相册名的代码方法
- android 多选灵活相册
- Android 获取本地相册照片信息
- Android获取本地图片和相册
- Android图片保存在本地相册
- Java中的事务——JDBC事务和JTA事务
- solaris操作系统损坏,恢复数据库
- 高德地图API使用心得分享
- 今日小程序推荐:清单plus-他人经验,可以攻玉
- C++ 宏定义#define 中##的使用
- Android:支持多选的本地相册
- 矩阵快速幂
- C#用API如何遍历所有窗口句柄
- Node.js初学笔记(使用InteliJ IDEA创建的项目)
- 推荐系统学习--基于item的协同过滤算法及python实现
- PT项目--含税价PB00采购定价方案实例之二
- Android常用代码之普通及系统权限静默安装APK
- JS中this和对象作为函数参数的区别
- spark读取MySQL大Table的效能问题