2023年11月26日发(作者:)

应⽤程序⾃动更新源码

应⽤程序⾃动更新源码

代码介绍:

我们看到很多Android应⽤都具有⾃动更新功能,⽤户⼀键就可以完成软件的升级更新。得益于Android系统的软件包管理和安装机制,这

⼀功能实现起来相当简单,下⾯我们就来实践⼀下。⾸先给出界⾯效果:

1. 准备知识

在⾥定义了每个Android apk的版本标识:

package=""

android:versionCode="1"

android:versionName="1.0.0">

同时,在服务端放置对应此apk的版本信息调⽤接⼝或者⽂件,如:localhost/myapp/

中的内容为:

[{"appname":"jtapp12","apkname":"","verName":1.0.1,"verCode":2}]

然后,在⼿机客户端上进⾏版本读取和检查:

private boolean getServerVer () {

try {

String verjson = tent(_SERVER

+ _VERJSON);

JSONArray array = new JSONArray(verjson);

if (() > 0) {

JSONObject obj = NObject(0);

try {

newVerCode = nt(ing("verCode"));

newVerName = ing("verName");

private void notNewVersionShow() {

int verCode = Code(this);

String verName = Name(this);

StringBuffer sb = new StringBuffer();

("当前版本:");

(verName);

(" Code:");

(verCode);

(",

已是最新版,⽆需更新!");

Dialog dialog = new r().setTitle("软件更新")

.setMessage(ng())// 设置内容

.setPositiveButton("确定",// 设置确定按钮

new kListener() {

@Override

public void onClick(DialogInterface dialog,

int which) {

finish();

}

}).create();// 创建

// 显⽰对话框

();

}

private void doNewVersionUpdate() {

int verCode = Code(this);

String verName = Name(this);

StringBuffer sb = new StringBuffer();

("当前版本:");

(verName);

(" Code:");

(verCode);

(", 发现新版本:");

(newVerName);

(" Code:");

(newVerCode);

4.下载模块

void downFile(final String url) {

();

new Thread() {

public void run() {

HttpClient client = new DefaultHttpClient();

HttpGet get = new HttpGet(url);

HttpResponse response;

void update() {