Did you know that you can navigate the posts by swiping left and right?
Please click HERE. But I am unsure as to weather it is grammatically correct. LUL
관용 코드 대신 Annotation을 사용할 수 있게 하는 라이브러리 입니다. 사실 저도 알게된지 얼마 안돼서….
TextView textView = (TextView) findViewById(R.id.textView);
Button button = (Button) findViewById(R.id.button);
textView.setText("New TEXT");
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 버튼을 누르면 간단하게 반응하라고!
Toast.makeText(getApplicationContext(), "Button 1st", Toast.LENGTH_LONG).show();
}
});
라고 지금까지 써오셨을 겁니다. 안드로이드 개발 경력이 오래된 사람이라면 아마.. findViewById Method를 수만 번 사용하셨을 겁니다. 그런데, ButterKnife 라이브러리를 사용하면, 다음과 같이 직관적인 코드로 변합니다! 절대 광고 아닙니다.. 저는 광고할 능력이..
@BindView(R.id.button)
Button button;
@BindView(R.id.textView)
TextView textView;
@OnClick(R.id.button)
void onClickMethod() {
Toast.makeText(getApplicationContext(), "Button 1st", Toast.LENGTH_LONG).show();
}
이게 뭐가 대단하냐구요?
@OnClick(R.id.button, R.id.button2, R.id.button3) // 많은 button의 OnClick 함수를 동시에 제어
void onClickMethod() {
Toast.makeText(getApplicationContext(), "Clicked", Toast.LENGTH_LONG).show();
}
이렇게 OnClick Annotation 뒤에 id를 나열해주면 동일 함수를 여러번 사용하게 해줄 수 있습니다! 물론, xml에서 일일이 함수를 지정해주면 되지만, 그런 수고로움(?)을 줄여주는 마법같은 라이브러리입니다.
IDE: Android Studio 2.2.3
ButterKnife: ButterKnife 8.4.0 (2017-01-11 최신)
OS: Windows 7 (64Bits)
간단합니다! build.gradle에 단, 3줄만 수정해주면 사용할 수 있으니깐요. 아-주 상세히 설명할테니, 초등학생이라도 할 수 있습니다. 새로운 프로젝트로 설명을 시작하겠습니다. (지금 작업하는 프로젝트에도 적용할 수 있습니다.)
Android Studio - New Project(좌측 상단 File - New - New Project) - Application Name: ButterKnife Company Domain이나 location은 취향에 따라 알아서 하세요. 초보자면 건들지 않는게 정신건강에 좋습니다. - Next - Minimum SDK: API 10 큰 의미는 없는데 그냥 모든 기기에서 사용해보라고 아주 옛날 버전을 선택 - Next - Empty Activity - Next - Finish
만들어진 새 ButterKnife Project 창은 잠시 내려주고 ButterKnife-GitHub 들어갑시다. 수많은 영어와 알지 못하는 파일들이 있지만 일단 무시하고 아래로 스크롤를 내리면 README.md, Butter Knife 라는 글자와 공식마크 버터가 안드로이드 모양 가 보입니다. 더 내려가면 Download라는 글자가 있을겁니다. 그곳을 주시하세요!
라고 적혀있는데, 뭔 소린지 처음에는 모르실겁니다. 제가 그래서 겁나 헤맸거든요.. 일단 여기까지 왔으면, dependencies안에 있는 두 줄을 복사하고, 창은 잠시 최소화 해두고, 다시 Android Studio의 아까 만든 켜줍시다.
좌측에 1-Project를 누르면 app 폴더와 Gradle Scripts초록구글 같이 생김라는 디렉토리들이 있죠? Gradle Scripts - build.gradle (Module: app) 을 열어봅시다.
다음과 같은 코드들이 적혀있을 거예요. 위의 코드에서 보셨듯이 중간 코드는 과감히 생략했습니다. 이 자리입니다!라고 주석을 달아놓은 곳에 위에서 언급한 ButterKnife Readme에 있는 아까 복사한 Download의 dependencies 안의 두 줄을 복사해서 붙여넣기 합시다. 만약, Gradle이 변경되었다고 위에 파란줄과 함께 Sync Now라는 창이 나오면 그냥 Sync Now 눌러주고 일단 넘어갑시다. 오류창이 나도 일단 무시하세요. (저의 경우에는 에러가 안 나왔습니다.)
다시 아까 ButterKnife-GitHub 창을 열어봅시다. 아까 봤던 Download 밑에 Library projects라고 있죠?
라고 적혀있을텐데,
이 문장을 복사해줍시다. 그리고, Android Studio를 켜서 Gradle Scripts - build.gradle (Project: ButterKnife) 를 열어줍시다. 더블클릭
라고 적힌 곳의 dependencies 밑에 붙여줍시다. 주석표시 된 곳에 붙이면 됩니다. 마찬가지로 Sync Now가 뜨면 해줍시다.
마지막 하나 남았습니다. 여기까지 했으면 오류없이 잘 되는 사람도 있고, 안 되는 사람이 있을 텐데요. 만약 오류가 뜬다면, 아까 들어갔던 Gradle Scripts - build.gradle (Module: app)에 들어갑시다.
제일 첫 줄에 아마 다음과 같은 코드가 있을겁니다.
이 밑에 한 줄을 추가합시다! 다음의 코드처럼요!
그러면 사용할 준비가 다 됐습니다. 이러면 저는 되더라구요..
만약 오류가 생긴다면, Gradle Scripts - build.gradle (Module: app) 의
대신에
로 바꿔보세요! 원문은 apply plugin: ‘com.android.library’로 할 것을 권하고 있습니다.
다음 글: Android - ButterKnife 사용법