Android-你还在用downloadmanager更新下载-out了!!!

轻松搞定下载MyDownloadManager
序言:

     软件更新想必大家都用过,很多是用友盟的下载,但是也有自己公司服务器下载的处理方式,本文主要讲解的是自己下载的处理方法
      想必大家就会说,这还用自己做呀,系统自带的一行代码不就解决了-------DownloadManager,如果你还在用这个下载,那你就太年轻了,不是说这个方法不好,而是在中国这样的大环境下********你懂的,三星note系列部分手机需要手动打开这个权限才能用这个功能(确定不是逗我????),而有些国产手机更加nb了直接个阉割了(nm)
       好吧,既然这样还是规规矩矩的自己写吧,同样的需求我标示ios分分钟搞定,咱们这边无数的坑呀,废话到处结束!咱们看如何自己写一个DownloadManager!先上效果

Android-你还在用downloadmanager更新下载-out了!!!_第1张图片

流程:

     正常的逻辑我们需要先通过服务器判断是否需要更新软件,然后如果需要则返回一个url下载链接,下载安装更新

实现:

1.获取更新的url然后启动服务后台下载
Android-你还在用downloadmanager更新下载-out了!!!_第2张图片
      

2.后台服务器中启动下载和通知
Android-你还在用downloadmanager更新下载-out了!!!_第3张图片
下载使用的是xutils,大家可以自己替换你自己喜欢的下载框架(自己写也是可以的!!!)

3.在onlading中更新通知栏更新就行了!下载完成或者错误以后停止后台服务然后关闭通知栏通知信息
Android-你还在用downloadmanager更新下载-out了!!!_第4张图片


4.安装apk
Android-你还在用downloadmanager更新下载-out了!!!_第5张图片


最后啰嗦几句关于布局文件中的progressbar自定义背景(如果是处女座请详细学习这些属性的差别吧!)
第一种:

第二种:
Android-你还在用downloadmanager更新下载-out了!!!_第6张图片
第一种的实现方式是优化的实现:
Android-你还在用downloadmanager更新下载-out了!!!_第7张图片
第二种:
Android-你还在用downloadmanager更新下载-out了!!!_第8张图片


5.需要注意的细节:
  1. 启动服务的时候千万别用action的方式去启动,部分手机无法启动(Galaxy A8亲测不好用呀)
  2. 憋忘记添加网络权限和本地文件读写权限
  3. 记得关闭服务

6.更多细节大家看源码吧,不啰嗦了都挺忙的:戳我*************************



你可能感兴趣的:(android)