• 欢迎加“百元导航”为主页,windows8风格,0.3s极速加载
  • 王柏元的博客专用搜索引擎:极客人,就用“极客搜”!
  •    2年前 (2015-04-22)  软件开发 |   抢沙发  101 
    文章评分 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国际化视野

    发表评论

    格式

    暂无评论

    登录

    忘记密码 ?

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

    切换登录

    注册