270 likes | 457 Views
Contents. 학습목표. 이벤트를 처리하는 여러 가지 형식과 각 형식의 장단점에 대해 상세하게 연구하고 기본적인 이벤트에 대한 실습을 한다 . 사용자의 입력을 자유자재로 처리하기 위해서 반드시 습득해야 하는 중요한 기술 실습. 학습내용. 이벤트 핸들러 여러 가지 이벤트. 6.2.1 터치 입력. 화면을 누르는 터치 동작은 콜백 메서드나 리스너의 핸들러로 받는다 . boolean onTouchEvent ( MotionEvent event)
E N D
Contents 학습목표 • 이벤트를 처리하는 여러 가지 형식과 각 형식의 장단점에 대해 상세하게 연구하고 기본적인 이벤트에 대한 실습을 한다. • 사용자의 입력을 자유자재로 처리하기 위해서 반드시 습득해야 하는 중요한 기술 실습. 학습내용 • 이벤트 핸들러 • 여러 가지 이벤트
6.2.1 터치 입력 • 화면을 누르는 터치 동작은 콜백메서드나리스너의핸들러로 받는다. • booleanonTouchEvent (MotionEvent event) • booleanonTouch (View v, MotionEvent event) • 콜백메서드는 이벤트 정보만 받고 • 리스너는 이벤트 대상인 v까지 받는다. • MotionEvent.getAction : 이벤트 정보 • getX(), getY() : 터치한 좌표 전달
6.2.2. 키보드 입력 • 키보드로 문자 입력시의 동작 처리. • 키보드 이벤트는 다음 콜백매서드가 처리한다. 콜 백 : booleanonKeyDown (intkeyCode, KeyEvent event) 리스너: booleanonKey (View v, intkeyCode, KeyEvent event) • event로 키와 동작이 전달된다 • keyCode인수 : 눌러진 키 • Key Event 클래스는 키보드 이벤트에 대한 여러 가지 정보를 구하는 메서드 제공.
6.2.2. 키보드 입력 • KeyCode상수값
6.2.2. 키보드 입력 • MotionEvent.getAction : 이벤트 정보
6.2.3. 위젯의 이벤트 처리 • 위젯도뷰와 동일하지만 이벤트를 한꺼번에 처리할 수 있다. • 클릭은 눌렀다 떼는 동작을 의미한다. • 버튼은 단순한 차일드위젯으로 이미 상속을 받지 않고 이벤트를 처리할 수 있어야 한다. 그래서 클릭 이벤트에는 콜백 이벤트가 정의되어 있지 않고 리스너 이벤트로 받아야 한다. void onClick (View v)
6.2.3. 위젯의 이벤트 처리- XML 속성과 이밴트핸들러 연결
6.2.3. 위젯의 이벤트 처리- XML 속성과 이밴트핸들러 연결
6.2.4. 롱클릭 • 롱크릭: 일정한 시간동안 계속 누르고 있는 동작(마우스 오른쪽 버튼에 해당)으로 컨텍스트 메뉴 여는 용도로 활용 • void setOnLongClickListener (View.OnLongClickListener) • booleanonLongClick(View v)
6.2.5. 포커스 관리 • 키보드 이벤트는 포커스를 가진 뷰에게만 전달. • 포커스는 다음 키 입력을 받을 뷰가 누구인지를 가리키는 것을 말함. • 대부분의 운영체제는 포커스를 가진 뷰를 색다르게 표시. • 일반모드 : 모바일 환경의 심플한 디자인과 어울리지 않음. • 터치모드 : 터치 스크린 사용시는 임의의 위젯을 클릭할 수 있으므로 포커스 표시를 하지 않는다. • 터치 모드 전환은 시스템에 관리하며 응용 프로그램이 통제할 수 없다
6.2.6. 타이머 이벤트 • 이벤트는 주로 사용자, 시스템 상황 변화에 따라 발생. • 타이머 이벤트는 시계나 타이머 또는 애니메이션이나 백그라운드 감시 작업에도 적합. • 일정한 주기로 반복적인 작업을 할 때는 스레드를 쓰는 것이 원칙적이나 간단히 타이머를 이용할 수도 있다. • 주기적인 작업을 처리하는 방법.