Android的最新版本会提供一些很棒的API,您的APP使用新版本API的同时也要兼容旧的Android版本,直到更多设备已更新到新版本的APP。本文档将向您展示如何利用最新的API,同时继续支持旧版本。

根据对访问Google Play商店的设备数量的统计,平台版本分布表会进行定期更新,以显示运行每个版本的Android设备的分布情况。一般来说,一个APP最好能支持大约90%的活动设备,同时使用最新的Android版本。

提示:为了在多个Android版本中提供最佳特性和功能,您应该在APP中使用Android Support Library,这样可以在旧版本上使用几种最新的平台API。

指定Minimum和Target API Levels

AndroidManifest.xml文件描述APP的详细信息,并标识其支持的Android版本。具体来说,元素的minSdkVersiontargetSdkVersion属性标识了APP兼容的最低和最高API级别。
例如:

"http://schemas.android.com/apk/res/android" ... >    "4" android:targetSdkVersion="15" />    ...

随着新版Android的发布,一些风格和行为可能会有所改变。为了让您的应用程序能够利用这些更改,并确保您的应用程序适合每个用户设备的风格,您应该把targetSdkVersion的值设置为最新的Android版本。

在运行时检查系统版本

Android在Build常量类中为每个平台版本提供了一个唯一的编码。APP用这个编码来确保只有系统支持高版本API时,才会执行依赖高版本API的代码。

private void setUpActionBar() {    // Make sure we're running on Honeycomb or higher to use ActionBar APIs    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {        ActionBar actionBar = getActionBar();        actionBar.setDisplayHomeAsUpEnabled(true);    }}

注意:解析XML资源时,Android会忽略当前设备不支持的XML属性。因此,您可以安全地使用仅由较新版本支持的XML属性,而不必担心旧版本遇到该代码时出错。例如,如果您设置targetSdkVersion =“11”,则APP在Android 3.0及更高版本上默认包含ActionBar。如果要将menu项添加到action bar,您需要在menu资源XML中设置android:showAsAction =“ifRoom”。 在跨版本的XML文件中可以安全地执行此操作,因为较旧版本的Android只会忽略showAsAction属性(即,不需要在res / menu-v11 /中添加一个单独的menu资源)。

使用平台样式和主题

APP可以使用Android提供的主题,使APP的UI看起来和底层操作系统一致。可以在manifest文件中配置APP的主题。使用这些内置的样式和主题,APP将遵循Android平台提供的最新风格和主题。
使Activity看起来像一个对话框:

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

使Activity具有透明背景:

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

使用您在/res/values/styles.xml中自定义的主题:

<activity android:theme="@style/CustomTheme">

要将主题应用于整个APP(所有Activity),请将android:theme属性添加到元素中:

<application android:theme="@style/CustomTheme">

有关创建和使用主题的更多信息,请阅读 Styles and Themes指南。

更多相关文章

  1. Millennial Media:2011年8月全球移动设备广告市场占有率Android第
  2. 据报道,微软正考虑支持Windows手机或Android的多系统设备
  3. 通过wifi连接android设备的方法
  4. 自定义HID设备与Android设备通信
  5. android之获取设备唯一标识符
  6. Android学习路线(十六)支持不同设备
  7. Cellebrite Premium:一个访问iOS和高端Android设备的全面解决方案
  8. Android usb camera设备添加

随机推荐

  1. android,java只是知识点总结
  2. android 实现圆角imageView的两种方法
  3. Android(安卓)学习笔记--android——list
  4. 多个viewpager导致的不显示问题
  5. android 实现男女按钮选择
  6. Android内存泄漏检测工具:LeakCanary
  7. 转载:Android(安卓)常用代码集合
  8. Android(安卓)Toast提示封装实例代码
  9. android标题栏中添加返回按钮
  10. Android(安卓)Studio基础学习(入门五)——