blog.bouzuya.net

2017-05-20 Android の Butter Knife をためした

Android の Butter Knifebouzuya/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 のタイミングでそれら設定するようになっている。

しばらく使ってみる。