이벤트 플래너 개발 일지



앱 정보


  • 이름: 이벤트 플래너 (Event Planner)

  • 개발자: 정윤성 (Yoonsung, Jeong)

  • 최초 릴리즈 개발 기간: 26일 (2018.02.13 ~ 2018.03.22 기간 중)

  • 개발 목적: 이벤트 참여 기록 기입 및 당첨 기록 확인

  • 현재 버전: 0.0.2v

  • 적용 기기: 갤럭시노트8, Android 7.1.1v

  • 컨텐츠 작성 가능 기간: 2000~2099년



개발 일지 (2018.02.13 ~ 2018.03.26)


  • 2018.02.13
    • 앱 아이콘 추가
    • 첫 로딩 스플래시 이미지 추가
    • 인터넷, 외장 메모리 사용 권한 추가
    • 메인 상단 타이틀 이미지 구성
    • 메인 상, 하단 버튼 이미지 구성

  • 2018.02.14
    • 메인 상단 카테고리 스와이프 뷰페이저 구성

  • 2018.02.15
    • 메인 상단 카테고리 빈 화면 프래그먼트 구성
    • 메인 상단 타이틀 이미지 및 하단 버튼 크기, 앱 아이콘 수정
    • 설정 탭 버튼 이미지 추가

  • 2018.02.16
    • 설정 탭 앱 버전 토스트 메시지 추가

  • 2018.02.17
    • 설정 탭 푸시 알람 On/Off 버튼 색 수정 및 토스트 메시지 추가
    • 설정 탭 On/Off 버튼 탭 이동 시 색 자동 변화 방지 추가

  • 2018.02.18
    • 설정 탭 이벤트 기록, 당첨 기록 정렬 버튼 클릭 시 색 수정 추가
    • 참여 이벤트 탭 이벤트 목록 커스텀 리스트뷰 그림 추가

  • 2018.02.19
    • 참여 이벤트 탭 이벤트 추가 커스텀 다이얼로그 레이아웃 구성
    • 메인 탭 추가 버튼 커스텀 다이얼로그 연동 및 레이아웃 수정
    • 비밀번호 설정 창 레이아웃 구성

  • 2018.02.21
    • SQLiteDatabase 시스템 구축
    • 프래그먼트 리스트뷰 구상

  • 2018.02.22
    • 프래그먼트 커스텀 리스트뷰 구현
    • 앱 아이콘 변경
    • 스플래시 이미지 아이콘 변경
    • 메인 상단 타이틀바 이미지 변경
    • 이벤트 목록 커스텀 리스트뷰 이미지 변경
    • 이벤트 목록 커스텀 리스트뷰 글자 수 표시 제한 추가
    • 이벤트 추가 다이얼로그 내용 일부 변경

  • 2018.02.23
    • 이벤트 추가 다이얼로그 내용 입력 연동
    • 이벤트 추가 다이얼로그 EditText 최대 글자 수 제한
    • DB 이벤트, 시스템 정보 테이블 구성

  • 2018.02.25
    • DB 이벤트 추가, 조회 정보 구성
    • 이벤트 목록 - 비어있는 DB 화면 구성

  • 2018.02.26
    • 스플래시 화면 비밀번호 연동 구상
    • 이벤트 목록 - AddDialog 데이터베이스 데이터 추가 연동
    • 이벤트 목록 초기화 실험 완료

  • 2018.02.27
    • 스플래시 화면 DB 비밀번호 연동
    • 애플리케이션 전체 레이아웃 색상 변경
    • 당첨기록 정렬 가나다 모드 이미지 추가

  • 2018.02.28
    • 리스트뷰 이벤트 확인 다이얼로그 구성 및 테스트

  • 2018.03.06
    • 리스트뷰 버튼 이벤트 클릭 리스너 추가

  • 2018.03.08
    • 애플리케이션 전체 레이아웃 색상 변경

  • 2018.03.09
    • 메인 Tab Indicator 높이 변경

  • 2018.03.11
    • 데이터-확인 다이얼로그 간 연동
    • 리스트뷰 구분선 제거 및 형태 변환
    • 외장메모리 권한 삭제
    • 웹뷰 기능 추가
    • 클립보드 이용 링크 복사 기능 추가

  • 2018.03.12
    • 히스토리 리스트뷰 구성
    • 확인 다이얼로그 당첨/미당첨 여부 AlertDialog 추가
    • 확인 다이얼로그 당첨 확인시 DB 연동 추가 및 기존 기록 삭제

  • 2018.03.13
    • 히스토리 리스트뷰 - 경품 실 금액 천 단위 구분 추가
    • 설정 관련 DB - 기록, 추가 부분 연동
    • 당첨기록-DB 및 이벤트 기록 간 모든 연동 추가
    • 이벤트 기록, 당첨 기록 전체 초기화 기능 추가

  • 2018.03.14
    • 이벤트 기록 정렬 기능 연동
    • 당첨 기록 정렬 기능 연동
    • AlertDialog 연동 장치 크기 변경
    • 당첨 기록 경품 순 판매 이익 부분 증감 기능 추가
    • 앱 버전 개발자모드 - 전체 내용 초기화 기능 추가

  • 2018.03.18
    • 웹뷰 중 기능 추가
    • 앱 진동, 잠금화면 깨우기 권한 추가

  • 2018.03.19
    • 시간별 앱 푸시 기능 추가

  • 2018.03.21
    • 푸시 기능 버전 다운그레이드 (8.0 → 7.1.1)
    • Settings 푸시 설정 DB 연동
    • 앱 개발 히스토리 화면 추가

  • 2018.03.22
    • 앱 개발 히스토리 최종 수정 - 스크롤뷰 적용
    • 이벤트 기록 삭제 시 동일 이름 중복 삭제 오류 수정
    • 이벤트 플래너 0.0.1v 릴리즈

  • 2018.03.26
    • 앱 푸시 알림 시간 조정 (15시 → 10시)
    • 앱 0.0.2v 업데이트 수정사항 적용 후 릴리즈



