카테고리 보관물: 자작 앱 소개

Takt Time Calculator

제작동기

단순하고 반복적인 일을 할 때 한 단위 별로 시간이 얼마나 소요되는지 알아야 할 경우가 있습니다. 이럴 때 소요된 시간의 평균 시간을 알 수 있는 앱을 개발했습니다. 기본적으로 시작, 종료, 멈춤 기능이 있었습니다. 시작과 종료를 반복하면 시작/끝 시간을 누적하고 집계해서 평균시간을 표시하도록 제작되었습니다. 초 단위로 측정을 하게 되어 있어 간단하게 사용할 수 있는데 천분의 일초까지는 측정이 되지는 않았습니다. 기존의 앱은 정밀한 측정이 필요없을 때 사용할 수 있도록 그대로 두었습니다. 더 정확한 시간 측정을 할 수 있는 Takt Time Calculator 앱을 개발하게되었습니다. Takt Time이 앱의 기능과 가장 근접한 정의라고 생각되었습니다. 그래서 앱 이름 일부로 사용하게 되었습니다.

제작과정

이전에 개발했던 앱에서 측정되는 시간의 정밀도만 높이면 될 것이라고 생각했습니다. 시간을 측정할 때 Chronometer 클래스를 사용했는데 초단위까지만 지원한다는 것을 알게 되었습니다. 그렇다면 다른 클래스를 사용해야 할 것 같은데 마땅히 사용할 것이 없었습니다.

검색을 하다보니 필자와 같은 고민을 하는 사람들이 있다는 것을 알게 되었습니다. 친절하게도 Chronometer 클래스를 상속해서 천분의 일초까지 사용할 수 있게한 클래스들이 공개되어 있었습니다. 필자가 참조한 클래스는 다음 주소에서 확인하실 수 있습니다.

https://github.com/antoniom/Millisecond-Chronometer

공개된 클래스를 참조해서 천분의 일초까지 기록할 수 있도록 앱을 수정했습니다. 천분의 일초까지 표시하려고 하니 화면상의 위치를 조정하는 부분이 생각보다 어려웠습니다. 기존에 사용하던 LinearLayout, RelativeLayout 등을 사용하지 않았습니다. 그대신 ConstraintLayout 로 화면을 구성해서 조금 더 시간이 소요 되었습니다.

Takt Time Calculator 실행 화면

Takt Time Calculator 실행 화면

완성된 앱은 다음 주소에서 확인해 보실 수 있습니다.

https://play.google.com/store/apps/details?id=jaeyoung.kim.takttimecalculator.free

단어장 앱

단어장 앱 을 소개하도록 하겠습니다.

제작동기

지인이 시험을 준비하는데 어떤 단어나 문구를 보면 떠올라야 하는 사항을 정리하여 활용할 수 있는 앱을 제작할 수 있는지 문의하였습니다. 여러가지 단어장 앱이 있는데 원하는 기능은 아니어서 자신에게 맞는 앱을 의뢰한 것 이었습니다. 구체적인 사항을 들어보니 외국어 공부할 때도 잘 사용할 수 있을 것 같아 제작을 하게 되었습니다.

제작과정

이전에 작업하였던 어플과 비슷한 형태로 작업을 진행하였고 배경을 검은색 바탕이 되도록 하였습니다. 단어장 앱 이라면 많은 시간을 보게되는데 가급적 배터리 소모를 적게 하고자 그렇게 하였습니다.

처음에 단어장을 등록하고 공부에 사용할 대상을 등록하는 기능을 작업하였습니다. 지인이 요청했던 부분과 본인이 외국어를 공부하면서 단어를 외울 때 필요했던 기능과 항목을 합쳐서 작업하였습니다. 항목이 나타나는 방식과 순서를 지정할 수 있도록 하였습니다. 항목이 나타났을 때 다음 항목으로 자동으로 이동할 지 수동으로 이동할 지의 여부도 추가하였습니다. 그리고 단어의 뜻이 나타나기 전 지연시간을 주어 머리속으로 떠올릴 수 있는 시간을 확보할 수 있도록 하였습니다.

단어장 등록 화면

단어장 등록 화면

기본적인 단어장 정보를 등록하고 공부 대상이 되는 항목을 입력하는 기능을 작업하였습니다. 하나씩 입력하는 기능도 추가하였고 PC에서 정리하여 많은 양의 자료를 등록할 수 있는 기능도 추가하였습니다. 여기에서 문제가 있었는데 많은양의 자료를 등록하니 앱이 종료되는 현상이 발생하였습니다. 테스트에 사용한 휴대전화가 오래된 기종이라서 그런것이 아닌가하는 생각이 들었습니다. 그래서 입력할 수 있는 자료의 개수를 제한하였습니다.

대상 항목 대량 등록화면

대상 항목 대량 등록화면

그 다음으로 등록된 항목을 사용자의 설정에 따라 보여주는 부분을 작업하였습니다. 자동으로 항목을 보여주고 전환하는 부분이 약간 어려웠습니다. 여기에 화면 터치나 Swipe 동작으로 다음 항목을 나타나게 하는 부분도 편의를 위해 추가하였습니다. 암기 버튼을 터치하면 나타나지 않도록 하였고 수동 전환 모드인 경우 자동으로 전환할 수 있는 버튼, 원하는 위치로 바로 이동할 수 있는 기능도 추가하였습니다.

대상항목 표시화면

대상항목 표시화면

자동화면에서는 사용자가 별도로 조작하지 않아도 항목과 뜻이 설정된 시간에 따라 나타나도록 하였습니다.

자동으로 설정된 경우의 화면

자동으로 설정된 경우의 화면

외운 항목을 테스트 할 수 있도록 퀴즈 기능을 추가하였습니다. 등록된 항목에서 무작위로 선택하고 보기를 5개 제시하여 선택할 수 있도록 하였습니다. 퀴즈 종료 후 정답, 오답 통계를 제공하도록 하였습니다.

퀴즈 시작 화면

퀴즈 시작 화면

퀴즈 진행 화면

퀴즈 진행 화면

퀴즈 종료 화면

퀴즈 종료 화면

퀴즈 종료화면에서는 오답 항목을 다시 암기할 대상으로 전환할 수 있는 기능을 추가하여 반복하여 외울 수 있도록 하였습니다.

관리 항목을 암기, 미암기, 삭제, 내보내기 기능을 제공하는 화면을 추가하여 사용자가 관리할 수 있도록 하였습니다.

다음 주소에서 확인해 보실 수 있습니다.

https://play.google.com/store/apps/details?id=jaeyoung.kim.memorizationhelper.free