您的位置:首页 > 移动开发 > Android开发

android 选择手机图库,实现修改个人资料,头像上传功能,可直接使用

2017-01-14 20:00 941 查看
个人资料,修改头像

效果图



DEMO地址:http://download.csdn.net/detail/wxk105/9737763

项目中包括了:头像上传源码;MyBitmapUtils,图片的各种处理工具类;MyLogUtils,日志打印处理工具类;MyToastUtils土司工具类;SpUtils轻量级数据存储工具类;基类BaseActivity的封装等;

打开系统相册:

/**
* 打开系统相册
*/
private void headIconDialog() {
Intent openAlbumIntent = new Intent(Intent.ACTION_GET_CONTENT);
openAlbumIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
startActivityForResult(openAlbumIntent, PHOTOZOOM);
}


图片选择裁剪成功后返回:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Uri uri = null;
Intent intent = null;
switch (requestCode) {
case PHOTOZOOM:// 相册
if (resultCode != RESULT_OK) {
return;
}
if (data == null) {
return;
}
uri = data.getData();
Bitmap userbitmap = MyBitmapUtils.decodeUriAsBitmap(this, uri);
if (userbitmap == null) {//这里用于校验图片是否有误(可能是破损图)
MyToastUtils.showShortToast(getApplicationContext(), "图片有误,请重新选择!");
return;
}
File user_head = MyBitmapUtils.saveBitmap(MyBitmapUtils.zoomImgKeepWH(userbitmap, 400, 400, true), "user_head.jpeg");
intent = new Intent(this, CropImageAct.class);
intent.putExtra("path", Environment.getExternalStorageDirectory() + "/" + "user_head.jpeg");
MyLogUtils.info("拍照图片地址是:" + Environment.getExternalStorageDirectory() + "/" + "user_head.jpeg");
startActivityForResult(intent, IMAGE_COMPLETE);
break;
case IMAGE_COMPLETE:// 完成
if (data != null) {
String temppath = data.getStringExtra("path");
//                    toloadfile(temppath);//这里上传头像到后台接口
final Bitmap bitmap = BitmapFactory.decodeFile(temppath);
iv.setImageBitmap(bitmap);
MyLogUtils.info(data + "裁剪完成地址。。。。");
}

break;
}
}


项目代码比较简单,并且已经封装好,只要将相应的view包直接复制到项目中,即可使用。尤其这里的MybitmapUtils是已经封装好的,可识别破损图片。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