友好的視覺感知和穩定的不出錯表現,來自於我們追求美感和考慮的全面性,博客園從技術的角度,一直我都很欣賞。
這篇文章是android開發人員的必備知識,是我特別為大傢整理和總結的,不求完美,但是有用。
這一篇是對上一篇《Android學習系列(2)–App自動更新之通知欄下載》的補充,因此隻是以點為要,點到為止。
1.內部存儲
出於考慮到用戶可能禁掉瞭SDCard或者電腦暫時插在電腦上且為磁盤連接狀態等等,對於這麼個情況下,我們應該也要保證我們的程序也是能正常的運行。所以我們要考慮內部存儲。
我暫時把內部存儲定在/data/data/xxxxxappxxxx/files目錄,核心代碼如下:
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系統的權限在作怪。在你執行之前,加上如下核心代碼:
1 |
String cmd = “chmod +x “ +updateFile.getPath(); |
2 |
try { |
3 |
Runtime.getRuntime().exec(cmd); |
4 |
} catch (IOException e) { |
5 |
e.printStackTrace(); |
6 |
} |
3.通知欄顯示進度條組件的一個bug。
在通知欄設置進度條的可見性,會無緣無故的崩潰。
<di