Android 从相册选取多张照片
2016-08-23 20:37
363 查看
你们会觉得这没什么好讲的,一般都导入相应的项目就ok了,但我个人觉得,这会造成很多无用代码。于是乎,我又去看源码,了解思想后,这次自己写了项目,先说说思想及注意事项:
1.通过ContentResolver 获取手机里面的所有图片的路径
2.把获取的图片,展示在GridView中
其实,就这么简单,好处是:维护起来方便。
注意事项:
从相册导入的图片,有大有小,太大可能撑爆内存,或者GridView滚动时,很卡。
那怎么解决呢,用picasso-2.5.2.jar就行,当然你用我前面的经典压缩图片方法也是一样的。
先来看重点代码:
Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
ContentResolver mContentResolver = MainActivity.this
.getContentResolver();
图片的处理:
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
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
相关文章推荐
- Android TextView(一)——常用属性简介
- <Android 基础(二十)> CoordinatorLayout Behavior
- <Android 基础(二十)> CoordinatorLayout Behavior
- 我的Android之旅(二十四)-------数据库ORMLite框架总结
- Android事件来源
- 4000 java.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoa
- Android学习笔记--3.Intent的使用
- 简单方法实现Android阅读器分页
- ListView中EditText焦点获取
- 获取 ViewPager 内部子控件的方法
- Android之关于SD卡的读取问题
- Android自定义控件,画一条线
- 杂记3:android AsyncTask基础应用
- 安卓日记——保存你的日夜间模式
- ubuntu下不能识别安卓设备
- Android事件总线分发库的使用
- android monitor
- android群英传学习笔记-自定义ScrollView
- android zipalign
- android调试命令积累--getevent