依托虚拟主机为APP提供软件更新服务(二)

依托虚拟主机为APP提供软件更新服务(二)

软件开发 3年前 (2015-04-22) 浏览: 173 评论: 0

在上一篇博文中,我向大家介绍了依托虚拟主机为自制APP提供软件更新服务的第一节,向大家介绍了用PHP做软件更新信息API的具体过程,在上节我成功利用自己的虚拟主机建立了自己的API,通过URL传入ID值,获取了软件信息的JSON字符如下: 接下来,我以安卓为例向大家介绍在安卓开发中调用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)的代码   此函数的作用打开下载好的安装包,进入安装过程。 八、源码下载  

依托虚拟主机为自制APP提供软件更新服务(一)

依托虚拟主机为自制APP提供软件更新服务(一)

软件开发 3年前 (2015-04-21) 浏览: 533 评论: 2

学了一个月的安卓,写了几个小程序,总是觉得缺少点什么。看到一般市场上的软件都提供软件更新服务,极客人想自己也有个虚拟主机,是不是可以自己搭建一个软件更新服务器呢?百度了一下“依托虚拟主机为自制APP提供软件更新服务”,可惜找遍整个百度也没找到解决方案,所以一穷二白,自己干。 要想实现软件更新,肯定有个服务器端发布的最新软件版本号与用户端当前使用的版本进行比对。如果版本号相同,则提示用户“当前为最新版本”;如果服务器上发布的最新版本高于用户使用的,则提示“版本更新”,并提供下载功能,下载完毕之后自动执行安装。要想获取最新版本号,必须读取数据库,如果直接用用户加密码的方式直接连接数据库的话,这无疑不安全,因为如果反编译或者破解了你的软件,你的数据库将会任人宰割。所以,我想到的解决方案是,自己在服务器端利用PHP做一个API,使用API请求的方法获取最新版本号和版本描述及下载地址。在奋斗几个星期后,下面是我的具体实现步骤: 依托虚拟主机为自制APP提供软件更新服务(一)——使用PHP制作API 1.新建软件数据库表,添加软件ID、版本号、下载地址、版本描述等列; SQL语句如下:   建立的数据库表名为:mysoftware,结构如图: 2.PHP调用数据库返回JSON格式字符串 我在自己的虚拟主机根目录新建了命名为“api”文件夹,在“api”文件夹下建立两个php文件:update.php和db_connect.php。 其中db_connect.php是连接数据库的PHP文件,里面记录了连接数据库的数据库名、用户名、主机、密码、编码格式,代码如下:   你可以访问该PHP的URL测试改文件是否正确。 update.php是返回JSON字符串的PHP文件。它的作用是调取软件数据库表内的内容,并通过GET方法返回数据。 其代码如下:   在这个文件里,通过”http://wangbaiyuan.cn/api/update.php?id=1”GET方式接受传值,然后调用了db_connect.php文件连接的数据库,执行$string = "select * from my_software where sw_id=".$id;语句,然后对结果进行解析返回标准的JSON格式字符串。其中jsons_encode函数你可以参考我之前的一篇文章:PHP用json_encode转换数组中文乱码进行理解; 下面我制作成功后访问http://wangbaiyuan.cn/api/update.php?id=1的网页内容: 看到这段字符串你可能大脑就会兴奋了,你可能能想到下面就是根据不同平台对JSON数据进行解析的工作了 依托虚拟主机为自制APP提供软件更新服务(二)——安卓解析API数据 在下一节我将通过安卓示例,向大家讲解对JSON数据进行解析为自制APP提供软件更新服务,查看下一节。 代码下载

登录

忘记密码 ?

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

切换登录

注册