編輯:關於android開發
APP都會涉及到版本的問題,Android APP的版本信息保存在AndroidManifest.xml文件的頂部。如下圖:

有2個屬性表示,“android:versionCode”和“android:versionName”,其中versionCode是int類型,是給程序用的,一般版本控制就用這個,versionName是String類型,是給用戶看的,比如在APP的關於頁面,顯示當前版本。新建的工程中versionCode默認是1,versionName默認是1.0。
下面來用程序讀取一下這2個屬性。
布局文件代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="APP版本信息:" />
<TextView
android:id="@+id/tvVersion"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Activity代碼如下:
package chengyujia.androidtest;
import android.app.Activity;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.widget.TextView;
public class VersionActivity extends Activity {
private TextView tvVersion;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_version);
tvVersion = (TextView) findViewById(R.id.tvVersion);
showVersion();
}
private void showVersion() {
// 在Activity中可以直接調用getPackageManager(),獲取PackageManager實例。
PackageManager packageManager = getPackageManager();
// 在Activity中可以直接調用getPackageName(),獲取安裝包全名。
String packageName = getPackageName();
// flags提供了10種選項,及其組合,如果只是獲取版本號,flags=0即可
int flags = 0;
PackageInfo packageInfo = null;
try {
// 通過packageInfo即可獲取AndroidManifest.xml中的信息。
packageInfo = packageManager.getPackageInfo(packageName, flags);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
if (packageInfo != null) {
// 這裡就拿到版本信息了。
int versionCode = packageInfo.versionCode;
String versionName = packageInfo.versionName;
tvVersion.setText("versionCode=" + versionCode + "\nversionName=" + versionName);
}
}
}
運行看一下效果:

上圖顯示的是默認值,當我們的APP發布新版本時,需要在AndroidManifest.xml中修改這兩個值,其中versionCode是int類型,一般從1開始自增,如果賦予非int類型的值會報錯,比如下圖:

而versionName是String類型的,只要是字符串就行,比如下圖:

下面運行看一下截圖:

版本信息讀取就寫這些吧,該吃晚飯喽^_^
使用自定義的item、Adapter和AsyncTask、第三方開源框架PullToRefresh聯合使用實現自定義的下拉列表(從網絡加載圖片顯示在item中的ImageView),
使用自定義的item、Adapter和AsyncTask、第三方開源框架PullToRefresh聯合使用實現自定義的下拉列表(從網絡加載圖片顯示在item中的Image
階段一:AsyncTask的三個屬性值和四個步驟,asynctask屬性值
階段一:AsyncTask的三個屬性值和四個步驟,asynctask屬性值“階段一”是指我第一次系統地學習Android開發。這主要是對我的學習過
計算機網絡和Internet之核心網絡,計算機網絡internet
計算機網絡和Internet之核心網絡,計算機網絡internet1.網狀的路由器 路由器的鏈接組成了網絡的核心。 任何一個路由器,或者某條線路掛掉,但是網絡還是通的,這
Android應用程序的啟動流程
Android應用程序的啟動流程 Android系統中一個應用程序的主題是由ActivityThread構成的。不過涉及到很多細節如ActivityThread是由誰來創