Butter Knife | 안드로이드 view binding

Butter Knife Tutorial


최근 안드로이드 오픈소스 중 가장 많이 사용되는 소스 중 하나입니다. 실제로 여러 프로젝트의 오픈소스 라이브러리에서도 확인 했었고, 한번 사용해보고자 정리해봅니다. 굉장히 사용법이 간단하네요. butter knife는 가독성 높이기, 코드 간결화의 이점이 있다고 생각합니다.

  1.  환경 설정
    먼저 환경 설정을 해주어야 합니다.

    gradle 입니다.  ( Gradle Scripts > build.gradle (Module: app) ) 



    맨 밑의 두 줄을 넣으시면 됩니다.

    compile 'com.jakewharton:butterknife:8.6.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'

    
    
  2. view 만들기
    먼저 view 부터 만들어 보도록 합시다. 저 같은 경우는 mainactivity에 switch를 추가해보겠습니다. id를 꼭 적어주도록 하구요.

  3. 코드 bind 하기

    다음으로 JAVA 코드에서 view를 binding 하는 것을 진행해보도록 하겠습니다.



    BindView 라는 어노테이션을 통해 간단하게 뷰를 bind 해줍니다. 이를 통해 findViewById와 같은 불편한 작업을 줄일 수 있습니다. 가독성도 향상되구요.



    그 후 setContentView 아래에 bind 함수를 써주면 끝납니다. 이 후에는 기존과 동일하게 view를 사용하시면 됩니다.
+ )

이 외에도 resource binding 또한 제공합니다.
@BindString(R.string.title) String title;
@BindDrawable(R.drawable.graphic) Drawable graphic;
OnClick 어노테이션과 이를 통한 여러 버튼 클릭을 제어할 수 있습니다.
@OnClick(R.id.btn) void clickFunc() {}
@OnClick(R.id.btn, R.id.btn2, R.id.btn3) void clickFunc(View v) {}
위와 같이 간략화 할 수 있으며, 아래와 같이 click 메소드를 묶고, if( v== R.id.button) 과 같은 방식으로 코드를 구성할 수 있습니다.
Previous
Next Post »