在实际项目中,经常要检测版本是否需要更新,这时就需要获取客户端的版本信息来和服务器的版本进行比较,获取客户端的版本很简单,就是得到配置文件里的versionName和versionCode即可,代码如下:

GetVersionInfoActivity:

package com.home.getversioninfo;import android.app.Activity;import android.content.Context;import android.content.pm.PackageManager.NameNotFoundException;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class GetVersionInfoActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);Button getBtn = (Button) findViewById(R.id.activity_main_btn);final EditText nameText = (EditText) findViewById(R.id.activity_main_et_name);final EditText codeText = (EditText) findViewById(R.id.activity_main_et_code);getBtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 把版本名称和版本号显示在界面上nameText.setText(getVersionName(GetVersionInfoActivity.this));codeText.setText(getVersionCode(GetVersionInfoActivity.this)+ "");}});}/** * 获取版本号 *  * @param context * @return */private int getVersionCode(Context context) {int versionCode = 0;try {// 获取软件版本号versionCode = context.getPackageManager().getPackageInfo("com.home.getversioninfo", 1).versionCode;} catch (NameNotFoundException e) {e.printStackTrace();}return versionCode;}/** * 获取版本名称 *  * @param context * @return */private String getVersionName(Context context) {String versionName = "";try {// 获取软件版本名称versionName = context.getPackageManager().getPackageInfo("com.home.getversioninfo", 1).versionName;} catch (NameNotFoundException e) {e.printStackTrace();}return versionName;}}
布局xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="versionName:" />        <EditText            android:id="@+id/activity_main_et_name"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginTop="10dp"            android:editable="false"            android:singleLine="true" />    </LinearLayout>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="versionCode:" />        <EditText            android:id="@+id/activity_main_et_code"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginTop="10dp"            android:editable="false"            android:singleLine="true" />    </LinearLayout>    <Button        android:id="@+id/activity_main_btn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center_horizontal"        android:text="获取版本信息" /></LinearLayout>



更多相关文章

  1. 【转】Android(安卓)jar resource 资源文件的获取
  2. 安卓通过recyclerview进行全表增删改查
  3. 检索Android图片库并显示详细信息
  4. Content Provider基础(一)
  5. java获取页面输入的值
  6. Android学习之SharedPreferences
  7. android——代码实现在指定位置显示View
  8. Android数据存储访问——文件存储
  9. Jsp读取数据库返回json数据,Android客户端接收json

随机推荐

  1. 傳 Google Nexus Prime 將於10月發表
  2. View事件分发机制源码分析
  3. Android(安卓)SDK tools R12, ADT 12.0.0
  4. android使用技巧
  5. Android(安卓)devices offline
  6. android利用Serialization向服务器端发送
  7. Android系统默认Home应用程序(Launcher)的
  8. Android(安卓)Studio :Failed to resolve
  9. Android浏览器input焦点时浏览器变大
  10. android 问题汇总系列之五