1. 程式人生 > >使用Android註解來改善代碼

使用Android註解來改善代碼

反饋 sources ret found 可能 ocs not ber 顯示

昨晚看到一篇好文章。然後是英文的。所以決定翻譯分享給大家。這是原文鏈接: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

? 假設設置了一個整型數給setText。TextView會假定這個整型數是一個字符串的資源id,為了設置string文本將會查詢這個整數。

對於整型數是無效的資源id的問題,[email protected] 註解來補救。

public void setText(@StringRes int id) { 
    // Do something like getString(id), etc. 
}

假設你設置無效的字符串資源id到setText方法裏。就會例如以下圖顯示:
技術分享

這個庫還為全部的資源類型都提供了相相應的資源註解:[email protected]

, @ColorRes,@InterpolatorRes, 等等。



@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註解來改善代碼