안드로이드 인젝션 라이브러리 플러그인으로 쉽게 사용하자.

안드로이드에서 많이 쓰이는 메서드를 Inject를 통해 쉽고 빠르게 사용할 수 있다. JakeWharton이 만든 butterknife 라이브러리를 이용하면 findViewById, OnClick등을 쉽게 이용 할 수있다. 

class ExampleActivity extends Activity {
  @InjectView(R.id.user) EditText username; 
  @InjectView(R.id.pass) EditText password;

  @OnClick(R.id.submit) void submit() {
  }

  @Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_activity);
    ButterKnife.inject(this);
  }
}

이제 이것도 귀찮은 모양인지 layout의 View Id를 찾아 모두 자동으로 Inject해주고, ListView의 Adapter에 쓰이는 ViewHolder도 자동으로 코드를 넣어주는 플러그인이 공개되었다. 

https://github.com/inmite/android-butterknife-zelezny

Android Studio의 플러그인으로 지원된다. 

플러그인을 설치 후 레이아웃에서 왼쪽 버튼을 누르면 Generate – Generate Butterknife Injections 메뉴로 기능을 빠르게 쓸 수있다.

  

레이아웃의 ViewId를 찾아서 체크박스로 생성여부를 선택 할 수있고, 변수이름도 지정 할 수있다. 하단에 Create ViewHolder을 체크버튼을 통해서 ViewHolderPattern 클래스를 생성해준다. 

확인을 누르면 자동으로 생성된것을 확인 할 수있다. 

“안드로이드 인젝션 라이브러리 플러그인으로 쉽게 사용하자.”에 대한 4개의 생각

  1. 안녕하세요.
    자료 검색하다 들어왔습니다.
    같은 일을 하시네요…
    개발자 블로그 하나 꾸릴려고 하는데
    초대장 하나 구걸?좀 할 수 있을까요?
    vinylcat@daum.net
    초면에 죄송합니다.

  2. 안녕하세요. 궁굼점이 있어서 글 남깁니다.
    현재 android studio에서 새 프로젝트를 만들고 app이란 모듈(실제 실행 프로젝트)만들고 그 안에 libs폴더를 만들어서 butter knife 4.0.1 jar 를 넣고 add Library로 추가 해두었습니다.

    그런데 때때로 프로젝트를 빌드 후 테스트 할때 null에러가 발생하면서 크래쉬 되네요. 코드상 오류는 없는데..

    그리고 Setting>Plugin에서 플러그인을 추가했는데도.
    Generate에서 관련 플러그인이 노출되지 않습니다. 어떻게 해야 할지 알수있을까요??

댓글 남기기