关于版本升级的一点理解(VersionUpdate)
强调内容
在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)相关推荐
- 谈谈对APC的一点理解
谈谈对APC的一点理解 异步过程调用(APCs) 是NT异步处理体系结构中的一个基础部分,理解了它,对于了解NT怎样操作和执行几个核心的系统操作很有帮助. 1) APCs允许用户程序和系统元件在一个进 ...
- python 3列表推导式的的一点理解!
python 3列表推导式的的一点理解! Python的列表推导式对于新手来说一般都难以理解,简单看个例子: [x * x for x in range(1,100)] 上面是一个很简单的列表推导式, ...
- TSYS2.0对动态碎片的一点理解
最近好多人对tsys很感兴趣,其实大家不知道的是tsys的asp版本早就已经停止开发了,为了不想让如此优秀的东西被埋没所以我在tsys的asp版 本的基础上使用PHP重新开发了一个功能更强的cms,名 ...
- 对事件循环的一点理解
最近工作需要学习了解webworker-threads以应对Javascript多线程处理CPU密集型的可能性:参考文档JavaScript多线程之二 Node.js中的Web Worker; 以下是 ...
- Hyperledger Fabric 网络环境的一点理解
Hyperledger Fabric 开发链码,一般都是测试网络开发,然后部署到生产网络. 下面介绍测试网络.生产网络的一点理解. 1 测试网络 使用cryptogen等工具建立测试网络,开发环境使用 ...
- Tecplot中用excel表格绘制xy图的一点理解
原文地址:Tecplot中用excel表格绘制xy图的一点理解作者:又见谷雨 在画图的时候遇到一些问题,比如想用excel中的数据画xy图,那么应该怎样加载这些数据呢.在网上查找了下,也没有详细的说法 ...
- 2.深入一点理解C源程序的编译过程
2.深入一点理解C源程序的编译过程 本文章的大多数灵感及知识来源于南京大学的计算机系统基础教材,如果希望更加深入地对相关知识做进一步了解,可以移步上述相关资源.在网上可以轻易获得上述资源,mooc也有 ...
- negroni包和mux包的一点理解
codegangsta/negroni包和gorilla/mux包的一点理解 Negroni是一个http.Handle,因为他实现了 func (n *Negroni) ServeHTTP(rw h ...
- 对PCIE设备访问及其配置空间的一点理解
讲讲对PCIE总线协议的一点理解吧.感觉每一年又会多一点理解,但不懂得地方仍很多. PCI总线是拓扑结构,PCI总线从0开始,不超过256(但一般不会一层一层挂太多).Device不超过32,Func ...
最新文章
- 用 Chiron 运行 IronPython 编写的 Silverlight 程序
- java添加不了源代码,JAVA初学者的一些问题
- android电视打印信息解析,液晶电视获取打印信息的方法与操作
- Vue.js2.0开发环境搭建(四)
- nacos未授权访问漏洞【原理扫描】
- 一文教你如何用 Python 将 iPhone “玩弄于股掌之中”!
- python 导入的nan怎么解决_用Python处理了数据还要导入Excel做图表?直接Python做漂亮图表...
- c+mysql+sslmode_MySQL配置SSL主从复制
- IDEA加载mysql驱动包
- java基于微信小程序的学习打卡系统 uniapp 小程序
- pq分解法matlab编程,基于matlab的pq分解法电力系统潮流计算.pdf
- 帆软报表填报之内置数据自定义表、数据连接、服务器数据集配置
- python—leetcode-459. 重复的子字符串
- 安全红蓝对抗反制(反捕、画像)
- 微信预约 php,php版微信公众平台实现预约提交后发送email的方法
- mac电脑触控板快速选择(三指拖移、三指选择)
- 无锡有哪些高中有计算机专业,无锡19所重点高中大盘点!
- JAVA阈值告警字符串解析
- ROC曲线和AUC指标
- jsp taglib指令_JSP Taglib指令
热门文章
- Golang 实现sha256 加密
- QT给pushbutton贴图
- linux查看磁盘 lsdsk,ORA-01565: error in identifying file '+DATA/rac/dataile/datf
- WCH RISC-V系列芯片使用cJson注意事项
- JavaScript学习(十)浏览器
- 二〇二三·二·十五——日报
- 为什么32 >> 32等于32
- 【第50期】游戏策划:给@人来人往的应聘攻略
- PMP考试技巧 | 管理手段大于解决方案
- HTML5 3D旋转动画案例