强调内容
在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. 用 Chiron 运行 IronPython 编写的 Silverlight 程序
  2. java添加不了源代码,JAVA初学者的一些问题
  3. android电视打印信息解析,液晶电视获取打印信息的方法与操作
  4. Vue.js2.0开发环境搭建(四)
  5. nacos未授权访问漏洞【原理扫描】
  6. 一文教你如何用 Python 将 iPhone “玩弄于股掌之中”!
  7. python 导入的nan怎么解决_用Python处理了数据还要导入Excel做图表?直接Python做漂亮图表...
  8. c+mysql+sslmode_MySQL配置SSL主从复制
  9. IDEA加载mysql驱动包
  10. java基于微信小程序的学习打卡系统 uniapp 小程序
  11. pq分解法matlab编程,基于matlab的pq分解法电力系统潮流计算.pdf
  12. 帆软报表填报之内置数据自定义表、数据连接、服务器数据集配置
  13. python—leetcode-459. 重复的子字符串
  14. 安全红蓝对抗反制(反捕、画像)
  15. 微信预约 php,php版微信公众平台实现预约提交后发送email的方法
  16. mac电脑触控板快速选择(三指拖移、三指选择)
  17. 无锡有哪些高中有计算机专业,无锡19所重点高中大盘点!
  18. JAVA阈值告警字符串解析
  19. ROC曲线和AUC指标
  20. jsp taglib指令_JSP Taglib指令

热门文章

  1. Golang 实现sha256 加密
  2. QT给pushbutton贴图
  3. linux查看磁盘 lsdsk,ORA-01565: error in identifying file '+DATA/rac/dataile/datf
  4. WCH RISC-V系列芯片使用cJson注意事项
  5. JavaScript学习(十)浏览器
  6. 二〇二三·二·十五——日报
  7. 为什么32 >> 32等于32
  8. 【第50期】游戏策划:给@人来人往的应聘攻略
  9. PMP考试技巧 | 管理手段大于解决方案
  10. HTML5 3D旋转动画案例