슬기로운 개발자생활/Native APP

[APP 개발] 안드로이드 스튜디오 사용자 이벤트 처리 (종료, 좌우스크롤)

개발자 소신 2020. 1. 8. 22:07
반응형

 

 

 

사용자 이벤트 모델

 

델리게이션 이벤트 모델 - 뷰 즉, 객체가 클릭되었을 때, 변경되었을 때 등등 처리하기 위한 모델

하이어라키 이벤트 모델 - 어플이 켜져있을 때 사용자 입력을 처리하는 모델

 

 

1. 델리게이션 이벤트 모델

 

뷰.setOn( XXX )Listener(이벤트 함수)

 

어플을 만들다보면 사용자가 클릭했을때

이벤트를 처리해야 하는 경우가 많이 생기는데요

그럴 때 뷰에다가.setOnXXXListener를 줘서 이벤트를 처리하는 방식입니다.

 

.setOnClickListener()

.setOnLongClickListener()

.setOnCheckedChangeListener()

.setOnItemClickListener()

.setOnDateSetListener()

.setOnTimeSetListener()

 

 

 

이런식으로 직접 객체별로 이벤트 처리를 해줄수도 있고

 

 

 

클래스에 onClick 메서드를 만든뒤

 

 

이런식으로 연결하여 사용할 수도 있습니다.

 

이 함수를 사용할 때 중요한 건

 

 

클래스에 OnClickListener를 Implements 해줘야 한다는 겁니다.

 

체크박스같은 CompoundButton들도

 

 

이런 형식으로 사용해주는데

클래스에 implements CompoundButton.OnCheckedChangeListener를 해줘야합니다.

 

2. 하이어라키 이벤트 모델

뒤로가기 버튼을 한번 누르면 정말 종료하시겠습니까? 라는 토스트 문구가 뜨고

두 번 누르면 종료되는 기능을 많이 보셨을텐데요

 

하이어라키 이벤트 모델에는

터치 이벤트, 키 이벤트가 있습니다.

 

왼쪽으로 밀었을 때, 오른쪽으로 밀었을 때를 판단하는 함수와

종료를 하는 기능을 만들어보겠습니다.

 

왼쪽으로 밀었을 때, 오른쪽으로 밀었을 때 판단 함수

 

 

 

처음 화면이 눌렸을 때 x 포지션을 저장하고, 뗐을 때 포지션의 차이를 통해

왼쪽으로 밀었는지, 오른쪽으로 밀었는지 확인하는 함수입니다.

 

 

MainActivity.java
0.00MB

 

코드를 파일로 첨부해놓았으니 스튜디오에 넣어서 사용하시면 됩니다.

 

뒤로가기 두 번 눌렸을 시 종료 기능

 

 

 

MainActivity.java의 onCreate 바깥에 작성한 코드입니다.

 

 

MainActivity.java
0.00MB

 

 

코드 파일로 첨부해놓았으니 안드로이드 스튜디오에 넣어서 사용하시면 됩니다.

 

토스트로 보여주는 걸 함수로 만들어서 다른데서도 중복 사용할 수 있게 했습니다.

showToast(보여줄 문장); 하면 토스트를 띄워줍니다.

 

활용하기 나름이지만 자주 사용하는건 그때그때 만들어서 사용하기보다

제 경험상 이렇게 만들어놓고 복사+붙여넣기 하는게 편하기 때문에 ㅋㅋㅋ

 

이 부분은 정말 중요한 부분이니까 반복해서 숙달하는게

어플 만들 때 생산성을 정말 많이 높여 줄 수 있습니다 !!!

 

 

반응형