思路:
开发初期。安卓的应用可能没有上传到应用市场,可以把应用apk放到服务器上,供用户下载。把对应用的版本信息整理成为一个XML文件,放到服务器上,通过接口读取xml文件,获取有版本信息,然后安卓端判断版本是不是最新的,如果不是最新的提示用户升级。
XML文件内容:
<update> <version>18</version> <name>2.1.4</name> <content>版本更新描述</content> <url>http://app.xxxx.com/Public/apk/BusGCF.apk</url> </update>
接口DEMO:
//获取最新版本信息 public function getNewVersions($param){ $client = $param->client; //获取安卓的最新版本信息 if($client == "Android") { $xml = ""; //打开文件 $f = fopen('http://app.xxxx.com/Public/apk/version.xml', 'r'); //循环读取文件的全部内容,每次读取4096个字符 while( $data = fread( $f, 4096 ) ) { $xml .= $data; } //关闭一个打开文件 fclose( $f ); //上面读取数据 preg_match_all( "/<update>(.*?)</update>/s", $xml, $humans ); //匹配最外层标签里面的内容 foreach( $humans[1] as $k=>$human ) { preg_match_all( "/<version>(.*?)</version>/", $human, $version ); //匹配出版本号 preg_match_all( "/<content>(.*?)</content>/", $human, $content ); //匹配新版本的描述 preg_match_all( "/<name>(.*?)</name>/", $human, $name ); //匹配出姓名 preg_match_all( "/<url>(.*?)</url>/", $human, $url ); //匹配出Url } $r_version = $version[1][0]; $r_content = $content[1][0]; $r_name = $name[1][0]; $r_url = $url[1][0]; if($r_version == '' or $r_name == '' or $r_url == '') { $array['status'] = 1; $array['comment'] = '查询失败!'; return $array; } $array['status'] = 0; $array['comment'] = '查询成功'; $responseParameters['version'] = $r_version; $responseParameters['content'] = $r_content; $responseParameters['name'] = $r_name; // $responseParameters['url'] = "http://app.xxxx.com/Public/apk/BusGCF.apk"; $responseParameters['url'] = $r_url; $array['responseParameters'] = $responseParameters; } return $array; }