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;
}
'Programming 개발은 구글로 > JAVA[Android]' 카테고리의 다른 글
[안드로이드] 4대 컴포넌트 : 액티비티, 서비스, 콘텐츠 프로바이더, 브로드캐스트 리시버 (0) | 2022.04.13 |
---|---|
[안드로이드][에러 처리] IllegalStateException: Can not perform this action after onSaveInstanceState (0) | 2022.04.13 |
[안드로이드][활용] Instagram oEmbed API (2) | 2022.04.12 |
[안드로이드] NestedScrollView (0) | 2022.04.11 |
[안드로이드] 화면 해상도 dp에 대하여 (0) | 2022.04.06 |
댓글