[안드로이드 앱 개발] 가속도 센서를 활용한 수평계 앱 만들기
본문 바로가기
IT기술 및 프로그래밍

[안드로이드 앱 개발] 가속도 센서를 활용한 수평계 앱 만들기

by 리뷰하는 인간 2022. 6. 1.

[안드로이드 앱 개발] 가속도 센서를 활용한 수평계 앱 만들기

안드로이드 앱 개발을 공부할 수 없을까?
앱 개발을 한번 도전해보고 싶다.
앱 개발을 하고 싶은데 어떻게 해야 할까?
수평계앱은 어떻게 개발하는 걸까?

 

 

오늘은 제 본업인 프로그램 개발 이력을 살려 안드로이드 앱 개발에 관한 내용을 써볼까 합니다.  저는 비전 시스템 개발과 하드웨어 펌웨어 개발을 주 업으로 하고 있습니다. 앱 개발은 독학으로 조금씩 배우다가 이번에 뭔가 개발해볼 수 있는 게 없을까 싶어 스마트폰 수평계 앱을 개발하기로 했습니다.

 

사실 수평계 앱 개발 자체는 그렇게 어렵지 않습니다. 물론 완전히 초보이신 분들은 어려움을 느끼실 수 있습니다. 그래서 초보인 분들도 이해할 수 있게 소스를 풀어서 설명을 해보고 많은 분들이 할수 있다는 느낌을 받았으면 좋겠습니다. 

이 소스를 기초로 하여 더 다양한 앱에 도전할 수 있는 계기가 되었으면 합니다.

이번 포스팅은 간단히 개발에 대한 개요만을 소개하고 구체적인 내용은 다음 포스팅부터 해보기로 하겠습니다.

안드로이드 스튜디오에 관한 설치와 기초적인 내용은 생략하겠습니다. 이런 부분은 혹시 요청을 하시면 포스팅하겠습니다.

1. 수평계 앱 구성

우선 제가 구성한 디자인은 아래와 같습니다. 많은 디바이스에서 개별 테스트는 해보지 못했지만 현재까지 쓰기에는 무리가 없었습니다. 최종적으로 여러분이 제 포스팅을 끝까지 따라오시면 아래와 같은 수평계 앱을 개발하게 됩니다.

수평계 앱 전체 구성
수평계 앱 전체 구성

 앱 스토어에 나와 있는 대부분의 앱들이 위와 같은 구성을 하고 있습니다. 사실 위 이미지는 제가 직접 제작한 이미지입니다. 포토샵을 조금 할 줄 아시면 좋겠지만 할줄 몰라도 크게 상관없습니다. 굳이 자세한 설명을 하지 않아도 다 아실 것으로 생각됩니다.

수평계 위치 효과를 그래픽으로 표현했고 아래쪽에 각도를 표시했습니다. 

 

2. 수평계 앱 동작 원리

우리가 사용하고 있는 스마트 폰에는 가속도 센서라는 것이 있습니다. 수평계 앱은 이 가속도 센서에서 나오는 값을 이용하여  개발이 가능합니다. 이런 센서가 이미 스마트폰에 부착되어 있기 때문에 개발이 가능합니다. 

수평계 앱 동작원리

동작 절차는 위 그림과 같이 주기적으로 가속도 센서의 값을 읽어 들여 적절히 값을 변환하여 화면에 표시하면 됩니다. 

우선 개발 환경은 아래와 같습니다.

- 프로그램 개발 환경 : 안드로이드 스튜디오 artic fox 버전

- 프로그램 언어 : 자바

프로그램 소스 구성은 아래와 같습니다.

소스 구성은 센서를 리드하고 전체적인 이벤트를 담당하는 MainActivity 영역과 이미지 처리를 하는 View 영역으로 구분하여 구성하였습니다.

 - MainActivity : 전체 프로그램 메인 실행 및 이벤트 처리 , 센서 값 읽기 
 - View : 이미지를 처리하고 화면에 보여주는 처리

이 부분까지도 이해하지 못하신 분들을 위해 쉽게 설명을 드리면 회사에도 영업팀, 관리팀 부서가 존재하듯이 프로그램이 처리하는 영역별로 나누었다고 쉽게 생각하시면 됩니다. 

딱 맞는 것은 아니겠지만 MainActivity가 본사 관리팀이면 View가 전시 디자인팀 정도라고 보시면 될 것 같습니다. 

프로그램 코드를 작성하기에 따라서 센서 값 읽는 부분도 따로 나누어 3개의 영역으로 나눌 수도 있습니다. 이것은 개인의 자유이니 편하신 대로 하시면 됩니다. 저는 개인적으로 잘개 세분화하면 좋다고 생각합니다. 

우선은 기본적인 수평계앱의 개요는 위에서 설명한 것처럼 구성합니다. 다음 포스팅에서는 실제 코드로 들어가서 설명을 하나하나 해 나아가 보겠습니다. 위의 설명이 이해가 가지 않는 부분이 있으시면 댓글로 남겨 주세요. 

댓글과 공감은 포스팅을 지속하는 힘이 됩니다. 

댓글


TOP

TEL. 02.1234.5678 / 경기 성남시 분당구 판교역로