Android 从相册选取多张照片

来源:互联网 发布:土木工程 知乎 编辑:程序博客网 时间:2024/04/28 11:50

你们会觉得这没什么好讲的,一般都导入相应的项目就ok了,但我个人觉得,这会造成很多无用代码。于是乎,我又去看源码,了解思想后,这次自己写了项目,先说说思想及注意事项:
1.通过ContentResolver 获取手机里面的所有图片的路径
2.把获取的图片,展示在GridView中

其实,就这么简单,好处是:维护起来方便。

注意事项:
从相册导入的图片,有大有小,太大可能撑爆内存,或者GridView滚动时,很卡。
那怎么解决呢,用picasso-2.5.2.jar就行,当然你用我前面的经典压缩图片方法也是一样的。
先来看重点代码:
Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
ContentResolver mContentResolver = MainActivity.this
.getContentResolver();

    // 只查询jpeg和png的图片    Cursor mCursor = mContentResolver.query(mImageUri, null,            MediaStore.Images.Media.MIME_TYPE + "=? or "                    + MediaStore.Images.Media.MIME_TYPE + "=?",            new String[]{"image/jpeg", "image/png"},            MediaStore.Images.Media.DATE_MODIFIED);      while (mCursor.moveToNext()) {        // 获取图片的路径        String path = mCursor.getString(mCursor                .getColumnIndex(MediaStore.Images.Media.DATA));        list.add(path);    }

图片的处理:
Picasso.with(context).load(new File(list.get(position)))
.resize(200, 200).centerCrop().into(viewHolder.imageView);

下面有两个链接,一个是github上的,别人写的一个项目,我还觉得可以,该项目链接地址如下:
https://github.com/lovetuzitong/MultiImageSelector
后面这个是我Demo的例子,但没怎么完善,只是实现的基本功能,后续都比较简单了,自己可以完成。
链接地址如下:
http://download.csdn.net/detail/jimtrency/9610886

2 0
原创粉丝点击