LoginSignup
4
4

More than 5 years have passed since last update.

Butter Knifeを使ってコードをきれいにする

Last updated at Posted at 2017-01-25

はじめに

Butter Knife 8系(Ver.8.5.1)について色々調べたので、そのまとめです。

Butter Knifeとは

Butter Knifeは、Android用の View Injection ライブラリ。
Viewとフィールド・メソッドとをアノテーションを用いて結び付けることができる。
GitHubはこちらへ。

前提

  • SDK ver.9以上必要(Ver.8.5.0 時点)
  • Jackコンパイラもサポートしている(Ver.8.3.0 以降)
    Data BindingはJackコンパイラをサポートしていなかったので。。。

導入

READMEから抜粋。

build.gradle
dependencies {
  compile 'com.jakewharton:butterknife:8.5.1'
  annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
}

annotationProcessor はGradleプラグインのVer.2.2以上が必要。できなければ、aptのライブラリを追加する。
Android プロジェクトで APT を使うためのGradle設定

build.gradle
buildscript {
  repositories {
    mavenCentral()
   }
  dependencies {
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.5.1'
  }
}

apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.butterknife'

上記のプラグインを使う方法だと、ViewをバインドするときのIDが R から R2 に変わるので注意。

使い方

公式サイトにすべて書いてある。
あとで追記しよう。。。

便利プラグイン

ButterKnife の View Injection を一発自動生成するプラグインがある。
リリースノートを見る限り、最新のVer.1.5.0はButterKnife Ver.8.0.1をサポートしているので、使えることは使える。

ただ、XMLに記述された android:id がキャメルケースの変数名に自動生成されるので、既存コードをButter Knifeに移行するときには適さなさそう。
新規で使うには便利。

Butter Knife Zelezny
Butter Knife Zeleznyプラグイン導入方法はこちら。

Ver.移行

古いVer.からアップグレードするときに必要なこと。

Ver.6未満 → 7

以下のサイトでいけそう。

Ver.7 → 8

以下のサイトにだいたい書いてあるが、build.gradleの部分だけは追記。
* Butter Knifeを8系にアップグレードする
* Android プロジェクトで APT を使うためのGradle設定

デメリット

Butter Knifeのデメリットが書いてある記事があったので、残しておく。
さよならButterKnife. 僕はAPTの無いキミが好きだったよ

類似ライブラリ

参考

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4