3年前 (2015-04-22)  软件开发 |   抢沙发  230 
文章评分 1 次,平均分 5.0

在上一篇博文中,我向大家介绍了依托虚拟主机为自制APP提供软件更新服务的第一节,向大家介绍了用PHP做软件更新信息API的具体过程,在上节我成功利用自己的虚拟主机建立了自己的API,通过URL传入ID值,获取了软件信息的JSON字符如下:

使用PHP制作的API

{"sw_id":"1","sw_name":"BY通讯录","sw_version":"1.2","sw_url":"http://wangbaiyuan.cn/api/software/Contactss_1_2.apk","sw_description":" 1.BY通讯录,是王柏元自主开发的APP,作安卓开发入门试验之用;\n 2.调用在自己虚拟主机上的数据库搭建的API,实现了版本更新功能;\n 3.使用一些新的安卓技术。"}

接下来,我以安卓为例向大家介绍在安卓开发中调用API并实现软件的检测更新、更新提示、下载更新、安装更新的系列过程。

依托虚拟主机为自制APP提供软件更新服务(二)——安卓解析JSON、实现软件更新、自动安装

 

 

一、获取网络JSON数据的工具类

下面是结合网上代码实现的一个联网获取JSON数据的工具类,类名为:HttpUtils,下面的代码我将在文章后面提供下载链接。

 

在上面的代码中,getJsonContent函数的参数为url_path,返回值为String,实现了连接网络、并获取对应URL的JSON数据的功能。getJsonContent函数是HttpUtils类的一个静态方法,你只需要在任意项目引入这个文件,使用HttpUtils.getJsonContent(API的网址)来获取网络上API的数据。

 

二、在安卓代码中使用getJsonContent(API的网址)获取数据并解析

在任意项目引入上述文件HttpUtils.java,使用HttpUtils.getJsonContent(API的网址)来获取网络上API的数据,这个过程需要新建一个线程,不然程序会在联网时受到阻塞,停止运行,线程里面的代码如下:

 

通过上述代码我获取了软件的版本号、版本描述、版本下载地址。

三、安卓开发获取软件版本号

要想实现版本更新,肯定要把网络上发布的最新版本和正在使用的版本号进行比较,所以需要获取当前软件的版本号,实现代码如下:

四、比较版本号判断是否选择更新;

获取当前使用的版本号后,需要对最新版本和正在使用的版本号进行比较,比较代码如下:

 

五、版本有更新时弹出版本更新提示框

 

六、处理下载更新:下载软件并自动执行安装

 

七、下载完毕执行自动安装函数openFile(File file)的代码

 

此函数的作用打开下载好的安装包,进入安装过程。

八、源码下载

 

相关下载

 

本文已在版权印备案,受著作权法律保护,未经允许不得转载!如需转载请联系作者或访问版权印获取授权,如果你觉得这篇文章对你有用,可以点击下面的“赞助作者”打赏作者!

转载注明原文出处:王柏元的博客>>http://wangbaiyuan.cn/virtual-hosts-provide-app-update-services-b.html

关于
记录生活,镌刻心路;泼洒文墨,分享技术!王柏元的博客致力于IT经验交流,并原创翻译引进外文文章,打开IT国际化视野

发表评论

格式

暂无评论

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册