我们偶尔会对自己的APP做更新,那么不免就需要把最新版本的app推送给用户,所以今天动手实现一下app自动检测版本及更新。实现思路大致是这样的:
1、首先我们在服务器上建立一个version.txt文件,提供给客户端最新版本的信息,内容如下:
//json数据格式
{"code":"2.0","update":"最新版本apk的地址"}
2、在启动页中获取本机版本,并开启线程获取服务器的version.txt,并解析出最新版本号与本机对比。(通常在与服务器交互前,我会先ping一下服务器,来确保服务器以及网络可用。)
3、如果版本号不同,那么就提示用户版本需要升级。
4、当用户同意升级,那么就下载最新版本APK,并自动安装。
大致思路就是这样,接着上代码。
通过ping服务器,判断服务器是否可用。
/**
* 通过ping判断是否可用
* @return
*/
public static boolean ping() {
try {
//服务器ip地址
String ip = "***";
Process p = Runtime.getRuntime().exec("ping -c 1 -w 100 " + ip);
InputStream input = p.getInputStream();
BufferedReader in = new BufferedReader(new InputStr