注意:本篇文章是本人閱讀相關(guān)文章所寫下的總結(jié),方便以后查閱,所有內(nèi)容非原創(chuàng),侵權(quán)刪。
本篇文章內(nèi)容來自于
Android高低API版本兼容之@TargetApi
目錄
- 對一些警告信息的過濾 @SuppressWarnings
- 使高版本API的代碼在低版本SDK不報錯 @TargetApi
- 屏蔽android lint錯誤 @SuppressLint
1. @SuppressWarnings
表示對一些警告信息的過濾
使用
@SuppressWarnings("unchecked")
告訴編譯器忽略 unchecked 警告信息,如使用List,ArrayList等未進行參數(shù)化產(chǎn)生的警告信息。
2. @TargetApi
使用@TargetApi,使高版本API的代碼在低版本SDK不報錯
@TargetApi(19)
舉例
AsyncTask.THREAD_POOL_EXECUTOR, 這個靜態(tài)變量是API11才有的,設(shè)置project build target 為 2.1,這個時候AS會提示找不到這個變量。
此時只要在方法前面加一個 @TargetApi(11), 這樣就不會報錯了,程序已經(jīng)可以跑在低版本SDK上了。
另外在代碼上要加一個版本判斷是否執(zhí)行該代碼,
@TargetApi(11)
public void text(){
if(Build.VERSION.SDK_INT >= 11){
// 使用api11 新加 api
}
}
3. @ SuppressLint
@SuppressLint("NewApi")不一樣。suppress只告訴lint,我這代碼如果高于你的minsdkversion,那么請忽略編譯錯誤。
@SuppressLint("MissingPermission") 屏蔽android lint錯誤