1 of 12

Android Support Annotationsの紹介

potatotips#20

2015/8/11 佐藤 隼

2 of 12

Jake先生のRxBindingリポジトリを見てみると...

3 of 12

Android Support Annotations?

Android開発において, 役に立つannotationが

定義されているライブラリ

4 of 12

IntDef/StringDef

複数の定数から, 論理的な型を宣言

enumの代わりに使う. 列挙パターンにenumを使うのはバッドプラクティス

5 of 12

IntRange/FloatRange

定義域を宣言

6 of 12

Size

配列のサイズを宣言(min, maxも可)

7 of 12

RequiresPermission

呼び出すのに必要なpermissionを宣言

8 of 12

CallSuper

サブクラスがメソッドを呼び出さなければならないことを宣言

9 of 12

UiThread/WorkerThread

UI(Worker)スレッドから呼び出さなければならないことを宣言

10 of 12

  • LayoutRes, StringRes, ColorRes, …
    • 特定のresourceのみを受け入れることを宣言
  • Keep
    • proguardを無視することを宣言
  • CheckResult
    • 返り値を使わなければいけない
  • VisibleForTesting
    • testのためにaccess可視性を広げていることを宣言
  • Nullable, NonNull
    • Nullを許さない(許す)ことを宣言.

11 of 12

まとめ

  • 適切にannotationをつけることで, ドキュメントの一部になると共に, バグの軽減が期待できる
  • Kotlinの波がキテる?

12 of 12

参考