Android开发之版本管理,PackageManager类的使用

设置应用程序版本号
在应用程序的manifest文件中定义应用程序版本信息.
2个必须同时定义的属性:
android:versionCode — 整型, 相对于其他种类的版本号而言, 表示应用程序代码的版本. 其值是个整型,因此其他应用程序可以在程序编码中判断它, 例如检查升级或降级关系. 可以对其设置任何值, 然而应当确保每一个后续发布的应用程序使用更大的值. 尽管系统并不强制执行这种规则, 但是每个后续版本使用增加的数字值是标准作法. 典型做法是, 你发布的第一个版本的versionCode为1, 然后以后的每个发布版本单调递增, 而不管这个发布版本是否是一个主要或者次要的发布版本. 这表示 android:versionCode 值没有必要与用户可见的应用程序发布版本号有特别的相似之处. 同时,应用程序和发布平台不应将此版本值呈现给用户.

android:versionName --- 字符串值,向用户显示的应用程序代码的发布版本号. 此值是一个字符串, 因此可以用<major>.<minor>.<point>的形式描述应用程序版本, 或者以任何其他类型的绝对或相对版本号标识的形式. 相对于 android:versionCode, 除了让应用程序向用户显示它以外, 系统不打算将这个值用于任何内部使用目的. 应用发布平台可能会将 android:versionName 值解析出来显示给用户. 在manifest文件的<manifest>元素中同时定义这些个版本相关属性.

1 <?xml version="1.0" encoding="utf-8"?>
2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.package.name"
3         android:versionCode="2"
4         android:versionName="1.1">
5     <application android:icon="@drawable/icon" android:label="@string/app_name">
6         ...
7     </application>
8 </manifest>

在例子中, 注意 android:versionCode 值显示当前的.apk包含了应用程序代码的第二个发布, android:versionName字符串表现的是一个小的后继发布版本.

Android 提供了一个API以让应用程序向系统查询版本信息. 使用 PackageManager 的 getPackageInfo(java.lang.String, int)方法.例如:

1 PackageManager manager= getPackageManager();
2 try {
3      PackageInfo info = manager.getPackageInfo(getPackageName(), 0);
4      appVersionCode = info.versionCode;
5      appVersionName = info.versionName;
6 } catch (NameNotFoundException e) {
7      // TODO Auto-generated catch block
8      e.printStackTrace();
9 }
时间: 2024-08-17 17:48:05

Android开发之版本管理,PackageManager类的使用的相关文章

Android开发调试日志工具类[支持保存到SD卡]

直接上代码: package com.example.callstatus; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.net.UnknownHostException; import java.text.SimpleDateFormat; impor

wemall app商城源码android开发MD5加密工具类

wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享android开发MD5加密工具类主要代码,供技术员参考学习. package com.gzcivil.utils; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgori

Android开发实现HttpClient工具类

在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务.你可以把HttpClient想象成一个浏览器,通过它的API我们可以很方便的发出GET,POST请求(当然它的功能远不止这些). 比如你只需以下几行代码就能发出一个简单的GET请求并打印响应结果: try {         // 创建一个默认的HttpClient         HttpClient httpclient =

android开发之网络棋牌类在线游戏开发心得(服务器端、Java) 好文章值得收藏

标签: android服务器 2013-10-09 17:28 3618人阅读 评论(0) 收藏 举报 分类: android(11) 转自:http://blog.csdn.net/bromon/article/details/253330 Bromon原创 请尊重版权 一个多人在线的棋牌类网络游戏的项目临近尾声,我参与了该项目的整个设计流程,并且完成了90%的核心代码.关于这个项目,有很多地方值得聊一聊.本系列不打算把这个项目将得多么详细规范,那是设计文档应该描述的,我打算只说说一些值得注意

Android开发技巧——PagerAdapter实现类的封装

ViewPager是android的support库中的一个控件.也是一个在很多应用开发中都用得比較多的控件.眼下为止,对ViewPager的使用.我通常是用ViewPager + Fragment的组合,偶尔也有ViewPager加View的组合.关于ViewPager + Fragment的使用.已经有FragmentAdapter的实现能够帮助我们高速进行开发了,可是每次使用ViewPager + View都要自己去继承PagerAdapter并实现.重写那些我们写过一次重新的方法,于是决

[android开发之内容更新类APP]一、开始前的整体说明

1.博主的日常 话说很久没更新blog了,话说消失了好长一段时间了呢,话说...你妹的,能不能不要这么二. 好吧,话说...我操,最近在忙什么呢,其实也没什么,%¥¥%*)0--嗯,对,就是做了这么多的事情. 有一天我打开手机(你妹,天天不都在看手机吗),具体来说是打开了某个分类文件夹,发现里面自己以前的很多坑(其实是自己以前想做的app,不过都只建好了demo,没有做实际的开发),左右无事(鲁的累了),把其中的实现一下吧. 好,先明确一下我们要做的东西,什么东西?你要做什么东西,快tm的招出来

android开发,http工具类

android的HttpClient实现简单的get和post请求 [1].[代码] [Java]代码 跳至 [1] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

android开发SD卡工具类(一)

SD卡工具类整理: 1 package com.gzcivil.utils; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 import java.io.InputStream; 9 import java.io.

[android开发之内容更新类APP]三、项目的基本功能之布局

应用宝的下载地址:http://android.myapp.com/myapp/detail.htm?apkName=com.jov.laughter 其它的市场如木蚂蚁,安卓市场.搜狐也都有了 注:代码会在文章的最后提供 1.环境 各种android的环境文章已经有非常多了,事实上也不须要什么,官方有个eclipse和sdk集成的包,下载下来之后就能够执行了.当然.假设你说你翻不了墙.你能够跟我说一声-- 话不多说,咱就假定你已经有了环境 建好你的android  project 大家都知道,