之前我遇到一個問題,就是怎樣修改頭像,都沒有更改,后來把某個參數置為null,就解決了問題,但是知其然還要知其所以然,現在還是著重去梳理整個流程
頭像,需要關注的是3個變量:
本地地址(方便被調用)
網絡地址(方便被調用)
圖片文件
?
接下來,梳理整個過程:
1.新建cropPhoto類,該類主要作用是獲取和處理原圖片,包括
(1)選擇photo 和裁剪
(2)拍照
(3)返回頁面處理(被重寫)
然后調用拍照或者選擇圖片,來獲取圖片來源
2.返回頁面處理中,生成臨時文件路徑和臨時文件資源
3.然后更新個人的信息,更新的過程中,有個方法(公司項目,這個方法被封裝)上傳圖片到服務器
4.在上傳服務器后,獲取到一串json數據,然后解析該json數據,并返回一個boolean值,如果改值是真,就先更新一遍代碼,如果是假,就提示失敗
5.在上傳服務器后,重點是頭像的圖片本地地址和網絡地址未獲取,因此等待mqtt通知獲取對應的網絡地址,然后根據uid重新生成對應的本地地址,根據該本地地址刪除之前的圖像。
6.發送廣播通知,重新更新各個存在該頭像的頁面,然后通過地址加載對應的圖片,如果圖片不存在,則通過webservice方式下載圖片
?
基本整個流程是這樣,接下來還是要繼續完善,和找出問題所在,關鍵是改變傳入參數在某個值時該更新頭像的整個流程還是存在問題
?