Supin Kim

Supin Kim

Developer

© 2021

Dark Mode

개발일지 2

<"아친-mbti로 아이돌 친구 찾기" 개발일지2>

지난 개발일지에서는 아친을 만들게 된 배경에 대해 작성하였고,
이번 개발일지에서는 이 프로젝트에서 내가 맡은 역할과 앱의 구성에 대해서 이야기 하려고 한다.

물론 앱 구성 시 고려했던 부분에 대한 언급과 코드 리뷰도 간간이 할 예정이다. 일단 이 프로젝트의 참여 인원은 2명이고, (나랑 내 동기)
기획/디자인/개발 총 3개의 파트로 나눠서 보자면 기획은 함께 했고, 디자인은,,, 일단 GUI 디자이너가 없었기 때문에 디자인 작업할 것도 없었지만...
(할 수도 없었지만, 앱 로고는 함께 개발한 친구가 포토샵 실력을 뽐내며 만들어줌.) 여하튼 내가 uxui 디자이너로서 화면 구성만 간단하게 잡았다.
(너무 간단한 앱이고 개발에 초점을 두었기 때문에 따로 ui 시나리오는 따로 작성하지 않았다.개발 인원만 많았어도 정석대로 했겠지만, 어차피 목표는 배포였으므로,,,^____^)
그리고 java를 사용해서 모든 동작 코드를 작성했고, 화면 레이아웃은 xml 파일에서 작업했다. 개발 환경은 당연하게 안드로이드 스튜디오에서 작업했다.

정리하자면,
아친 프로젝트 참여 인원 : 2명
본인 참여 part : 기획 / ui 디자인 / 모바일 개발 (굳이 여기서 프론트와 백을 구분하자면, 전적으로 프론트!)
개발 환경 : 안드로이드 스튜디오
사용 언어 : java
(다음번에 모바일 개발을 또 한다면 코틀린을 배워서 해보고 싶은데 학교 다닐 때 코틀린 써 본 적이 없어서 너무 오래 걸릴까봐 걱정이 앞서지만 그런 걱정 따위 🐶나 줘버려 ㅎㅎ)
지난번 개발일지에서 언급한대로 사용자 입장에서 이 앱은 총 4개의 화면으로 구성되어 있지만,
실제 class 파일은 11개가 있고, 8개의 xml 파일이 있다. (xml 왜 8개인지 누구 아시는 분?)

첫 번째 페이지

첫 번째 페이지에는 별 거 없다. 그냥 앱 이름과 로고, 버튼을 노출하고 있다.

BackPressCloseHandler class를 이용하여 첫 번째로 안드로이드 back 버튼 선택 시,
종료 안내 토스트 팝업 창을 띄우고 다시 한 번 back 버튼 선택 시 앱이 종료되도록 코드를 작성했다.

처음에 앱 종료할 때 아무 생각 안 하고 종료 팝업 띄우려다가 요즘 어떤 앱이 그런 식의 ui를 짜나 싶은 생각이 문득 들어 요즘 내가 쓰는 안드로이드 앱들을
일일이 켜서 다 확인해보니 모두 첫 번째 토스트 팝업, 두 번쨰 종료하는 Flow로 되어 있어서 하마터면 의식의 흐름대로 촌스러운 앱 플로우를 짤 뻔했다.

앱 개발 당시에는 좋은 오픈 소스가 있으면 무조건 다 갖다 쓰는 게 미덕이라고 생각했는데
최근에 개발 관련 영상을 보다 보니 좋은 오픈 소스를 잘 가져다 쓰는 것도 좋지만 개발 실력을 높이려면 내가 직접 좀 시간이 걸리더라도 직접 짜는 게 좋을 것 같아서 다음 프로젝트는 좀 고생을 하더라도 내가 직접 짜려고 한다.

여튼 나는 BackPressCloseHandler.java 파일을 따로 작성해두고 필요한 activity(화면)에서 사용할 수 있도록 각 class마다 BackPressCloseHandler 객체를 생성해서 사용했다. 그리고 각 activity에서 private BackPressCloseHandler bpc = new BackpressCloseHandler()와 같이 객체 생성 후,
onBackPressed()를 오버라이드해서 bpc.onBakPressed():와 같이 사용해주면 끝!


다음 개발일지에서는 Recyclerview를 이용해 카드뷰를 만들고 싶어 고군분투 했던 이야기를 하도록 하겠다. ^___^