android+新版本+menu,Android程序的版本检测与更新.doc

这篇博客介绍了如何在Android应用中实现版本检测和更新功能。作者提出了一个方案,通过对比本地ver.cfg文件和服务器上的ver_apk.xml来检测新版本,并提供了手动检测更新的菜单选项。下载新版本时,虽然未提及断点续传,但强调了安装时必须使用相同的签名以确保更新成功。此外,代码片段展示了检测更新的实现方式。
摘要由CSDN通过智能技术生成

Android程序的版本检测与更新

Android程序的版本检测与更新

做个网站的安卓客户端,用户安装到自己手机上,如果我出了新版本怎么办呢?要有版本更新功能。

本来版本检测最好可以自动进行。但如果每次开启程序,都要先检测一轮,是一种浪费,毕竟版本更新是小概率的事情。或许可以程序开启的时候,判断一下时间,单日就检测,双日就不检测,或者随机什么的,降低一下检测的频率?

我采取的做法是将检测功能做到了菜单上,用户有需要,就手动打开自己检测一下。反正我们这个是网站客户端,有版本更新,在网站上发个通告就行了。

版本检测与更新有以下几个关键步骤:

1、检测有无新版本

2、下载新版本

3、安装替换新版本

我处理的方案是

1、在assets文件夹新增一个文件:ver.cfg,记录版本信息,纯文本格式,内容只有一句话:

Version=1.0

这个会随安装包装到用户的手机上

然后在网站里面,设置一XML文件ver_apk.xml,内容也只有这么一点:

1.0

检测的时候,就先访问网站的这个XML,得到最新版本号,然后与手机上的ver.cfg文件里记录的进行比对,不同的话就可以认为存在新版本,提示进行更新。

2、下载的话就是直接下载的,我还不知道怎么弄断点续传

3、安装替换,关键在于签名。就是每个版本的签名要保持一致。否则新的无法替换旧的,提示安装未完成。

------------------- 天气太冷,咯咯咯 ------------------------------------

这个功能做在菜单上,触发代码如下:

//==========================================================================

// 菜单

//==========================================================================

private static final String urlApk = "http://3g.***.com/tool/***.apk";

private static final String urlVer = "http://3g.***.com/tool/ver_apk.xml";

@Override

public boolean onCreateOptionsMenu(Menu menu) {

menu.add(Menu.NONE, Menu.FIRST + 1, 5, "检测更新").setIcon(

android.R.drawable.ic_menu_upload);

menu.add(Menu.NONE,Menu.FIRST+2,4,"退出").setIcon(android.R.drawable.ic_lock_power_off);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case Menu.FIRST + 1:

Toast.makeText(this, "正在检测版本", Toast.LENGTH_LONG).show();

UpdateVer uv = new UpdateVer(urlApk,urlVer,MainActivity.this);

uv.checkVer();

break;

case Menu.FIRST + 2:

confirmExit();

break;

}

return false;

}

检测更新因为代码比较多,写成一个类进行封装

UpdateVer.java

package android.***;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.Dialog;

import android.app.ProgressDialog;

import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值