0.前言
這篇博文是上一篇的延續,主要是修改上一個版中的BUG和優化一些待完善的項,也算是結貼,當然還有需要完善的,等日后項目中用到的時候再單獨寫出來吧,本篇主要寫升級改進的部分;
改進1.修復【BUG-從通知欄進入更新界面后,然后按返回鍵-接着再從通知欄進入更新界面,更新界面的數據就完全被初始化了】
之前從主界面進入下載界面的時候未設置Intent的ActivityFlags,這次增加后點擊【現在更新】后的代碼如下:
private void Download() { //轉到下載頁面進行下載 Intent intent = new Intent(); intent.SetClass(this, typeof(AppUpgradeActivity)); intent.SetFlags(ActivityFlags.SingleTop); this.StartActivity(intent); }
2.完善【更新過程中切換通知欄和界面間有點卡】
之前采用異步只是實現了更新進度條,其實有點大材小用了,這次的修改是采用異步執行服務去下載,並且更新進度條的顯示,這樣來回切換就很流程了,在下載界面加載完后啟動異步線程:
3.完善【下載完成后點擊通知欄,通知欄的信息未消失】
這個比較簡單,之前沒仔細研究通知欄的事件,這次把它補充了,在下載完后的事件中設置NotificationFlags為AutoCancel,並在點擊的時候讓通知欄信息消失:
4.完善【安裝完成后未刪除下載的程序】
其實這個完善並不是安裝后直接刪除,而是在程序啟動的時候檢查是否有該程序的安裝包,有則刪除,安裝完后的直接刪除的技術有待研究。先繞道完善這個項:
//啟動后判斷是否有下載的文件 string filePath = this.GetString(Resource.String.FilePath); File fileDelete = new File(filePath); if (fileDelete.Exists()) fileDelete.Delete();
5.還未完成的工作
1)待完善-未添加下載過程中暫停的操作(該過程涉及到斷點續傳,到時有機會單獨把這個寫出來)
2)待完善-網絡異常及超時未處理(這個其實就是網絡連接判斷和超時處理等,在實際項目中再作處理)
6.共同進步
源碼的下載地址為:http://pan.baidu.com/s/1dDtatvN,希望對大家有所幫助,也希望大家下載閱讀代碼后能夠指出代碼中的不足之處,共同學習進步;
7.小結
其實我發上篇博文的時候是有很多模糊的地方,特別希望有大牛們能夠抽時間給指出里面的一些不足之處,但一直都沒有人指出,還挺失望的。這篇就算自己給自己一個答復,加油!