앱 개발간 느낀 점


처음 이벤트 플래너 형태를 어느 정도 구성하고 보니 생각보다 앱에 적용할 내용이 너무나도 많았다.

안드로이드는 학교에서 3개월 정도 배웠고, 앱을 만들려고 시도했을 때는 이미 마지막으로 배운지 3개월 정도가 지난 후이기도 했기 때문에 대부분의 내용은 잘 알지도 못하는 상황이었다. 그 상태에서 무턱대고 앱을 개발하려고 하다보니 의욕은 앞섰지만 할 수 있는 것이 많이 없었다.

모르는 내용들은 책을 참고하기도 하고 다른 사람들이 내가 필요한 부분들을 어떻게 구현하고 있는지 보면서 개발을 하긴 했는데 어떻게 보면 확신없이 이것저것 끼워 맞춰서 했다고 해도 할 말이 없다.

예전에 학교에서 애플리케이션 프로젝트를 진행하여 만들었던 어플에 비하면 지금의 어플은 내 기준으로는 훨씬 낫다고 생각하지만 부족한 점이 너무나도 많다.

제일 먼저 디자인에 대한 부분이다. 디자인 잘하는 사람들이 항상 부러웠는데 어플 만드는 부분에서는 디자인이 확실히 큰 부분을 작용하는 것 같다.

혼자서 이것저것 최대한 괜찮게 만들려고 욕심 부리다보니 내 기준에서는 그래도 나름 했다고 생각했지만 실제 사람들이 내 앱의 디자인을 본다면 별로라고 생각하는 사람들이 훨씬 많을 것 같다. 사실상 앱의 틀을 구성하는 것보다 디자인을 생각하는 데 걸린 시간이 훨씬 더 길었던 것 같다. 그만큼 디자인 부분은 엄청나게 큰 스트레스로 작용했었다.

특히 색감에 대한 부분에서 고민을 많이 하게 됐는데, 컴퓨터에서 보이는 색과 실제 핸드폰에 넣어서 보는 색에 차이가 많아 그 부분을 조정하는 부분에서도 어려움이 따랐다.

두 번째로는 Java 코드 적용에 관한 부분이다. xml에 기존 틀을 다 잡아 놓고 이 버튼을 누르려면 이걸 작성해야 하고, 이 기능을 작동시키려면 저걸 작성해야 하는데 물론 대부분의 경우는 무리 없이 작성할 수 있었지만 프래그먼트 부분다이얼로그 부분, 연동되는 뷰 설정이나 클래스간 데이터 전달 등에 대한 어려움이 가장 컸던 것 같다.

