Android:支持不同的版本(Supporting Different Platform Versions)

 

Supporting Different Platform Versions(支持不同的版本)

       由於Android的新版本經常會提供大量的API,所以你應該同時支持舊版本直到更多的設備更新到新的版本。這篇文章就是講如何在支持舊版本的基礎上來使用新的APIS開發你自己的APK.

Google是通過Google play Store來統計設備Android 版本的使用比例和分佈情況的。一般來講,需要你的APP 支持大概90%的設備。

建議:爲了在不同的Android版本中提供最好的功能和特性,在APP中應該使用Android Support Library.通過這個庫,你可以在舊版本中使用新版本的APIS.

指定最小和目標API 級別

  AndroidManifest.xml文件詳細描述了你的APP能夠識別和支持的Android版本。該文件中,<uses-sdk>元素的minSdkVersiontargetSdkVersion屬性指定了你的APP能夠能兼容的最低API 級別和你設計以及測試APP的最高API級別。

 例如:

<manifest

 xmlns:android="http://schemas.android.com/apk/res/android" ... >

<uses-sdk android:minSdkVersion="4"

 android:targetSdkVersion="15" />

   ...

</manifest>

新的Android 版本發佈以後,一些設計風格和行爲可能會改變。爲了允許你的APP利用這些改變並確保它能夠適合每個用戶設備的風格,你應該儘可能的設置targetSdkVersion爲最新的Android版本。

在運行時覈查系統的版本

       在Build常量類中,Android爲每個平臺的版本提供了一個識別碼。在APP中使用這個識別碼是爲了確保系統能獲得高版本APIS的時候,依賴於高版本APIS的代碼纔會執行。

例如:

Private void setUpActionBar()

{

//確保目前運行的版本至少是Honeycomb才使用ActionBar APIS

If(Build.VERSION.SDK_INT >=  Build.VERSION_CODES.HONEYCOMB)

      {

             ActionBar  actionBar  = getActionBar  ();

             actionBar.setDisplayHomeAsUpEnabled (true);

}

}

注意:在解析XML資源時, Android 會忽略當前設備部支持的XML屬性。所以在設計XML文件的時候你不必擔心因爲舊版本不支持而打斷這個解析過程,你可以放心的使用只有新版本才支持的XML屬性。例如如果你設置targetSdkVersion="11",並且你的APP包含了Android 3.0或者更高才能支持的ActionBar.爲了添加菜單項到ActionBar,你必須在菜單XML文件中設置android:showAsAction="ifRoom"。這種跨版本設計XML的做法是安全的,因爲Android 舊版本會忽視showAsAction屬性(所以你不需要單獨建立一個res/menu-v11文件夾來定義這個menu菜單)。

使用平臺風格和主題(Use Platform Styles and Themes)

Android 提供了一個用戶體驗主題,通過這個主題,APP 能夠 look and feel 到潛在的的操作系統。這些主題可以通過manifest 文件應用到你的APP.通過這些內嵌的風格和主題,你的APP能夠自然地follow the latest look and feel of Android with each new release.

讓你的活動像一個對話框一樣顯示:

<activityandroid:theme="@android:style/Theme.Dialog">

讓你的活動背景透明:

<activityandroid:theme="@android:style/Theme.Translucent">

應用自己定義的主題,客製化的主題定義在:/res/values/styles.xml

<activityandroid:theme="@style/CustomTheme">

將一個主題應用到整個的APP中:

<applicationandroid:theme="@style/CustomTheme">

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章