android开发程序更新,Android开发之应用程序更新实现

近期给项目app做升级。对Android应用程序更新稍有研究,分享一下我的心得。

既然是更新,那么一定是要联网和下载的。所以联网和存储訪问权限时一定要有的:

能够用xml的方式和数据库、php等方式检測升级版本号

XML:

xml version="1.0" encoding="utf-8"?>

2.0

这里写一些这个版本号的特点

填写应用下载下载地址

匹配一下:

public class UpdateInfoParser {

public static UpdateInfo getUpdateInfo(InputStream is) throws Exception {

UpdateInfo info = new UpdateInfo();

XmlPullParser xmlPullParser = Xml.newPullParser();

xmlPullParser.setInput(is, "utf-8");

int type = xmlPullParser.getEventType();

while (type != XmlPullParser.END_DOCUMENT) {

switch (type) {

case XmlPullParser.START_TAG:

if (xmlPullParser.getName().equals("version")) {

info.setVersion(xmlPullParser.nextText());

} else if (xmlPullParser.getName().equals("description")) {

info.setDescription(xmlPullParser.nextText());

} else if (xmlPullParser.getName().equals("apkurl")) {

info.setUrl(xmlPullParser.nextText());

}

break;

default:

break;

}

type = xmlPullParser.next();

}

return info;

}

}

HTTP请求:

public class UpdateInfoService {

private Context context;

public UpdateInfoService(Context context) {

this.context = context;

}

public UpdateInfo getUpdateInfo(int urlId) throws Exception {

String path = context.getResources().getString(urlId);// 拿到config.xml里面存放的地址

URL url = new URL(path);

HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();// 开启一个http链接

httpURLConnection.setConnectTimeout(5000);// 设置链接的超时时间,如今为5秒

httpURLConnection.setRequestMethod("GET");// 设置请求的方式

InputStream is = httpURLConnection.getInputStream();// 拿到一个输入流。里面包涵了update.xml的信息

return UpdateInfoParser.getUpdateInfo(is);// 解析xml

}

}

然后就能够依据与获取到的数据相比較而且下载更新了。

其它的做法和这个类似,只是此种方式比較简单一些,也是最频繁的使用方式。

个人辛勤劳动成果。如有转载,请注明出处,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值