Coding/Java 삽질기2020. 1. 23. 23:30

Android 제비뽑기 앱 만들기 (II)

간만에 마음에 여유가 생겨, 앱을 약간 수정하였습니다. ^^

결과물 
Source code:  https://github.com/chobocho/choose_one 
Play store:  https://play.google.com/store/apps/details?id=com.chobocho.chooseone 

앱의 목적 
  
2명이상의 사용자들 중 한 명을 뽑아 준다 (사다리 타기) 
  
사용 예:  커피 쏘기 
앱의 기본 동작 설계

 

앱의 요구 사항 분석 
  
앱을 실행 후 2명 이상이 화면에 손가락을 올리면, 3초 뒤에 한 명을 선택해 준다 
손가락을 올려 둔 상태에서 3초 안에 손가락을 떼거나, 추가하면 다시 3초를 센다 
손가락을 올려 둔 상태에서 3초 안에 손가락을 모두 떼면, 동작을 멈춘다 
60초 동안 아무도 손가락을 올리지 않으면 자동으로 앱이 종료 된다

  
기초 설계
 
앱의 동작을 위하여 내부적으로 IDLE, SELECTING, SELECTED 3개의 State를 가지는 State machie 을 구상하였다.
State의 변화는 아래와 같다. (편의 상 시간의 변화를 tick이란 단어로 표시했다.)

Posted by chobocho