취소

커뮤니티

가이드

서포트

전체

 

퍼갈 때에는 반드시 저작자의 허락과 저작자의 이름(아이디)를 기록하어야 합니다.

저작자는 Snails(tjdtnsu)입니다.

제발 덧글 좀 적어주세요. 강의 적는 시간은 1시간이지만 덧글은 1분도 걸리지 않습니다.

참고 : 이 강좌는 초보자를 위한 Eclipse를 사용하였습니다.

올리는 곳 : 제 네이버 블로그, 디벨로이드 카페, App Development 카페, 프그머 카페

 



학습목표 : 이벤트를 처리하는 방법에 대해 알 수 있다.

난이도 : ★★★★★★ 

 

 

대단원 5입니다.

벌써 이렇게 난이도가 높아져 가네요

7월 28일부터 8월 5일까지는 매일 적을 듯합니다.

6단원은 대화상자를 할 계획입니다.

이 강좌의 목표는 유틸도 만들지만 저는 게임 만들기입니다.

이번 해까지는 강좌 다 적지 못할 듯합니다.

 

 

오늘부터는 이벤트 핸들러 입니다.

이 단원은 이론을 집중적으로 하겠습니다.

 

 

모바일 장비도 역시 gui를 채택해 스크린을 최대한 활용합니다. gui는 사용하기에 편하지만 개발하기에는 좀 더 힘듭니다.

이벤트는 그냥 절차 동작이 아니라 이벤트 상황에 맞춰 각각 작성해야 하므로 어렵고

그런 기술이 필요합니다.

 

이벤트를 처리하는 방법에는 6가지가 있는데이 글을 읽기 전 자바가 되지 않는다면 문법책에 다가가 주세요.

순서대로 3개씩 2강으로 나눠 하겠습니다.

예제는 따로 적겠습니다.

 

 

1. 콜백 메서드를 재정의한다

 

이벤트를 받는 가장 쉬운 방법은 해당 클래스를 상속받아 콜백 메서드를 재정의하는 겁니다.

이벤트 콜백은 주로 뷰가 제공합니다.

특정 이벤트가 발생한 시점을 정확하게 가르채고 상세한 정보까지 얻을 수 있다.

 

boolean onTouchEvent (MotionEvent event) : 화면을 터치할 때

boolean onKeyDown (int keyCode, keyEvent event) : 키를 누를 때

boolean onKeyUp (int keyCode, keyEvent event) : 키를 땔 대

boolean onTrackballEvent (MotionEvent event) : 트랙볼을 굴릴 때

 

Tip. 콜백 메서드 : 특정 이벤트가 발생했을 때 시스템에 의해 자동으로 호출되는 메서드로 이벤트 발생시 동작을 정의할 수 있다

 

 

 

2. 리스터 인터페이스 구현

 

이벤트 발생 여부에 귀를 기울이고 있는 객체이다.

View 클래스의 안의 인터페이스로 정의되어 있고 이벤트를 받는 하나의 메서드만 정의되고 있다.

 

void setOnTouchListener (View.OnTouchListener 1)

void setOnKeyListener(View.OnKeyListener 1)

void setOnClickListener(View.OnClickListener 1)

void setOnFocusChangeListener(View.OnFocusChangeListener 1)

 

Tip. 리스너 : 특정 이벤트를 처리하는 인터페이스

 

 

 

3. 액티비티가 리스너 구현

 

안드로이드 프로젝트에는 최소한 액티비티 하나는 존재해서 액티비티가 리스너 인터페이스를 구현하는 것도 가능하다.

액티비티는 Activity 클래스를 상속 받지만 더 상속받는 것도 가능하다.

액티비티가 리스너를 직접 구현한다.

 

public class A extends Activity implements View.OnTouchListener{

 public void onCreate(Budle savedInstanceState){

super.onCreate(savedInstanceState);

View vm=new View(this);

vw.setOnTouchListener(this);

setContentView(vw);

}

 

public boolen onTouch(View v, MotionEvent event){

.....

 }