注意:本篇文章是本人閱讀相關文章所寫下的總結,友善以後查閱,所有内容非原創,侵權删。
本篇文章内容來自于
Android高低API版本相容之@TargetApi
目錄
對一些警告資訊的過濾 @SuppressWarnings
使高版本API的代碼在低版本SDK不報錯 @TargetApi
屏蔽android lint錯誤 @SuppressLint
1. @SuppressWarnings
表示對一些警告資訊的過濾
使用
@SuppressWarnings("unchecked")
告訴編譯器忽略 unchecked 警告資訊,如使用List,ArrayList等未進行參數化産生的警告資訊。
2. @TargetApi
來自Android高低API版本相容之@TargetApi
使用@TargetApi,使高版本API的代碼在低版本SDK不報錯
@TargetApi(19)
舉例
AsyncTask.THREAD_POOL_EXECUTOR, 這個靜态變量是API11才有的,設定project build target 為 2.1,這個時候AS會提示找不到這個變量。
此時隻要在方法前面加一個 @TargetApi(11), 這樣就不會報錯了,程式已經可以跑在低版本SDK上了。
另外在代碼上要加一個版本判斷是否執行該代碼,
@TargetApi(11)
public void text(){
if(Build.VERSION.SDK_INT >= 11){
// 使用api11 新加 api
}
}
3. @ SuppressLint
@SuppressLint("NewApi")不一樣。suppress隻告訴lint,我這代碼如果高于你的minsdkversion,那麼請忽略編譯錯誤。
@SuppressLint("MissingPermission") 屏蔽android lint錯誤