强调内容
在android中,第一次设计APP的时候不可能面面俱到,需求随时会改变,所以我们就会用到版本升级。
升级:
1.测试tomcat中升级接口
2.编写UpdateEntity
3.编写UpdateParse类
4.编写业务类UpdateBiz
5.发消息、广播处理、下载APK
断点续传:在请求头定义Range:bytes=0-32767
RandomAccessFile:断点下载,断点上传
6.测试APK所在路径是否存在,使用assert(true判断apk路径)
7.安装apk
Intent intent =Intent(Intent.ACTION_VIEW);
intent.setDataAndType(URL.fromFile(new File(APK_PATH)),“application/vnd.android.pakege-archive”); //双引号内表示一个APK文件
startActivity(intent);
8.闪电升级
即提前下载好软件,用户使用的时候直接安装

public abstract class VersionCheckActivity extends BaseActivity{/*** 版本更新检测*/protected void checkVersion(boolean showLoading){loadDialog = getLoadingDialog("版本更新检测中...");if(showLoading){loadDialog.show();}RequestParam req = new RequestParam();int vcode = AndroidNativeUtils.getAppVersionCode(getApplicationContext());req.addStringParam("vcode", String.valueOf(vcode));gsonRequest = new GsonRequest<ApkVersion>("ApkVersion", ApkVersion.class, req, new Listener<ApkVersion>() {@Overridepublic void onResponse(final ApkVersion response) {// TODO Auto-generated method stubdissmissDialog();if(!TextUtils.isEmpty(response.downUrl)){ //有更新showCustomDialogDefault("发现信息版本,请更新",new DialogButtonClickListener() {@Overridepublic void rightButtonClick(Dialog dialog, View view) {// TODO Auto-generated method stubdialog.dismiss();new ApkDownloader(VersionCheckActivity.this).performDownload(response);}@Overridepublic void leftButtonClick(Dialog dialog, View view) {// TODO Auto-generated method stubdialog.dismiss();}});}else{UIHelper.showShortMeessage("当前版本为最新版本", getApplicationContext());}}}, new ErrorListener() {@Overridepublic void onErrorResponse(VolleyError error) {// TODO Auto-generated method stubdissmissDialog();UIHelper.showErrorInfo(error, context);}});HttpService.getInstance(getApplicationContext()).doPostRequest(gsonRequest);}}
这里写代码片

关于版本升级的一点理解(VersionUpdate)相关推荐

  1. 谈谈对APC的一点理解

    谈谈对APC的一点理解 异步过程调用(APCs) 是NT异步处理体系结构中的一个基础部分,理解了它,对于了解NT怎样操作和执行几个核心的系统操作很有帮助. 1) APCs允许用户程序和系统元件在一个进 ...

  2. python 3列表推导式的的一点理解!

    python 3列表推导式的的一点理解! Python的列表推导式对于新手来说一般都难以理解,简单看个例子: [x * x for x in range(1,100)] 上面是一个很简单的列表推导式, ...

  3. TSYS2.0对动态碎片的一点理解

    最近好多人对tsys很感兴趣,其实大家不知道的是tsys的asp版本早就已经停止开发了,为了不想让如此优秀的东西被埋没所以我在tsys的asp版 本的基础上使用PHP重新开发了一个功能更强的cms,名 ...

  4. 对事件循环的一点理解

    最近工作需要学习了解webworker-threads以应对Javascript多线程处理CPU密集型的可能性:参考文档JavaScript多线程之二 Node.js中的Web Worker; 以下是 ...

  5. Hyperledger Fabric 网络环境的一点理解

    Hyperledger Fabric 开发链码,一般都是测试网络开发,然后部署到生产网络. 下面介绍测试网络.生产网络的一点理解. 1 测试网络 使用cryptogen等工具建立测试网络,开发环境使用 ...

  6. Tecplot中用excel表格绘制xy图的一点理解

    原文地址:Tecplot中用excel表格绘制xy图的一点理解作者:又见谷雨 在画图的时候遇到一些问题,比如想用excel中的数据画xy图,那么应该怎样加载这些数据呢.在网上查找了下,也没有详细的说法 ...

  7. 2.深入一点理解C源程序的编译过程

    2.深入一点理解C源程序的编译过程 本文章的大多数灵感及知识来源于南京大学的计算机系统基础教材,如果希望更加深入地对相关知识做进一步了解,可以移步上述相关资源.在网上可以轻易获得上述资源,mooc也有 ...

  8. negroni包和mux包的一点理解

    codegangsta/negroni包和gorilla/mux包的一点理解 Negroni是一个http.Handle,因为他实现了 func (n *Negroni) ServeHTTP(rw h ...

  9. 对PCIE设备访问及其配置空间的一点理解

    讲讲对PCIE总线协议的一点理解吧.感觉每一年又会多一点理解,但不懂得地方仍很多. PCI总线是拓扑结构,PCI总线从0开始,不超过256(但一般不会一层一层挂太多).Device不超过32,Func ...

最新文章

  1. Mac版本的idea非正常关闭后,idea打开项目大面积报红
  2. 简单io应用—流水灯控制_制作简单有趣的可调速流水灯
  3. 列表推导式、字典推导式、集合推导式
  4. arm linux文件传输工具
  5. python快速入门步骤_Python快速入门
  6. 浮点数在计算机中存储方式float,double)---转
  7. python自定义一个可迭代类_python进阶之自定义可迭代的类
  8. Kernel(核函数)
  9. android系统计步修改,安卓手机计步软件怎么修改步数 无需root轻松修改步数
  10. 台达plc自由口通讯_台达PLC的通信协议??
  11. OV5640摄像头简介、硬件电路及上电控制
  12. 使用ContentProvider管理联系人
  13. php打开EXCEL过慢,打开excel很慢,编辑某个工作表很卡
  14. 复制网站zencart模板的方法
  15. NdisFilter驱动数据全部转发到应用层的性能之优化(使用共享环形队列方式)
  16. 电磁兼容工程(Electromagnetic compatibility engineering Herry Ott )读书笔记-- 章14 抗射频和瞬态信号干扰能力
  17. vue-monoplasty-slide-verify自定义拼图出现位置
  18. 中国联通携手Arm成功验证EdgeFaaS on SONiC创新技术方案
  19. 一个MLDN学习的博客
  20. mysql mysqli的使用

热门文章

  1. Linux常用端口总结
  2. win7系统可以用于授时服务器吗,ntp授时(电脑授时服务器)
  3. matlab2weka,matlab2weka
  4. taobao.trade.ordersku.update( 更新交易的销售属性 )
  5. 素质拓展之1到30看图猜数并排序
  6. 心之所向 生之芳华 考研成功 一朝成硕
  7. a标签之target属性----在何处打开链接
  8. Spring+SpringMVC+Mybatis(开发必备技能)01、基础idea环境配置
  9. 各家权威“薪酬排行榜”,程序员都是被偏爱的那一个!
  10. java 本地剪切板_Java中剪切板的操作