使用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 給予了一個非常好的警告提示。在我們做了一些不安全嚴謹的編碼操作的時候。
比如這樣:
改動後是這樣:
更贊的是:[email protected]t註解,來告訴我們該方法的返回值類型是我們估計要使用的,而不是錯誤效果的方法:
@StringRes 與 @DrawableRes 等等
你是不是在TextView上調用setText方法。常常會出現莫名其妙的異常java android.content.res.Resources$NotFoundException: String resource ID #0x3039
對於整型數是無效的資源id的問題,[email protected] 註解來補救。
public void setText(@StringRes int id) {
// Do something like getString(id), etc.
}
假設你設置無效的字符串資源id到setText方法裏。就會例如以下圖顯示:
這個庫還為全部的資源類型都提供了相相應的資源註解:[email protected]
, 等等。
@Keep
[email protected]寫敘述,這個註解還沒有連接到Gradle插件中,可是當在混淆app的時候通過凝視方法和類能夠被保留。
這個便捷的註解就通知混淆器保留相應的方法和類,就像這樣:
public class Example {
@Keep public void doSomething() {
// hopefully this method does something
}
...
}
假設你正在用的是appcompat-v7的包,就已經包括了 support-annotations的庫,那就開始愉快的使用吧!(逗比這麽簡單的文章還要你翻譯。臭不要臉的…Orz!
)
以上check out the docs鏈接處須要FQ才幹打開!
使用Android註解來改善代碼