Submit Search
Upload
Jurano강의 lec5 android_annotations_event_binding
•
Download as PPTX, PDF
•
0 likes
•
293 views
Ju-ri Seo
Follow
JuranoSaurus Project Team. 김성근 김태희 서주리
Read less
Read more
Software
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 28
Download now
Recommended
Jurano강의 lec2. sample application 둘러보기
Jurano강의 lec2. sample application 둘러보기
Ju-ri Seo
Jurano강의 lec3 android_annotations_enhanced_components
Jurano강의 lec3 android_annotations_enhanced_components
Ju-ri Seo
Jurano강의 lec4 android_annotations_application
Jurano강의 lec4 android_annotations_application
Ju-ri Seo
Jurano강의 lec1. AndroidAnnotations 시작하기
Jurano강의 lec1. AndroidAnnotations 시작하기
Ju-ri Seo
Jurano강의 lec6 android_annotations_threading
Jurano강의 lec6 android_annotations_threading
Ju-ri Seo
Jurano강의 lec7 android_annotations_resource_injection_and_rest_api
Jurano강의 lec7 android_annotations_resource_injection_and_rest_api
Ju-ri Seo
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
Lab80
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 제출본
Lee Sang-Ho
Recommended
Jurano강의 lec2. sample application 둘러보기
Jurano강의 lec2. sample application 둘러보기
Ju-ri Seo
Jurano강의 lec3 android_annotations_enhanced_components
Jurano강의 lec3 android_annotations_enhanced_components
Ju-ri Seo
Jurano강의 lec4 android_annotations_application
Jurano강의 lec4 android_annotations_application
Ju-ri Seo
Jurano강의 lec1. AndroidAnnotations 시작하기
Jurano강의 lec1. AndroidAnnotations 시작하기
Ju-ri Seo
Jurano강의 lec6 android_annotations_threading
Jurano강의 lec6 android_annotations_threading
Ju-ri Seo
Jurano강의 lec7 android_annotations_resource_injection_and_rest_api
Jurano강의 lec7 android_annotations_resource_injection_and_rest_api
Ju-ri Seo
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
Lab80
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 제출본
Lee Sang-Ho
RAD Studio 라이브바인딩 이해하기
RAD Studio 라이브바인딩 이해하기
Devgear
한양대학교 셔틀시스템 셔틀콕 개발기
한양대학교 셔틀시스템 셔틀콕 개발기
Yunhwan Na
외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library
민태 김
모바일 앱 프로그래밍 2015-2019년 기말시험
모바일 앱 프로그래밍 2015-2019년 기말시험
Lee Sang-Ho
Android Test Recorder & Profiler 구축 이야기
Android Test Recorder & Profiler 구축 이야기
YoungSu Son
Context
Context
Lee-Jong-Chan
Working Effectively With Legacy Code - xp2005
Working Effectively With Legacy Code - xp2005
Ryan Park
React 애플리케이션 아키텍처 - 아무도 알려주지 않아서 혼자서 삽질했다.
React 애플리케이션 아키텍처 - 아무도 알려주지 않아서 혼자서 삽질했다.
병대 손
2016 3rd UX 트렌드 리포트_1부
2016 3rd UX 트렌드 리포트_1부
RightBrain inc.
JavaScript Profiling With The Chrome Developer Tools_SYS4U I&C
JavaScript Profiling With The Chrome Developer Tools_SYS4U I&C
sys4u
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
LGU+
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XpressEngine
센차 터치2 시작하기 | Devon 2012
센차 터치2 시작하기 | Devon 2012
Daum DNA
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
SangIn Choung
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
NAVER D2
DEC2010 Track C-2 실버라이트로 시작하는 윈도우폰7의 만남
DEC2010 Track C-2 실버라이트로 시작하는 윈도우폰7의 만남
Hyeon Cheol Pak
나의 첫 윈도우/맥 애플리케이션 개발하기
나의 첫 윈도우/맥 애플리케이션 개발하기
Devgear
안드로이드 개발자를 위한 스위프트
안드로이드 개발자를 위한 스위프트
병한 유
Fiddler 피들러에 대해 알아보자
Fiddler 피들러에 대해 알아보자
용진 조
빅데이터와공공정보 - 최고위과정 특강
빅데이터와공공정보 - 최고위과정 특강
JM code group
More Related Content
Similar to Jurano강의 lec5 android_annotations_event_binding
RAD Studio 라이브바인딩 이해하기
RAD Studio 라이브바인딩 이해하기
Devgear
한양대학교 셔틀시스템 셔틀콕 개발기
한양대학교 셔틀시스템 셔틀콕 개발기
Yunhwan Na
외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library
민태 김
모바일 앱 프로그래밍 2015-2019년 기말시험
모바일 앱 프로그래밍 2015-2019년 기말시험
Lee Sang-Ho
Android Test Recorder & Profiler 구축 이야기
Android Test Recorder & Profiler 구축 이야기
YoungSu Son
Context
Context
Lee-Jong-Chan
Working Effectively With Legacy Code - xp2005
Working Effectively With Legacy Code - xp2005
Ryan Park
React 애플리케이션 아키텍처 - 아무도 알려주지 않아서 혼자서 삽질했다.
React 애플리케이션 아키텍처 - 아무도 알려주지 않아서 혼자서 삽질했다.
병대 손
2016 3rd UX 트렌드 리포트_1부
2016 3rd UX 트렌드 리포트_1부
RightBrain inc.
JavaScript Profiling With The Chrome Developer Tools_SYS4U I&C
JavaScript Profiling With The Chrome Developer Tools_SYS4U I&C
sys4u
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
LGU+
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XpressEngine
센차 터치2 시작하기 | Devon 2012
센차 터치2 시작하기 | Devon 2012
Daum DNA
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
SangIn Choung
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
NAVER D2
DEC2010 Track C-2 실버라이트로 시작하는 윈도우폰7의 만남
DEC2010 Track C-2 실버라이트로 시작하는 윈도우폰7의 만남
Hyeon Cheol Pak
나의 첫 윈도우/맥 애플리케이션 개발하기
나의 첫 윈도우/맥 애플리케이션 개발하기
Devgear
안드로이드 개발자를 위한 스위프트
안드로이드 개발자를 위한 스위프트
병한 유
Fiddler 피들러에 대해 알아보자
Fiddler 피들러에 대해 알아보자
용진 조
빅데이터와공공정보 - 최고위과정 특강
빅데이터와공공정보 - 최고위과정 특강
JM code group
Similar to Jurano강의 lec5 android_annotations_event_binding
(20)
RAD Studio 라이브바인딩 이해하기
RAD Studio 라이브바인딩 이해하기
한양대학교 셔틀시스템 셔틀콕 개발기
한양대학교 셔틀시스템 셔틀콕 개발기
외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library
모바일 앱 프로그래밍 2015-2019년 기말시험
모바일 앱 프로그래밍 2015-2019년 기말시험
Android Test Recorder & Profiler 구축 이야기
Android Test Recorder & Profiler 구축 이야기
Context
Context
Working Effectively With Legacy Code - xp2005
Working Effectively With Legacy Code - xp2005
React 애플리케이션 아키텍처 - 아무도 알려주지 않아서 혼자서 삽질했다.
React 애플리케이션 아키텍처 - 아무도 알려주지 않아서 혼자서 삽질했다.
2016 3rd UX 트렌드 리포트_1부
2016 3rd UX 트렌드 리포트_1부
JavaScript Profiling With The Chrome Developer Tools_SYS4U I&C
JavaScript Profiling With The Chrome Developer Tools_SYS4U I&C
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
센차 터치2 시작하기 | Devon 2012
센차 터치2 시작하기 | Devon 2012
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
DEC2010 Track C-2 실버라이트로 시작하는 윈도우폰7의 만남
DEC2010 Track C-2 실버라이트로 시작하는 윈도우폰7의 만남
나의 첫 윈도우/맥 애플리케이션 개발하기
나의 첫 윈도우/맥 애플리케이션 개발하기
안드로이드 개발자를 위한 스위프트
안드로이드 개발자를 위한 스위프트
Fiddler 피들러에 대해 알아보자
Fiddler 피들러에 대해 알아보자
빅데이터와공공정보 - 최고위과정 특강
빅데이터와공공정보 - 최고위과정 특강
Jurano강의 lec5 android_annotations_event_binding
1.
AndroidAnnotations Event binding 작성자 –
김태희 최종 수정일: 151202
2.
Event binding 오늘 말씀드릴
Event binding은 안드로이드에서 제공하는 Event handling을 쉽고 빠르게 사용할 수 있도록 해 줍니다. 간단하게 OnClickListener와 그 친구들을 생각하시면 됩니다.
3.
Event binding 구성 @TextChange @AfterTextChange @BeforeTextChange @EditorAction @FocusChange @CheckedChange @Touch @Click @LongClick @ItemClick @ItemLongClick @ItemSelect @OptionsItem @SeekBarProgressChange @SeekBarTouchStart @SeekBarTouchStop 본 강에서는
이 중 자주 쓰이는 @Click annotation을 활용한 예제 어플리케이션을 통해 사용법을 익혀보도록 합니다.
4.
@Click 왼쪽과 같은 간단한
버튼들에 이벤트를 등록하는 코드를 생각해 봅시다. https://github.com/JuranoSaurus/EventbindingSample
5.
@Click View.OnClickListener 인터페이스를 사용해야 하죠. 구현
예시를 볼까요?
6.
@Click 버튼이 많으므로 여기서는 각각의
익명 클래스를 선언하지 않겠습니다. 이 다음 페이지에 나올 메소드가 onClick()이라는 게 유추되시죠?
7.
@Click 맞습니다. switch~case 를 통해 분기되도록
하는 일반적인 이벤트 핸들링입니다.
8.
@Click 맞습니다. switch~case 를 통해 분기되도록
하는 일반적인 이벤트 핸들링입니다.
9.
@Click 이번에는 AA가 적용된
코드를 보시죠.
10.
@Click 가장 달라지는 부분은 핸들러
메소드 하나로 해결한다는 점입니다. 게다가, 버튼에 대한 선언이 없다는 것!
11.
@Click btnFirst의 예처럼 핸들러 메소드와
리소스 ID를 매칭해줄 수 있습니다. 그런데, 그 밑에는 없네요? 어떤 규칙으로 바인드 되는거죠?
12.
@Click btnSecond는 리소스 ID와 매칭되는
것입니다. 이와 같이 메소드 이름과 리소스 ID를 같게 하여 암시적으로 바인딩할 수 있습니다.
13.
@Click 이와 같은 기능을 AA에서는 InferringIDFromMethod Name
이라고 부르고 있습니다!
14.
@ClickQ. 질문! btn_third는 뭐죠?
btnThird와는 다른데요?
15.
@Click A. 리소스 ID에는 snake_case를
주로 사용하고, 메소드 이름에는 camelCase를 주로 사용합니다. 그래서 AA는 snake_case와 camelCase 간에도 자동으로 매칭해 줍니다.
16.
@Click btnFourthClicked()는 여러분이 예상하시는 것과 같이
btn_fourth와 바인드됩니다.
17.
@Click @Click 이기 때문에 메소드
뒤에 접미사 Clicked가 붙어도 자동으로 바인드합니다.
18.
@Click 뒤에서 살펴볼 @Touch와 @LongClick도 마찬가지로 ~Touched()와 ~LongClicked()를 지원하니
참고해 두세요.
19.
@Click 그럼 여기서, btn_fourth와 btn_fourth_clicked
버튼이 있고, btnFourthClicked() 메소드가 있다면 어떤 버튼이 바인드될까요?
20.
@Click 답은, “정의되지 않으므로
그렇게 사용해서는 안 된다” 입니다. 실제로 바인드되는것은 btn_fourth이지만 이는 예측할 수 없는 결과입니다.
21.
@Click 만능이 아니라는 것에
실망하셨나요? 하지만 명시적인 표현을 사용하는 습관을 가지도록 합시다 ^_^
22.
@Click 다음은 클릭된 View를
인자로 받아오는 방법입니다. Button의 상위 클래스인 View로 전달이 되니 버튼으로 사용하려면 캐스팅이 필요합니다.
23.
@Click 버튼이 많을 때,
핸들러를 매 ID마다 선언해야 한다면 너무 복잡해질 수 있습니다. 이럴 때, Annotation에 그룹으로 리소스 ID를 여러 개 전달할 수 있습니다. Annotation에서는 집합을 {중괄호}로 묶어야 한다는 점 기억하세요!
24.
@Click AA 51라인원본 74라인
25.
@Click Generate된 부분을 보시죠.
26.
@Click 우리가 작성한 AAClickSampleActivity.java가 다음과 같이
자동 생성된 모습입니다. 왜 판별하기 모호한 이름을 사용하면 안되는지 추측해볼 수 있는 코드입니다. 익숙한 코드죠?
27.
@More 즐거우셨나요? ^_^ 제공된 예제
어플리케이션을 통해 다른 annotation의 활용 예시를 만나보실 수 있습니다! https://github.com/JuranoSaurus/EventbindingSample 다음 편에는 Threading에 관련된 annotation들을 다루도록 하겠습니다.
28.
Thank you
Download now