Android中常見的註解

2021-09-14 06:54:17 字數 1548 閱讀 4783

常見的幾個註解

1、@targetapi

2、@requiresapi

3、@suppresslint

4、@suppresswarnings

我們在開發android中常常會遇到**提示異常,使用快捷鍵操作後,開發工具會自動給我們的**新增一些註解,那麼你真的了解這些註解嗎?下面我們對每個註解的解釋:

@targetapi(build.version_codes.*)或者@targetapi(*)

lint會按照api版本m以上掃瞄**,而不是project中指定的minsdkversion,可以使得高版本api在低版本sdk上lint不報錯。

如果只加這個註解,表明這段**只能在指定版本及以上的系統上執行,如果你執行在23以下的系統上,會出現異常!因為已經開發工具已經給予警告了,只是我們加了註解,警告被忽略了。

@requiresapi(api = *)

從官方的表述可以看出更推薦使用requiresapi替換targetapi。

該註解表示註解目標只能夠在指定的版本api及以上執行,消除高版本api在低版本sdk上的報錯,作用上和targetapi相同,只是在詞面上更清楚表達了這是乙個建議,而不僅僅是為了消除高版本api在低版本sdk上的報錯。

@suppresslint("newapi")

一般不建議使用!最直接暴力遮蔽指定名稱的報錯,newapi:calling new methods on older versions。

在xml中類似的做法有:

tools:ignore="scrollviewcount,uselessparent"

相比於@targetapi指定了版本號,suppresslint是一律遮蔽。當然還可以指定任何其他lint定義好的錯誤名稱。在settings中查詢inspections可以找到預先定義好的所有error、warning。對於多個錯誤,使用逗號隔開。

@suppresswarnings("")

常用取值:unchecked //未檢查的轉化,如集合沒有指定型別

unused  //未使用的變數

resource  //有泛型未指定型別

path //在類路徑,原檔案路徑中有不存在的路徑

deprecation   //使用了某些不贊成使用的類和方法

fallthrough   //switch語句執行到底沒有break關鍵字

serial  //某類實現serializable 但是沒有定義serialversionuid 這個需要但是不必須的字段 

rawtypes   //沒有傳遞帶有泛型的引數

all   //全部型別的警告 

註解可以使用在許多地方,如:class、method、statement,分別對應由大到小不同的作用域類、方法、語句,作用域範圍越大,那麼效能損耗自然越大。

以上是針對我們日常開發中常用的註解的解釋,特記錄供自己學習!

SpringBoot中常見註解含義總結

restcontroller被稱為乙個構造型 stereotype 註解。它為閱讀 的開發人員提供建議。對於spring,該類扮演了乙個特殊角色。它繼承自 controller註解。4.0之前的版本,spring mvc的元件都使用 controller來標識當前類是乙個控制器servlet。使用這...

Android手機中常見的路徑

files 存放普通的檔案。share prefs 存放sharedpreferences設定的key value檔案的相關的資料 外儲存2.1 外儲存 外部儲存有兩種,一種是手機額外掛程式載的tf卡,一種是手機出廠的時候,已經嵌入到主機板的那種儲存卡。在手機上看到storage emulated ...

Android 中常見的小知識總結

知識是需要積累的,許多小知識只有經常看看,用起來才能得心應手,只有積累到一定程度,菜鳥才能騰飛!1 標題欄和工作列的隱藏和設定 標題欄和工作列的隱藏和設定主要有兩種 在xml檔案中進行配置 在專案的清單檔案androidmanifest.xml中,找到需要全屏或設定成無標題欄的activity,在該...