Butter Knife Tutorial
최근 안드로이드 오픈소스 중 가장 많이 사용되는 소스 중 하나입니다. 실제로 여러 프로젝트의 오픈소스 라이브러리에서도 확인 했었고, 한번 사용해보고자 정리해봅니다. 굉장히 사용법이 간단하네요. butter knife는 가독성 높이기, 코드 간결화의 이점이 있다고 생각합니다.
이 외에도 resource binding 또한 제공합니다.
- 환경 설정
먼저 환경 설정을 해주어야 합니다.
gradle 입니다. ( Gradle Scripts > build.gradle (Module: app) )
맨 밑의 두 줄을 넣으시면 됩니다.
compile 'com.jakewharton:butterknife:8.6.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'
- view 만들기
먼저 view 부터 만들어 보도록 합시다. 저 같은 경우는 mainactivity에 switch를 추가해보겠습니다. id를 꼭 적어주도록 하구요.
- 코드 bind 하기
다음으로 JAVA 코드에서 view를 binding 하는 것을 진행해보도록 하겠습니다.
BindView 라는 어노테이션을 통해 간단하게 뷰를 bind 해줍니다. 이를 통해 findViewById와 같은 불편한 작업을 줄일 수 있습니다. 가독성도 향상되구요.
그 후 setContentView 아래에 bind 함수를 써주면 끝납니다. 이 후에는 기존과 동일하게 view를 사용하시면 됩니다.
+ )
@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) 과 같은 방식으로 코드를 구성할 수 있습니다.
EmoticonEmoticon