SlideShare a Scribd company logo
Android 개발에 도움이 되는 Library
2015년 07월 12일 | 이철혁
이 문서는 나눔글꼴로 작성되었습니다. 설치하기
01 Boilerplate
02 Butter Knife
03 Lombok
정의 The sections of code that have to be included in many places with little or no
alteration. – 출처 <https://en.wikipedia.org/wiki/Boilerplate_code>
Boilerplate
Boilerplate 유래
출처 : http://whatis.techtarget.com/definition/boilerplate
Boilerplate 유래
출처 : http://www.cmrp.com/blog/bending/steel-plate-rolling-to-enclose-a-spent-nuclear-reactor.html
Boilerplate 유래
출처 : https://en.wikipedia.org/wiki/Boilerplate_code
Boilerplate code의 예 ( Perl )
출처 : https://en.wikipedia.org/wiki/Boilerplate_code
Boilerplate code의 예 ( HTML )
출처 : https://en.wikipedia.org/wiki/Boilerplate_code
Boilerplate code의 예 ( JAVA )
출처 : https://en.wikipedia.org/wiki/Boilerplate_code
Android의 Boilerplate는?
출처 : http://www.ukmarketingnews.com/wp-content/uploads/2015/05/KitKat-vs-Android-Lollipop.jpg
Android 개발의 Boilerplate
출처 : https://en.wikipedia.org/wiki/Boilerplate_code
Android 개발의 Boilerplate
Android 개발의 Boilerplate
Android 개발의 Boilerplate
정의 Field and method binding for Android views.
Butter Knife
01 02 03 04
05 06 07 08
레시피
ButterKnife다운로드 IDE설정 Activity일경우
ButterKnife.bind(this);
Activity가아닌경우
ButterKnife.bind(this,view);
Binding
@Bind(R.id.title)TextViewtitle;
ListenerBinding
@OnClick(R.id.submit)
Proguard
keepclasseswithmembernames
License
ApacheLicense,Version2.0
Butter Knife 다운로드
http://jakewharton.github.io/butterknife/
https://github.com/JakeWharton/butterknife
Butter Knife 다운로드
http://jakewharton.github.io/butterknife/
https://github.com/JakeWharton/butterknife
Butter Knife 다운로드
Duplicate files copied in
APK META-INF/services/javax.annotation.processing.Processor
IDE 설정
Activity인 경우
Fragment
Unbind
Binding
Binding
View holder 패턴
View holder 패턴
OnClickListener Binding
OnClickListener Binding
OnClickListener Binding
OnClickListener Binding
기타 Listener Binding
기타 Listener Binding
기타 Listener Binding
기타 Listener Binding
Proguard 세팅
Butter Knife 의 장점
License
Plug-in
Plug-in
정의 Spice up your java
Lombok
01 02
레시피
Lombok설정 IDE설정 사용하기
03
Lombok 설정
https://projectlombok.org/
최신버전은 1.16.4
Lombok Plug-in
Lombok Plug-in
Lombok Plug-in
http://jakewharton.github.io/butterknife/
https://github.com/JakeWharton/butterknife
val
val
val
val
@Getter/@Setter
@Getter/@Setter
@Getter/@Setter
@ToString
@ToString
그 외에..
Views
OnClickListeners
Getter/setter
Boilerplate 코딩을 줄이자!
01
끝
이 문서는 나눔글꼴로 작성되었습니다. 설치하기

More Related Content

Viewers also liked

Kotlin으로 안드로이드 개발하기
Kotlin으로 안드로이드 개발하기Kotlin으로 안드로이드 개발하기
Kotlin으로 안드로이드 개발하기Taehwan kwon
 
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지GDG Korea
 
리팩토링 사례 스타프로리그앱
리팩토링 사례  스타프로리그앱리팩토링 사례  스타프로리그앱
리팩토링 사례 스타프로리그앱beom kyun choi
 
Dependency Injection 소개
Dependency Injection 소개Dependency Injection 소개
Dependency Injection 소개beom kyun choi
 
왜 Swift를 해야할까요?
왜 Swift를 해야할까요?왜 Swift를 해야할까요?
왜 Swift를 해야할까요?선협 이
 
