android七牛云存储,使用七牛云存储实现Android版本更新

为了更新软件或修复Bug,我们通常需要实现应用更新。

1、自动更新的流程

我们将了解一下自动更新的思路。既然软件要自动更新,那么它必须知道自己是不是最新版本,那么我们就需要在某一个地方放跟版本和更新有关的信息,一般来讲,我们会在自己的网站上放一个记录版本信息的XML文本,还有我们的软件。当我们获取了版本信息,假设这时候需要更新,那么我们的软件会自动向服务器下载最新版本,然后用最新版本将老版本替换掉。具体的流程如下图所示

b997db42507e?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

2、利用云存储空间实现自动更新

照着上面讲的流程,我们将慢慢实现:

1,编写版本信息文件

2,上传文件到云存储空间

3,使用相关的代码来实现

2.1现在我们来编写所需要的版本信息文件。后面,我们软件里面主要通过读取版本信息,来判断是否要更新,要更新的时候从这个文件中获取新版软件下载地址。我写了一个示例的,如下图。

b997db42507e?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

2.2七牛是一个云存储服务商,用七牛来演示主要是因为他提供了一些免费空间。七牛空间的申请和上传文件可以参考文档。上传完版本信息文件,记录一下他的下载地址,以便后面用来检测是否有新版本。

b997db42507e?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

2.3 解析XML相关的代码

/**

* 检查软件是否有更新版本

*

* @return

*/

public void checkUpdate() {

mHttpUtils = new HttpUtils();

RequestParams params = new RequestParams();

mHttpUtils.send(HttpMethod.GET, "http://7xrk2w.com1.z0.glb.clouddn.com/version.xml", params,

mRequestUpdataCallBack);

}

private RequestCallBack mRequestUpdataCallBack = new RequestCallBack() {

@Override

public void onStart() {

super.onStart();

Log.i(TAG, "请求的路径:" + this.getRequestUrl());

}

@Override

public void onFailure(HttpException arg0, String arg1) {

Log.i(TAG, "onFailure:" + arg1);

}

@Override

public void onSuccess(ResponseInfo arg0) {

String json = arg0.result;

Log.i(TAG, "onSuccess:" + ":" + json);

InputStream in_nocode = new ByteArrayInputStream(json.getBytes());

// 获取当前软件版本

int versionCode = getVersionCode(mContext);

// 解析XML文件。 由于XML文件比较小,因此使用DOM方式进行解析

ParseXmlService service = new ParseXmlService();

try {

mHashMap = service.parseXml(in_nocode);

} catch (Exception e) {

e.printStackTrace();

}

if (null != mHashMap) {

int serviceCode = Integer.valueOf(mHashMap.get("version"));

// 版本判断

if (serviceCode > versionCode) {

showNoticeDialog();

}

} else

{

Toast.makeText(mContext, R.string.soft_update_no, Toast.LENGTH_LONG).show();

}

}

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值