当前位置:操作系统 > 安卓/Android >>

Android学习系列(3)--App自动更新之自定义进度视图和内部存储

友好的视觉感知和稳定的不出错表现,来自于我们追求美感和考虑的全面性,博客园从技术的角度,一直我都很欣赏。
这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。 

这一篇是对上一篇《Android学习系列(2)--App自动更新之通知栏下载》的补充,因此只是以点为要,点到为止。
1.内部存储
    出于考虑到用户可能禁掉了SDCard或者电脑暂时插在电脑上且为磁盘连接状态等等,对于这么个情况下,我们应该也要保证我们的程序也是能正常的运行。所以我们要考虑内部存储。
    我暂时把内部存储定在/data/data/xxxxxappxxxx/files目录,核心代码如下:

html#viewSource" commandName="viewSource" highlighterId="highlighter_213261">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。
    在通知栏设置进度条的可见性,会无缘无故的崩溃。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,