在我们APP的开发中,往往都会遇到版本的升级,因为不可能有任何一个应用做的完美无缺,所以版本升级对APP应用来说是不可缺少的一部分.像新浪微博等一些应用软件,三天两头提醒我升级.不过这样也很正常,就像Android 升级一样,为了给用户提供更方便更人性化的操作.说下具体实现吧,不过我是参考别人的。不管对你们有没有帮助,总之对我有帮助啊,如果日后用到就直接copy了.哈哈,不扯了。
首先看一个文件manifest文件.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.jj.upgrade" android:versionCode="1" android:versionName="1.0" >我们可以很清楚的看到versionCode和versionName,我们一般用versionCode来实现,
实现原理很简单:服务器端有个serverVersion,我们本地有个localVersion.服务器端serverVersion>localVersion,这个时候我们就需要进行升级版本.原理大致就是这样。具体实现请看下面.
package com.jj.upgrade; import com.jj.Service.UpdateService; import android.app.AlertDialog; import android.app.Application; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager.NameNotFoundException; /*** * MyApplication * * @author zhangjia * */ public class MyApplication extends Application { public static int localVersion = 0;// 本地安装版本 public static int serverVersion = 2;// 服务器版本 public static String downloadDir = "jj/";// 安装目录 @Override public void onCreate() { super.onCreate(); try { PackageInfo packageInfo = getApplicationContext() .getPackageManager().getPackageInfo(getPackageName(), 0); localVersion = packageInfo.versionCode; } catch (NameNotFoundException e) { e.printStackTrace(); } /*** * 在这里写一个方法用于请求获取服务器端的serverVersion. */ } }