随着Android版本的更新,更多的Android性能被开发出来,为了在我们的应用中也用到这些性能又要兼顾以前的旧版本,这时我们要做到系统版本的适配。一般情况下,我们在更新app到最新Android版本时,最好要先保证新版本的app能够支持90%的设备。
在Android的清单文件中设置我们app的minSdkVersion和targetSdkVersion属性,标明我们在设计和测试app时,最低兼容API的级别和最高兼容API的级别,例如:
<manifest package="com.example.johncheng.test01_819" xmlns:android="http://schemas.android.com/apk/res/android"> <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="23"/>
为了能够适应最新的版本,我们将targetSdkVersion设置的尽量与最新Android版本匹配。
运行时检查系统版本:
Android在Build常量类中对每个Android版本做了唯一的代号,我们在app中使用最新Android版本的新功能时做相应的判断,以达到高版本时使用最新功能,低版本兼容以前的版本。例如:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){ ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); }另外我们也可以在清单文件中使用系统自带的样式和主题,这样样式和主题会随着系统的版本的变化而变化。
例如设置当前Activity为会话框:
<activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/Theme.AppCompat.Dialog"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>