Android學習系列(3)–App自動更新之自定義進度視圖和內部存儲 – Android移動開發技術文章_手機開發 Android移動開發教學課程

友好的視覺感知和穩定的不出錯表現,來自於我們追求美感和考慮的全面性,博客園從技術的角度,一直我都很欣賞。
這篇文章是android開發人員的必備知識,是我特別為大傢整理和總結的,不求完美,但是有用。 


這一篇是對上一篇《Android學習系列(2)–App自動更新之通知欄下載》的補充,因此隻是以點為要,點到為止。
1.內部存儲
    出於考慮到用戶可能禁掉瞭SDCard或者電腦暫時插在電腦上且為磁盤連接狀態等等,對於這麼個情況下,我們應該也要保證我們的程序也是能正常的運行。所以我們要考慮內部存儲。
    我暫時把內部存儲定在/data/data/xxxxxappxxxx/files目錄,核心代碼如下:

view sourceprint?

1 //創建目錄和文件

2 if(android.os.Environment.MEDIA_MOUNTED.equals(android.os.Environment.getExternalStorageState())){

3     updateDir = new File(Environment.getExternalStorageDirectory(),Global.downloadDir);

4 }else{

5     //files目錄

6     updateDir = getFilesDir();

7 }

8 updateFile = new File(updateDir.getPath(),getResources().getString(titleId)+“.apk”);

 2.內部存儲的權限
  一起都運行的正常,但是當我們幫下下來的apk文件執行運行操作的時候,確提示如下,
 
    “解析包錯誤”??其實你下載的文件並不一定就是壞的或者錯誤的,也可能是android系統的權限在作怪。在你執行之前,加上如下核心代碼:

view sourceprint?

1 String cmd = “chmod +x “ +updateFile.getPath();

2 try {

3     Runtime.getRuntime().exec(cmd);

4 } catch (IOException e) {

5     e.printStackTrace();

6 }

3.通知欄顯示進度條組件的一個bug。
    在通知欄設置進度條的可見性,會無緣無故的崩潰。

view sourceprint?

<di

You May Also Like