一、实现逻辑与思路
在Android中实现图片上传,有两种途径:本地上传,照相上传。
在整体框架中,需要实现,打开两种图片上传的方式,然后是接受获取到的图片,并做基本的展示。在主页面中,实现2个Button,用于跳转获取图片的触发事件。在底下实现GridView,用于接受获取到的图片。
图片可上传,当然也可去除选中的图片。为每个Item实现长按事件,从而展示删除按钮,实现对图片的管理。
1,本地上传
应用Button跳转事件,展示本地所有的图片列表。根据选中事件,跳转展示图片列表对应的图片详情。当前图片展示页面只用于展示图片,对图片进行了缩放。添加图片被选中框,能够管理图片是否被选中状态。
整个过程实现了主页面---图片列表页面--图片展示详情页面,点击完成,图片需要被传回主页面。当前采用广播的模式将选中的图片信息,传回主页面。同时,主页面需要有广播接收器,接受回传的图片信息。
需要加载本地图片文件列表,获取全部图片地址的方法。
为实现图片的压缩,需要获取图片原有大小。
抽取图片处理相关方法:
public class Util {
Context context;
public Util(Context context) {
this.context = context;
}
/**
* 获取全部图片地址
*
* @return
*/
public ArrayList<String> listAlldir() {
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
Uri uri = intent.getData();
ArrayList<String> list = new ArrayList<String>();
String[] proj = {MediaStore.Images.Media.DATA};
Cursor curso