하이브리드앱
하이브리드앱하이브리드앱
하이브리드앱knight1128
 
[2017 KCD] 내가 블로그/커뮤니티를 하는 이유는?
[2017 KCD] 내가 블로그/커뮤니티를 하는 이유는?[2017 KCD] 내가 블로그/커뮤니티를 하는 이유는?
[2017 KCD] 내가 블로그/커뮤니티를 하는 이유는?Taehwan kwon
 
Android Data Binding in action using MVVM pattern - droidconUK
Android Data Binding in action using MVVM pattern - droidconUKAndroid Data Binding in action using MVVM pattern - droidconUK
Android Data Binding in action using MVVM pattern - droidconUKFabio Collini
 
[Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)
[Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)[Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)
[Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)Sang Don Kim
 
[D2 오픈세미나]4.네이티브앱저장통신
[D2 오픈세미나]4.네이티브앱저장통신[D2 오픈세미나]4.네이티브앱저장통신
[D2 오픈세미나]4.네이티브앱저장통신NAVER D2
 
텐서플로우 기초 이해하기
텐서플로우 기초 이해하기 텐서플로우 기초 이해하기
텐서플로우 기초 이해하기 Yong Joon Moon
 
[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기YoungSu Son
 
SW 아키텍처 분석방법
SW 아키텍처 분석방법 SW 아키텍처 분석방법
SW 아키텍처 분석방법 YoungSu Son
 
Breaking of Granular Cluster in Two-Dimension due to Splitting of the Central...
Breaking of Granular Cluster in Two-Dimension due to Splitting of the Central...Breaking of Granular Cluster in Two-Dimension due to Splitting of the Central...
Breaking of Granular Cluster in Two-Dimension due to Splitting of the Central...Sparisoma Viridi
 
рекомендации по презентации
рекомендации по презентациирекомендации по презентации
рекомендации по презентацииMeritSirus
 

Viewers also liked (20)

Kotlin으로 안드로이드 개발하기
Kotlin으로 안드로이드 개발하기Kotlin으로 안드로이드 개발하기
Kotlin으로 안드로이드 개발하기
 
Mvp 이전2
Mvp 이전2Mvp 이전2
Mvp 이전2
 
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
 
리팩토링 사례 스타프로리그앱
리팩토링 사례  스타프로리그앱리팩토링 사례  스타프로리그앱
리팩토링 사례 스타프로리그앱
 
Dependency Injection 소개
Dependency Injection 소개Dependency Injection 소개
Dependency Injection 소개
 
Android MVVM
Android MVVMAndroid MVVM
Android MVVM
 
왜 Swift를 해야할까요?
왜 Swift를 해야할까요?왜 Swift를 해야할까요?
왜 Swift를 해야할까요?
 
하이브리드앱
하이브리드앱하이브리드앱
하이브리드앱
 
[2017 KCD] 내가 블로그/커뮤니티를 하는 이유는?
[2017 KCD] 내가 블로그/커뮤니티를 하는 이유는?[2017 KCD] 내가 블로그/커뮤니티를 하는 이유는?
[2017 KCD] 내가 블로그/커뮤니티를 하는 이유는?
 
Android Data Binding in action using MVVM pattern - droidconUK
Android Data Binding in action using MVVM pattern - droidconUKAndroid Data Binding in action using MVVM pattern - droidconUK
Android Data Binding in action using MVVM pattern - droidconUK
 
[Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)
[Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)[Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)
[Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)
 
MVP 패턴 소개
MVP 패턴 소개MVP 패턴 소개
MVP 패턴 소개
 
[D2 오픈세미나]4.네이티브앱저장통신
[D2 오픈세미나]4.네이티브앱저장통신[D2 오픈세미나]4.네이티브앱저장통신
[D2 오픈세미나]4.네이티브앱저장통신
 
텐서플로우 기초 이해하기
텐서플로우 기초 이해하기 텐서플로우 기초 이해하기
텐서플로우 기초 이해하기
 
[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기
 
Effective Android UI - English
Effective Android UI - EnglishEffective Android UI - English
Effective Android UI - English
 
SW 아키텍처 분석방법
SW 아키텍처 분석방법 SW 아키텍처 분석방법
SW 아키텍처 분석방법
 
Breaking of Granular Cluster in Two-Dimension due to Splitting of the Central...
Breaking of Granular Cluster in Two-Dimension due to Splitting of the Central...Breaking of Granular Cluster in Two-Dimension due to Splitting of the Central...
Breaking of Granular Cluster in Two-Dimension due to Splitting of the Central...
 
рекомендации по презентации
рекомендации по презентациирекомендации по презентации
рекомендации по презентации
 
Gulawali plots ppt 1
Gulawali plots ppt 1Gulawali plots ppt 1
Gulawali plots ppt 1
 

More from Yeaji Shin

웹접근성발표자료
웹접근성발표자료웹접근성발표자료
웹접근성발표자료Yeaji Shin
 
Presentation jwh pdf
Presentation jwh pdfPresentation jwh pdf
Presentation jwh pdfYeaji Shin
 
기술적으로 멋부리기_조정민
기술적으로 멋부리기_조정민기술적으로 멋부리기_조정민
기술적으로 멋부리기_조정민Yeaji Shin
 
치킨or카페
치킨or카페치킨or카페
치킨or카페Yeaji Shin
 
비전공자가 개발자로 살기 박윤곤.
비전공자가 개발자로 살기 박윤곤.비전공자가 개발자로 살기 박윤곤.
비전공자가 개발자로 살기 박윤곤.Yeaji Shin
 
라이트닝토크란 무엇인가? + go or not go there is no try
라이트닝토크란 무엇인가? + go or not go there is no try라이트닝토크란 무엇인가? + go or not go there is no try
라이트닝토크란 무엇인가? + go or not go there is no tryYeaji Shin
 

More from Yeaji Shin (7)

웹접근성발표자료
웹접근성발표자료웹접근성발표자료
웹접근성발표자료
 
realm
realmrealm
realm
 
Presentation jwh pdf
Presentation jwh pdfPresentation jwh pdf
Presentation jwh pdf
 
기술적으로 멋부리기_조정민
기술적으로 멋부리기_조정민기술적으로 멋부리기_조정민
기술적으로 멋부리기_조정민
 
치킨or카페
치킨or카페치킨or카페
치킨or카페
 
비전공자가 개발자로 살기 박윤곤.
비전공자가 개발자로 살기 박윤곤.비전공자가 개발자로 살기 박윤곤.
비전공자가 개발자로 살기 박윤곤.
 
라이트닝토크란 무엇인가? + go or not go there is no try
라이트닝토크란 무엇인가? + go or not go there is no try라이트닝토크란 무엇인가? + go or not go there is no try
라이트닝토크란 무엇인가? + go or not go there is no try
 

Recently uploaded

(독서광) 대격변 AI 시대, 데이터로 사고하고 데이터로 리드하라
(독서광) 대격변 AI 시대,   데이터로 사고하고   데이터로 리드하라(독서광) 대격변 AI 시대,   데이터로 사고하고   데이터로 리드하라
(독서광) 대격변 AI 시대, 데이터로 사고하고 데이터로 리드하라Jay Park
 
2024년 5월 27일 개발자 이야기 - AWS 람다의 내부 동작 방식 외
2024년 5월 27일 개발자 이야기 - AWS 람다의 내부 동작 방식 외2024년 5월 27일 개발자 이야기 - AWS 람다의 내부 동작 방식 외
2024년 5월 27일 개발자 이야기 - AWS 람다의 내부 동작 방식 외Jay Park
 
INU Graduation Powerpoint-Rabbit FootPrint
INU Graduation Powerpoint-Rabbit FootPrintINU Graduation Powerpoint-Rabbit FootPrint
INU Graduation Powerpoint-Rabbit FootPrintahghwo99
 
캡스톤-디자인-최종-발표-(대상혁) 24년도 졸업작품발표회 ppt.pptx
캡스톤-디자인-최종-발표-(대상혁) 24년도 졸업작품발표회 ppt.pptx캡스톤-디자인-최종-발표-(대상혁) 24년도 졸업작품발표회 ppt.pptx
캡스톤-디자인-최종-발표-(대상혁) 24년도 졸업작품발표회 ppt.pptxcho9759
 
암호화 보안USB & 외장하드 중앙관리 솔루션 ‘DataLocker SafeConsole’_DATASHEET
암호화 보안USB & 외장하드 중앙관리 솔루션 ‘DataLocker SafeConsole’_DATASHEET암호화 보안USB & 외장하드 중앙관리 솔루션 ‘DataLocker SafeConsole’_DATASHEET
암호화 보안USB & 외장하드 중앙관리 솔루션 ‘DataLocker SafeConsole’_DATASHEETSoftwide Security
 
인천대학교 컴퓨터공학과 아틀란티스 졸업작품 commINUty PPT
인천대학교 컴퓨터공학과 아틀란티스 졸업작품 commINUty PPT인천대학교 컴퓨터공학과 아틀란티스 졸업작품 commINUty PPT
인천대학교 컴퓨터공학과 아틀란티스 졸업작품 commINUty PPTpcupcu20831004
 
인천대학교 캡스톤디자인(2) Pencil me 프레젠테이션 발표자료 파일
인천대학교 캡스톤디자인(2) Pencil me 프레젠테이션 발표자료 파일인천대학교 캡스톤디자인(2) Pencil me 프레젠테이션 발표자료 파일
인천대학교 캡스톤디자인(2) Pencil me 프레젠테이션 발표자료 파일justuser0129
 

Recently uploaded (7)

(독서광) 대격변 AI 시대, 데이터로 사고하고 데이터로 리드하라
(독서광) 대격변 AI 시대,   데이터로 사고하고   데이터로 리드하라(독서광) 대격변 AI 시대,   데이터로 사고하고   데이터로 리드하라
(독서광) 대격변 AI 시대, 데이터로 사고하고 데이터로 리드하라
 
2024년 5월 27일 개발자 이야기 - AWS 람다의 내부 동작 방식 외
2024년 5월 27일 개발자 이야기 - AWS 람다의 내부 동작 방식 외2024년 5월 27일 개발자 이야기 - AWS 람다의 내부 동작 방식 외
2024년 5월 27일 개발자 이야기 - AWS 람다의 내부 동작 방식 외
 
INU Graduation Powerpoint-Rabbit FootPrint
INU Graduation Powerpoint-Rabbit FootPrintINU Graduation Powerpoint-Rabbit FootPrint
INU Graduation Powerpoint-Rabbit FootPrint
 
캡스톤-디자인-최종-발표-(대상혁) 24년도 졸업작품발표회 ppt.pptx
캡스톤-디자인-최종-발표-(대상혁) 24년도 졸업작품발표회 ppt.pptx캡스톤-디자인-최종-발표-(대상혁) 24년도 졸업작품발표회 ppt.pptx
캡스톤-디자인-최종-발표-(대상혁) 24년도 졸업작품발표회 ppt.pptx
 
암호화 보안USB & 외장하드 중앙관리 솔루션 ‘DataLocker SafeConsole’_DATASHEET
암호화 보안USB & 외장하드 중앙관리 솔루션 ‘DataLocker SafeConsole’_DATASHEET암호화 보안USB & 외장하드 중앙관리 솔루션 ‘DataLocker SafeConsole’_DATASHEET
암호화 보안USB & 외장하드 중앙관리 솔루션 ‘DataLocker SafeConsole’_DATASHEET
 
인천대학교 컴퓨터공학과 아틀란티스 졸업작품 commINUty PPT
인천대학교 컴퓨터공학과 아틀란티스 졸업작품 commINUty PPT인천대학교 컴퓨터공학과 아틀란티스 졸업작품 commINUty PPT
인천대학교 컴퓨터공학과 아틀란티스 졸업작품 commINUty PPT
 
인천대학교 캡스톤디자인(2) Pencil me 프레젠테이션 발표자료 파일
인천대학교 캡스톤디자인(2) Pencil me 프레젠테이션 발표자료 파일인천대학교 캡스톤디자인(2) Pencil me 프레젠테이션 발표자료 파일
인천대학교 캡스톤디자인(2) Pencil me 프레젠테이션 발표자료 파일
 

android 개발에 도움이 되는 라이브러리 이철혁