설.현.아빠
Chapter 5 ] 입력 (5-1 Event Handler) 이벤트 처리의 다양성. ① 콜백 메서드 재정의 본문
Chapter 5 ] 입력 (5-1 Event Handler) 이벤트 처리의 다양성. ① 콜백 메서드 재정의
설.현.아빠 2011. 3. 9. 10:04
으미...자바는 머 이리 처리하는 방식이 다양한지...이런형식 저런형식 때문에 갈피를 못잡겠다..
이번 공부를 통해서 확실히 개념을 잡고 넘어가자.
이벤트를 처리하는 6가지--;; 방법들 중 첫번째 방법!!
① 콜백 메서드 재정의
onKeyDown으로는 눌려진 키의 정보를 알 수 있고!!! onTouchEvent로는 눌려진 좌표값을 알 수 있단다..
그래서 Toast로 좌표값을 출력해봤다.
여기서 중요한점!! Log를 찍어서 X, Y값을 찍어보면 알겠지만 한번 터치 할때마다 onTouchEvent는 여러번 발생한다.
하지만 ACTION_DOWN은 한번만 일어난다. 해당 소스를 동작시키고 화면을 장시간 터치할 경우 onTouchEvent는 계속 호출 됨을 알 수 있다.
View클래스로 부터 파생된 MyView클래스...왜?? View클래스의 onTouchEvent를 직접 수정하진 못하니까 extends 시켜서 수정하는거다.
또한 super.onTouchEvent(event); 꽤나 많이 보는 구문이다. 왜?? 부모에게 처리 기회를 먼저 제공하는것이 보편적!! 이라서....
난 주석처리 해봤지. 동일하게 동작한다. 머 자식된 도리라니 걍 하자!!
제목에서 알려주듯이 콜백 메서드 재정의!!! 라는걸 다시한번 생각해보자! 즉 여기서 말하는 콜백 메서드는 View클래스의 onTouchEvent를
콜백 메서드라고 한다. 이를 extends받아서 수정하니까 콜백 메서드 재정의!! 표현이 고급스럽네^^
콜백 메서드를 재정의 하는것에 단점은..반드시 슈퍼 클래스(여기서는 View클래스가 되지.)를 Extends받아야 한다는것이다.
머 그냥 상속 받으면 되지 머가 문젠가 하지만..View는 여러 가지 이유로 재정의를 하므로 별 문제가 안되지만 재정의가 필요없는
Button이나 TextView같은 경우엔 번거롭다는 것이다. 그냥 바로 Button의 메소드를 수정하지 못하고, MyButton extends Button과 같이
한번의 과정을 더 거쳐서 재 정의 해야하는 번거로움!!??
다른 한가지 단점!!! 요게요게 중요한데. 모든 콜백 메소드를 제공하진 않는다는 것이다.
머여...그니까 간단한 터치나 키눌림이나 Long Press~~같은 이벤트는 콜백 메서드로 재정의를 할 수 있지만 머...드래그...진동 센서..조도 센서
등의 이벤트는 콜백 메서드 재정의를 못해서.....① 콜백 메서드 재정의는 일반적인 이벤트 처리 방법이 되지는 못한단다.
그냥 머 내가 볼땐 사용하기 편하고 간단한거 같은데?? 나머지 5가지 방법을 알아봐야겠다. 더 편한 방법이 있으면...이건 버려!^^
'교재 & 강좌 > 안드로이드 프로그래밍 정복' 카테고리의 다른 글
Chapter 5 ] 입력 (5-1 Event Handler) 이벤트 처리의 다양성. ③ 액티비티가 리스너 구현 (0) | 2011.03.09 |
---|---|
Chapter 5 ] 입력 (5-1 Event Handler) 이벤트 처리의 다양성. ② 리스너 인터페이스 구현 (1) | 2011.03.09 |
Chapter 4 ] 출력 (4-3 그외의 출력) Custom Toast 띄우기. (0) | 2011.03.08 |
Chapter 4 ] 출력 (4-2 그리기 객체) 외부 폰트 적용하기. (0) | 2011.03.08 |
Chapter 3] Layout (3-4 레이아웃 관리) 코드에서 레이아웃 전개하는 여러가지 방법들 (1) | 2011.03.08 |