물론, 어려움도 많긴 했지만 이번에 앱을 만들면서 프래그먼트 부분과 다이얼로그 부분 그리고 그러한 환경에서 뷰가 어떻게 적용되는지 등에 대해서는 많은 공부가 되었던 것 같다.

이론을 제대로 공부하고 시작하는 것도 좋긴 하지만 어느정도 개념만 알고 있는 상태에서 실전으로 뛰어들어 모르는 부분이 생길 때마다 찾아보는 것이 배움에 있어서 확실히 더 빠른 것 같다. 물론 시간이 조금 더 걸린다는 단점이 있긴 하지만…

이 두 가지는 어떻게 보면 안드로이드 개발에 전반적인 내용이 다 포함되어 있다고 생각하기 때문에 이 외에 특별히 어려운 점은 없었던 것 같다.

오히려 xml 파일을 하나하나 만들어 나갈 때마다 내가 원하는 또 다른 화면이 생긴다는 것이 기쁨으로 작용했기 때문에 아르바이트 안 하는 시간에 틈날 때마다 하는 것이 하나도 지루하지 않았고, 혼자 알아서 찾아서 했던 것 같다.

다만 이번에 앱을 개발하면서 어려운 점이 많았다보니 다음 번에 또 다른 앱을 개발하고자 한다면 개념을 조금 더 익혀서 지금보다는 덜 헤맸으면 하는 바람이 크다.

앱을 처음 만들려고 틀에 대한 내용을 구상할 때 내가 계획했던 내용을 대부분 이루었지만 이벤트 내용 찾기 기능은 중간에 제외시켰다. 처음엔 필요하다고 생각하여 데이터베이스를 구축하면서 찾기 기능까지 넣으려고 구상했었지만 나중에 보니 엄청나게 많은 양의 당첨 기록이 존재하더라도 굳이 찾아볼까하는 생각이 들어서 중간에 제외시키기도 하였다. 그 외에 구현을 못해서 아쉬웠던 부분은 특별히 없었던 것 같다.

앱을 만들면서 오류도 정말 많이 발생했는데, 데이터베이스를 구축하는 부분에서 연동하는 과정상의 오류, 어플을 하루 전에 실행하지 않으면 다음 날이 발표일이라도 푸시가 오지 않는 오류, 비밀번호를 설정한 경우 앱을 실행할 때 간헐적인 앱 종료 현상 발생 등 아직까지도 가끔씩 발생하는 오류가 존재하고 그동안 추가적으로 해결해 온 문제들이 상당히 많았다.

이번 앱은 내가 개인적으로 사용할 용도로 만든 것이기 때문에 가끔씩 발생하는 오류 부분에 대해서는 일단 그냥 넘어가려고 한다. 가장 큰 문제 중 하나는 내가 앱에 큰 이미지를 상당히 많이 넣었다는 점이다.

처음에는 작동이 잘 되길래 크게 신경 쓰지 않았지만 이벤트 리스트에 많은 양의 데이터들이 쌓이게 되면 어떤 문제를 일으킬 지 장담하기가 어려울 것 같다. 특히, 다른 개발자 분들은 어떤 식으로 구현하는 지 모르겠지만 내 경우 비밀번호 설정 및 확인 창을 모두 이미지 혹은 버튼들로 구성하여 만들었는데 비밀번호를 설정한 경우 특히 오류가 많이 나는거 보면 이미지들을 불러오는 부분에서 대부분 오류가 발생하는 것 같다.

비밀번호 설정 관련해서 API나 쉽게 구현할 수 있는 방법이 있는 지에 대해서는 나중에 더 자세히 찾아봐야 할 것 같다.

틈틈히 앱을 개발하면서 26일 정도의 시간이 지났는데 하나를 마치고 나니 규모는 작지만 뭔가 혼자서 끝냈다는 보람도 있는 것 같고 다음에는 더 많은 지식을 가지고 더 좋은 어플을 만들어보고 싶다는 생각이 들었다.

첫 번째 개인 프로젝트로써 휴학 기간동안 아르바이트 이외 시간을 이용하여 만들어 보았는데 앞으로 또 다른 앱을 개발하게 된다면 더 좋은 아이디어와 더 나은 지식을 가지고 개발에 임해보고 싶다. 우선 자바도 공부를 정말 많이 해야 할 것 같고 안드로이드에 대한 이해가 무엇보다도 필요할 것 같다.

Author

Alec J

Posted on

2018-04-05

Updated on

2021-02-09

Licensed under