인턴 2주차 후기

저번 주에는 NFC 태그를 읽어들일 수 있는 기능을 구현했고, 이번 주엔 Write기능을 구현했습니다. NFC가 지원되는 스마트폰에 태그 시 연락처가 저장되도록 NDEF 형식의 카드에 연락처 데이터를 저장하는 것이 핵심이었기에 생각보다 빨리 끝낼 수 있을거라고 생각했었습니다.

처음 제시된 기간은 2일 정도의 기간내에 구현 및 메뉴얼까지 완료하는 일정이었는데, 연락처 정보를 저장하는 것과 태그했을 때 연락처가 저장되도록 하려면 어떻게 구성해야 할지 찾아보는데 시간이 많이 걸릴 것 같아서 하루의 기간을 더 요구했습니다.

수석님께서 vcard 타입을 사용하면 될 거라는 힌트를 주신 덕분에 연락처 정보에 대한 포맷이 정해져 있다는 것을 알 수 있었습니다. 여러 가지 버전이 있었는데, 그 중 2.1버전을 사용했습니다.

"BEGIN:VCARD\n" +
"VERSION:2.1\n" +
"N:이름;성;중간이름;호칭;경칭\n" +
"ORG:회사명;직책\n" +
"TEL:타입;번호\n" +
"EMAIL:타입;이메일 주소\n" +
"END:VCARD"

위와 같은 형식으로 payload를 저장하고 NDEF Message에 맞는 헤더 값을 설정해주면 됩니다. 실제로 연락처 정보에는 더 많은 정보가 있지만 사용 가능한 카드에 137byte만 저장되기에 명함의 기능을 할 수 있는 중요한 정보만 추려서 넣었습니다.

이번에도 역시 저번주와 마찬가지로 기능의 구현 자체는 1-2일차에 모두 완료가 되었는데, UI의 상태가 너무 처참해서 조금씩 수정을 시작했습니다. UI쪽 기능을 추가 하면서 동시에 버그도 추가가 되버려서 추가->수정을 반복하다보니 결국 약속했던 기간이 되어서 살짝 어색한 디자인으로 완성이 되었습니다.

전체적인 색 조합을 수정하고 몇 가지 아이콘을 추가하면서 동시에 생겨난 버그들을 잡고 나니 결국 하루가 더 지나서 모든 작업을 끝낼 수 있었습니다. 그나마 메뉴얼을 미리 작성해둔 덕분에 지나치게 늦어지지는 않은 것 같습니다. 그리고 별도로 전자책으로 출근 할 때나 퇴근 이후에 안드로이드 개발의 기초적인 부분을 좀 더 세세하게 살펴보고 있고, 그 덕분에 조금씩 익숙해지고 있는 것 같습니다.

Categories:

Updated: