編輯:關於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中的Image
階段一:AsyncTask的三個屬性值和四個步驟,asynctask屬性值“階段一”是指我第一次系統地學習Android開發。這主要是對我的學習過
計算機網絡和Internet之核心網絡,計算機網絡internet1.網狀的路由器 路由器的鏈接組成了網絡的核心。 任何一個路由器,或者某條線路掛掉,但是網絡還是通的,這
Android應用程序的啟動流程 Android系統中一個應用程序的主題是由ActivityThread構成的。不過涉及到很多細節如ActivityThread是由誰來創