Supporting Different Platform Versions(如何支持不同版本的安卓平台)

来源:互联网 发布:大数据与政府统计方向 编辑:程序博客网 时间:2024/05/18 09:39
        当最新发布的android平台为你的应用提供非常棒的api的同时,你也应该确保你的应用能够在那些依然使用着旧版本的android设备上正常运行,直到这些用户更换新手机为止。这节课,我们将教你如何将最新的api使用到旧版本上。
       根据设备访问谷歌商店的统计表格的定期更新上可以看到,每个设备运行的版本以及它们的分布。一般来说一个优秀的app需要支持将近90%的安卓设备。
       提示:为了能够在各个版本的android设备上提供可靠的性能,开发者必须在其自己的app中添加 Android Support Library。

1、Specify Minimum and Target API Levels(指定最小以及目标api等级)     

     在AndroidManifest.xml文件中具体描述了开发者的app的支持版本

<manifestxmlns:android="http://schemas.android.com/apk/res/android" ... >
   
<uses-sdkandroid:minSdkVersion="4"android:targetSdkVersion="15"/>
    ...
</manifest>

2、Check System Version at Runtime(在运行时检查系统版本)   

    android在编译class时会为每个版本的平台提供一个独一无二的代码,使用这些代码可以确保高等级的api只能运行在高等级的版本中。
privatevoid 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);
   
}
} 
   注意 :android在解析xml资源的时候会忽略xml属性是否能够被当前设备版本所支持。因此你可以放心的使用这些只在最新的版本中才支持的xml属性而不必担心其会出错。例如,你设置了targetSdkVersion=‘11’,你的app包含了ActionBar这类默认在android 3.0或更高版本。你只需要设置android:showAsAction="ifRoom" 在你的xml中,旧版本的android平台会自动忽略showAsAction,而不必将xml分割成各个版本类似于 res/menu-v11/

3、Use Platform Styles and Themes(使用平台自带的样式和主题)
   
    android提供了可以用户自己定制的主题。这类主题需要在清单文件中添加。
     让你的activity看起来像一个对话框。
<activityandroid:theme="@android:style/Theme.Dialog">
     确保你的activity有个透明的背景。
<activityandroid:theme="@android:style/Theme.Translucent">
    将你的自定义theme定义在 /res/values/styles.xml:
<activityandroid:theme="@style/CustomTheme">
   将你的自定义theme应用到整个app,添加android:theme
<applicationandroid:theme="@style/CustomTheme">

0 0
原创粉丝点击