2017-05-20 Android の Butter Knife をためした
Android の Butter Knife を bouzuya/bbna で使ってみた。
Butter Knife は field や method を View に binding するためのライブラリ。 bbna は blog.bouzuya.net for Android 。 blog.bouzuya.net の Android クライアント。
試してみたんだけど、 bbna だと画面項目が少ないので、そこまで恩恵は得られていないと感じる。行数的には bind
/ unbind
呼び出し分だけ増えている。嫌いなダウンキャストが減るのはうれしいけど、代わりに嫌いなアノテーションが増えるので……。命令的ではなく宣言的になる感じ。
private Button mButton;
mButton = (Button) findViewById(R.id.button);
上記が下記のように変わる。
@BindView(R.id.button)
Button mButton;
ButterKnife.bind(this);
reflection の都合だろうか、 private が外れる。
古いものだと指定された ID の view を探して field に設定している。新たなものだと bind する view ( ID ) をメタ情報として付与しておき、 bind のタイミングでそれら設定するようになっている。
しばらく使ってみる。