안드로이드 스튜디오

2.9 안드로이드 스튜디오 AnalogClock 코딩 예제

coding art 2020. 2. 18. 14:27
728x90

컴퓨터 코딩 과정에서 아날로그 형 시계 코드 작성은 대단히 흥미로운 분야이다. 위 그림 왼쪽으로부터 안드로이드 스튜디오, 아두이노+HTML, 앱인벤터로 코딩한 결과물이며 모두 다 스마트 폰에 올릴 수 있는 모델들이다. 아무래도 코딩의 재미는 아두이노를 배울 때 일 듯하다. 마찬가지로 안드로이드 스튜디오에서도 아날로그 시계 코딩이 가능하다. 단지 analogclock 의 그래픽 처리를 지원할 수 있도록 앱인벤터에서처럼 canvas 그래픽을 사용하였다. 반면에 아두이노 HTML에서는 SVG 그래픽을 사용하였다.

 

아두이노 NodeMCU 웹서버가 그려주는 HTML+SVG 아날로그 시계 출력예제 I

http://blog.daum.net/ejleep1/331

아날로그 시계 앱인벤터 코딩

http://blog.daum.net/ejleep1/556

 

안드로이드 스튜디오에서 canvas 그래픽을 위해서 별도로 java Class ClockView를 생성하고 layout을 담당하는 activity_main.xml에서 참조하는 구조이다.


ClockView를 생성하는 과정은위와 같이 com.example.canvasclock에서 마우스 오른쪽 버튼에 의해 NewJava Class를 클릭하여 창이 나오면 Name View를 다음과 같이 입력 처리여 ClockView.java를 생성하자. 한편 아두이노 HTML 코딩의 SVG그래픽을 배울 때에는 일일이 명령을 학습하였으나 앱인벤터나 안드로이드 스튜디오용 자바와 같이 여러 언어를 사용하는 경우라면 블로그 끝에 첨부한 오픈소스를 열어서 복사 붙여넣기 하는 것도 방법이다.


ClockView ClASS를 붙여 넣기 완성하였을 때 폴더 구조는 다음과 같으며 특히 reslayout activity_main.xml 은 다소 수정이 필요하다.


일단 clockcanvas 라는 파일명으로 안드로이드 스튜디오 프로젝트를 열었으면 기본적으로 MainActivity.java activity_main.xml 파일이 생성되어 있다. activity_main.xml에서 기존의 레이아웃을 삭제하고 첨부파일의 RelativeLayout을 복사 붙여 넣기 하도록 한다.


디자인 뷰는 다음과 같다.



첨부된 코드를 다운받아 압축을 해제하여 사용하도록 하자.


canvasclock.zip























































canvasclock.zip
0.13MB