Android

안드로이드 예제 - 날짜/시간 예약 앱 만들기

로픽 2016. 9. 7. 21:32
300x250

날짜/시간 예약 앱 만들기

 

시간 및 날짜와 관련된 위젯(TimePicker, CalendarView)을 이용해서 

몇가지 기능을 하는 날짜/시간 앱을 만들어 보았습니다.

 

- 타이머 기능 : <예약시작>과 <예약완료>를 클릭하면 크로노미터가 타이머로 동작

 

- 날짜/시간 설정 : <날짜 설정>과 <시간 설정>을 클릭하면 예약할 날짜와 시작을 변경

 

- <예약 완료>를 클릭하면 설정한 날짜와 시간이 결정


*** 결과 ****

 


*** activity_main.xml

 

화면에 보이는 레이아웃과 위젯의 구성을 보여주는 xml은 4개로 구분을 할 수 있습니다.

 

 

첫번째결과 상단에서 볼 수 있는 '예약에 걸린 시간'과 '예약 시작'버튼입니다.

 

크로노미터 위젯과 버튼 위젯으로 구성되어 있으며

 

크로노미터 위젯의 시간은 format속성을 이용하여 설정할 수 있습니다.

 

 

두번째라디오그룹입니다.

 

둘 중에 하나를 선택하여 화면의 표시하는 앱이라서 라디오 버튼을 그룹으로 묶어 구성하였습니다.

 

여기서 주의하실 점은 레이아웃과 위젯의 폭과 넓이 설정을 꼭 하셔야 앱 실행이 가능합니다.

 

 

 

세번째프레임레이아웃입니다.

 

리니어레이아웃 내부에 캘린더뷰와 타임피커를 같이 두기 위해서 프레임레이아웃을 만들었습니다.

 

리니어레이아웃 내부에 weight 속성을 이용한 이유는 남은 영역을 모두 채우기 위해서 입니다.

 

 

네번째 <예약완료>버튼과 '예약완료시간'입니다.

 

가로로 배치가 되어 orientation 속성을 horizontal로 하였습니다.

 

그리고 버튼위젯을 생성하고 TextView 약 10개를 생성합니다.(위에는 일부 생략하여 캡처하였습니다.)

 

00 년 00 월 00 일 00 시 00 분예약됨  => 이런식으로 구성하기 위해서 10개의 TextView를 생성합니다.

 

300x250

*** MainActivity.java

 

xml에서 설정한 위젯을 자바코딩으로 불러오고, 이벤트효과를 부여하였습니다.

 

이번에는 3부분으로 구성되어있습니다.

 

 

 

첫번째 

 

findViewById 메소드를 이용하여 xml에 작성되어 있는 위젯을 자바코딩으로 가져옵니다.

 

그 후 CalendarView와 TimePicker를 setVisibility()메소드를 속성을 통해서 보이지 않게 만듭니다.

(라디오 버튼을 누르면 나타나게 만들기 위해서 보이지 않게 만듭니다.)

 

 

 

두번째

 

라디오 버튼에 클릭리스너를 부여하여 날짜 설정을 누르면 달력이 나오고,

 

시간 설정을 누르면 시간이 나오도록 만들었습니다.(setVisibility() 이용)

 

 

세번째

 

<예약시작>, <예약완료> 버튼에 대한 클릭리스너 설정입니다.

 

btnStart 예약시작을 누르면 setBase()를 통해서 예약시간을 초기화한 후

start()메소드를 통해서 chronometer를 실행 시킵니다.

시작하면 바로 텍스트의 색을 빨강으로 바꿉니다.

 

btnEnd 예약완료를 누르면 stop()를 통해서 예약시간 타이머를 정지시킨 후 

텍스트의 색을 파랑으로 바꿉니다.

 

그리고 추가로 예약완료시간 표시를 위해서 Calendar클래스를 선언하여 타이머의 시간을 받아서 

Integer.toString을 통해서 숫자를 문자로 변경하고 각 위젯의 시간을 설정을 변경합니다.


** 소스코드 

activity_main.xml
다운로드
MainActivity.java
다운로드

 

 

도움되셨다면 공감 꾹! 눌러주세요~

반응형