男人应似海  

Android版本控制工具类

功能

用于获取manifest 中记录的程序版本号、版本名称,并根据版本名或版本号检测是否有版本

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.iiyi.basic.android" android:versionCode="2"
 android:versionName="1.0.2">

 ……

</manifest>

代码

/**
 * 类名:VersionUtils.java
 * @author wader
 * 类描述:版本工具,用于获取程序版本号、版本名称和版本检测
 * 创建时间:2011-11-15
 *
 */

public class VersionUtils {
 /**
  * 程序包名
  */
 private final static String PACKAGE_NAME = "com.iiyi.basic.android";

 /**
  * 获取当前程序版本号
  * @param context
  * @return
  */
 public static int getCurrentVersionCode(Context context) {
  try {
   return context.getPackageManager().getPackageInfo(PACKAGE_NAME, 0).versionCode;
  } catch (NameNotFoundException e) {
   return -1;
  }
 }

 /**
  * 获取当前程序版本名称
  * @param context
  * @return
  */
 public static String getCurrentVersionName(Context context) {
  try {
   return context.getPackageManager().getPackageInfo(PACKAGE_NAME, 0).versionName;
  } catch (NameNotFoundException e) {
   return "";
  }
 }

 /**
  * 根据版本名判断得到的版本号是否为新版本
  *
  * @param versionName  得到的版本号
  * @param currentVersionName  当前版本号
  * @return
  */
 public static boolean isNewVersion(String versionName,
   String currentVersionName) {
  return versionName.compareToIgnoreCase(currentVersionName) > 0;

 }

 /**
  * 根据版本号判断得到的版本号是否为新版本
  *
  * @param versionCode得到的版本号
  * @param currentVersionCode
  *            当前版本号
  * @return
  */
 public static boolean isNewVersion(int versionCode, int currentVersionCode) {
  return versionCode > currentVersionCode;

 }

}

posted on 2011-11-25 14:23  男人应似海  阅读(2937)  评论(2编辑  收藏  举报