標籤:android 註解 代碼
昨晚看到一篇好文章,然後是英文的,所以決定翻譯分享給大家,這是原文連結:http://www.michaelevans.org/blog/2015/07/14/improving-your-code-with-android-support-annotations/
如果你還沒聽說過Android支援註解庫,那麼你將錯過可以協助你捕獲bug的一個輕便靈活的新包。在這個庫中包含了很多Java的註解,它將協助Android Studio為了可能出現的錯誤來檢查你的代碼,並且反饋通知給你。這個庫有相當多的註解,在此我只打算說明幾個,但是如果你需要其餘部分完整清晰的說明文檔,可以在這裡查看:check out the docs。
@NonNull 與 @Nullable
@NonNull 與 @Nullable 可能是支援註解中最基礎的,但是絕大多數情況下還是很有用的。 如果參數或者方法的傳回值可能是null為空白的,則以注釋一個參數或者方法來表示。目前Android Studio 給予了一個很好的警告提示,在我們做了一些不安全嚴謹的編碼操作的時候。
例如這樣:
修改後是這樣:
更贊的是:我們甚至可以像例子一樣更進一步的使用@CheckResult註解,來告訴我們該方法的傳回值類型是我們預計要使用的,而不是錯誤效果的方法:
@StringRes 與 @DrawableRes 等等
你是不是在TextView上調用setText方法,經常會出現莫名其妙的異常java android.content.res.Resources$NotFoundException: String resource ID #0x3039? 如果設定了一個整型數給setText,TextView會假定這個整型數是一個字串的資源id,為了設定string文本將會查詢這個整數。對於整型數是無效的資源id的問題,可以通過@StringRes 註解來補救。
public void setText(@StringRes int id) { // Do something like getString(id), etc. }
如果你設定無效的字串資源id到setText方法裡,就會如顯示:
這個庫還為所有的資源類型都提供了相對應的資源註解:[email protected], @ColorRes,@InterpolatorRes, 等等。
@Keep
今天發現了一個新支援註解@Keep。根據註解文檔描述,這個註解還沒有串連到Gradle外掛程式中,但是當在混淆app的時候通過注釋方法和類可以被保留。
這個便捷的註解就通知混淆器保留對應的方法和類,就像這樣:
public class Example { @Keep public void doSomething() { // hopefully this method does something } ... }
如果你正在用的是appcompat-v7的包,就已經包括了 support-annotations的庫,那就開始愉快的使用吧!(逗比這麼簡單的文章還要你翻譯,臭不要臉的…Orz!)
以上check out the docs連結處需要翻牆才能開啟!
使用Android註解來改善代碼