Android(安卓)更改头像(图片)并上传服务器功能Demo详解
引言
很久没更新博客了,最近忙得有点神魂颠倒,不过呢,今天回来继续更新。今天还是我们的android小demo系列,带来的是很常用的一个功能:用户从图库或者自个儿调用相机拍摄一张照片,然后用户可以对图片做裁剪啊加滤镜啊等操作,最后把图片返回显示到界面(或者再加点上传到服务器的操作)。
实现思路与步骤
1.布局文件
布局很简单,demo嘛,一个imageview用来显示图片(头像),一个button用来点击添加图片(当然你也可以直接把点击事件写到imageview上,像朋友圈里发朋友圈时添加图片就是这样的)。
贴图:
2.实现逻辑
- 第一步:用户点击添加图片(修改头像),弹出一个对话框,让用户选择从相册找一张还是打开相机拍一张。
- 贴图:
这里注意一下处理用户的选择,如果用户选择“选择本地照片”,就写一个openAlbumIntent,这里intent类型是 Intent openAlbumIntent = new Intent.ACTION_GET_CONTENT);;而如果用户选择拍照,就写: Intent openCameraIntent = new MediaStore.ACTION_IMAGE_CAPTURE);最后都需要:用startActivityForResult方法,待会儿重写onActivityResult()方法,拿到图片做裁剪操作
- 第二步:对图片做裁剪。cutImage()方法如下:
- 贴图:
这里注意一下,com.android.camera.action.CROP这个action是用来裁剪图片用的
// aspectX aspectY 是宽高的比例 intent.putExtra("aspectX", 1); intent.putExtra("aspectY", // outputX outputY 是裁剪图片宽高 intent.putExtra("outputX", 150); intent.putExtra("outputY", 150);
- 第三步:将图片显示到界面上:
贴图:
第四步:最后的最后,重写onActivityResult()方法:
- 贴图:
运行截图
Demo链接:
1.github链接: Android 更改头像(图片)并上传服务器功能Demo
(PS:这里提供的是GitHub的链接,没有CSDN积分的同学免费下载哦,demo经测试完美运行,可以直接拿来用哦,觉得可以的同学麻烦顶一下我的博客并star一下我的github上的项目作为鼓励哦!)
2.后期将会更新第二篇,如何将图片上传服务器并且做好本地缓存,敬请期待!
3.如果有什么疑问或者下载的源码studio导入出现问题,欢迎在下方留言,我看到后会为您解答。
更多相关文章
- android实现连连看,附源码
- Android(安卓)UI设计秘笈
- Android开发指南-框架主题-安全和许可
- Android(安卓)6.0运行时权限勾选不再询问后该如何处理?
- 5条针对Honeycomb的UI设计建议
- Android(安卓)MediaStore仿微信朋友圈获取图片及视频
- android移动平台——移动SNS(二):注册登录
- Android图片压缩上传之基础篇
- [送给不懂android的开发者]react-native如何替换android图标资源