Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 컴포넌트
- ImageView
- HTTP
- 안드로이드컴포즈
- 안드로이드 카카오 지도
- 젯팩컴포즈
- Firebase
- 안드로이드광고
- RecyclerView
- dynamiclink
- JetpackCompose
- 동적 링크
- android kakao map
- 클린 아키텍처
- glide
- android daum map
- 파이어베이스
- 애드몹광고
- 다이나믹 링크
- 안드로이드 라이브러리
- 아키텍처
- Clean Architecture
- 안드로이드
- 애드몹배너
- android 지도
- component
- Android 애드몹
- thread
- Android
- 선언형UI
Archives
- Today
- Total
코딩스토리
[Android]유용한 라이브러리 - Butter Knife사용법 본문
안드로이드에서 가장 먼저 해야할 일은 xml레이아웃을 만들고 나서 해당 View를 설정하는 것입니다.
보통 아래와 같이 View를 선언해주고 onCreate부분에 바인딩을 해줄것입니다.
LinearLayout ll_toolbar;
Button btn_send;
Button btn_finish;
EditText et_text;
...
ll_toolbar = findViewById(R.id.ll_toolbar);
btn_send = findViewById(R.id.btn_send);
btn_finish = findViewById(R.id.btn_finish);
et_text = findViewById(R.id.et_text);
이런 방식으로 사용하게 되면 View가 10개면 10번, 100개면 100번 선언해주고 바인딩해줘야하는 번거로움이 있습니다.
ButterKnife를 사용하면 이 코드를 좀 더 간결하고, 선언하고 바인딩해주는 번거로움을 줄일 수 있습니다.
ButterKnife 사용법
build.gradle(Module:app)
dependencies {
implementation 'com.jakewharton:butterknife:8.7.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'
}
gradle에 ButterKnife 라이브러리를 추가해줍니다.
View객체 선언
@BindView(R.id.ll_toolbar)
LinearLayout ll_toolbar;
@BindView(R.id.btn_send)
Button btn_send;
@BindView(R.id.btn_finish)
Button btn_finish;
@BindView(R.id.et_text)
EditText et_text;
@BindView를 이용해서 해당 View의 Id를 설정해주면서 객체를 선언해줍니다.
View Bind
- Activity에서의 바인딩
setContentView(R.layout.activity_main);
ButterKnife.bind(this,this);
- Fragment에서의 바인딩
View view = inflater.inflate(R.layout.fragment_like_list, container, false);
ButterKnife.bind(this,view);
- ViewHolder에서의 바인딩 (주로 Recyclerview, ViewPager에서 사용됩니다.)
public ViewHolderLikelist(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this,itemView);
}
여기서 데이터 바인딩을 해줌으로서 기존에 하나씩 바인딩 했던것과는 달리 한번에 선언한 객체들을 바인딩 할 수 잇습니다.
Listener사용
@OnTextChanged(R.id.et_text)
void onTextChange(){
...
}
@OnClick(R.id.btn_finish)
void onFinish(){
...
}
기존에는 리스너를 implements를 하고 이벤트를 Override하여 사용하였는데 Butterknife를 사용하면 리스너를 선언해 줄 필요 없이 바로 실행될 수 있는 함수를 만들고 다음과 같이 사용하면 됩니다.
@OnClick({R.id.btn_finish,R.id.btn_send})
void onFinish(){
...
}
여러 View에서 하나의 이벤트를 실행시키고 싶다면 위와같이 선언할 수 있습니다.
'Android > 유용한 기술' 카테고리의 다른 글
[Android/안드로이드] 페이스북로그인 버튼 커스텀/Facebook Login Button Custom (0) | 2019.12.18 |
---|---|
[Android/안드로이드] 페이스북 로그인 / Facebook Login 연동 (23) | 2019.12.17 |
[Android/안드로이드] 해시키(Hash key) 가져오는 방법 (330) | 2019.12.16 |
[Android] 유용한 라이브러리 - Glide를 사용해 쉽게 Image로드하자!! (354) | 2019.12.11 |
[Android] Spannable를 사용해 특정 문자에 이벤트 적용하자 (0) | 2019.06.26 |
Comments