본문 바로가기
Programming 개발은 구글로/JAVA[Android]

[안드로이드] ButterKnife Library에 대하여

by 40대직장인 2022. 4. 11.

ButterKnife Library 사용

: Android 개발 시 유요한 기능.

 

1. findViewById

안드로이드 개발 시 화면 Layout을 잡은 후 View를 전부 findViewById로 찾아 전역 변수를 빼놓는 경우가 많습니다.

그럴 때마다 전역 변수 만들고, 해당 전역 변수를 findViewById를 통해서 가지고 오고 또 Cast 합니다.

소스 라인이 많아집니다.

 

하지만 ButterKnife 라이브러리를 쓰면 이 모든 게 간단하게 작성이 됩니다.

 

private EditText mEdit;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mEdit = (EditText) findViewById(R.id.edit);
}

 

@Bind(R.id.edit_html) EditText mEdit;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ButterKnife.bind(this);

    mEdit.setText("");
}

 

2. OnClickListener

OnClickListener를 사용할려면, 아래와 같은 로직으로 하는 경우가 많습니다.

 - OnClickListener를 implements 시킨다.

 - 해당 View에 setOnClickListener 함수를 호출한다.

 - OnClick 함수를 오버라이딩 한다.

 - view.getId()를 Switching 하여 구분한다.

 

하지만, ButterKnife에서 아래와 같이 사용하면 됩니다.

 

@OnClick(R.id.btn_select)
void select() {

}

 

3. getResources

strings.xml에서 string 가지고 오기 위해 getResources(). getString(R.string.delete)으로 사용해야 된다.

ButterKnife에서는 아래 같이 Resource 들을 바로 가지고 올 수가 있습니다.

 

class TestActivity extends Activity {
  @BindString(R.string.title) 
      String title;
  @BindDrawable(R.drawable.graphic)
      Drawable graphic; 
}

 

 

 

댓글