Android 更改头像(图片)并上传服务器功能Demo详解

时间:2022-04-13 06:42:52

引言


很久没更新博客了,最近忙得有点神魂颠倒,不过呢,今天回来继续更新。今天还是我们的android小demo系列,带来的是很常用的一个功能:用户从图库或者自个儿调用相机拍摄一张照片,然后用户可以对图片做裁剪啊加滤镜啊等操作,最后把图片返回显示到界面(或者再加点上传到服务器的操作)。

实现思路与步骤


1.布局文件

  • 布局很简单,demo嘛,一个imageview用来显示图片(头像),一个button用来点击添加图片(当然你也可以直接把点击事件写到imageview上,像朋友圈里发朋友圈时添加图片就是这样的)。

  • 贴图:
    Android 更改头像(图片)并上传服务器功能Demo详解

2.实现逻辑

  • 第一步:用户点击添加图片(修改头像),弹出一个对话框,让用户选择从相册找一张还是打开相机拍一张。
  • 贴图:
    Android 更改头像(图片)并上传服务器功能Demo详解

这里注意一下处理用户的选择,如果用户选择“选择本地照片”,就写一个openAlbumIntent,这里intent类型是 Intent openAlbumIntent = new Intent.ACTION_GET_CONTENT);;而如果用户选择拍照,就写: Intent openCameraIntent = new MediaStore.ACTION_IMAGE_CAPTURE);最后都需要:用startActivityForResult方法,待会儿重写onActivityResult()方法,拿到图片做裁剪操作

  • 第二步:对图片做裁剪。cutImage()方法如下:
  • 贴图:
    Android 更改头像(图片)并上传服务器功能Demo详解

这里注意一下,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);
  • 第三步:将图片显示到界面上:
  • 贴图:
    Android 更改头像(图片)并上传服务器功能Demo详解

  • 第四步:最后的最后,重写onActivityResult()方法:

  • 贴图:
    Android 更改头像(图片)并上传服务器功能Demo详解

运行截图


Android 更改头像(图片)并上传服务器功能Demo详解

Android 更改头像(图片)并上传服务器功能Demo详解

Android 更改头像(图片)并上传服务器功能Demo详解

Demo链接:

1.github链接: Android 更改头像(图片)并上传服务器功能Demo
(PS:这里提供的是GitHub的链接,没有CSDN积分的同学免费下载哦,demo经测试完美运行,可以直接拿来用哦,觉得可以的同学麻烦顶一下我的博客并star一下我的github上的项目作为鼓励哦!)
2.后期将会更新第二篇,如何将图片上传服务器并且做好本地缓存,敬请期待!
3.如果有什么疑问或者下载的源码studio导入出现问题,欢迎在下方留言,我看到后会为您解答。