之前我遇到一个问题,就是怎样修改头像,都没有更改,后来把某个参数置为null,就解决了问题,但是知其然还要知其所以然,现在还是着重去梳理整个流程
头像,需要关注的是3个变量:
本地地址(方便被调用)
网络地址(方便被调用)
图片文件
接下来,梳理整个过程:
1.新建cropPhoto类,该类主要作用是获取和处理原图片,包括
(1)选择photo 和裁剪
(2)拍照
(3)返回页面处理(被重写)
然后调用拍照或者选择图片,来获取图片来源
2.返回页面处理中,生成临时文件路径和临时文件资源
3.然后更新个人的信息,更新的过程中,有个方法(公司项目,这个方法被封装)上传图片到服务器
4.在上传服务器后,获取到一串json数据,然后解析该json数据,并返回一个boolean值,如果改值是真,就先更新一遍代码,如果是假,就提示失败
5.在上传服务器后,重点是头像的图片本地地址和网络地址未获取,因此等待mqtt通知获取对应的网络地址,然后根据uid重新生成对应的本地地址,根据该本地地址删除之前的图像。
6.发送广播通知,重新更新各个存在该头像的页面,然后通过地址加载对应的图片,如果图片不存在,则通过webservice方式下载图片
基本整个流程是这样,接下来还是要继续完善,和找出问题所在,关键是改变传入参数在某个值时该更新头像的整个流程还是存在问题