개발 노트/기타10 [Android] 앱에서 오픈소스 라이선스 화면을 별도로 두는 이유 Android 앱을 만들다 보면 Retrofit, OkHttp, Glide, Gson, Kotlin Coroutines처럼 여러 오픈소스 라이브러리를 사용하게 됩니다. 기능 구현에 집중하다 보면 라이선스 고지는 나중에 처리해도 되는 부가 작업처럼 느껴질 수 있습니다.하지만 앱을 공개하거나 Play Store에 제출할 계획이 있다면 오픈소스 라이선스 관리는 따로 정리해두는 편이 좋습니다. 오픈소스 라이브러리는 무료로 사용할 수 있는 경우가 많지만, 라이선스 조건까지 없는 것은 아니기 때문입니다.오픈소스 라이선스 화면은 단순히 라이브러리 이름을 나열하는 화면이 아닙니다. 앱에서 사용한 라이브러리와 해당 라이선스를 사용자가 확인할 수 있게 제공하고, 업데이트 때 누락이 생기지 않도록 관리하는 장치에 가깝습니다.. 2026. 5. 22. [Android] 앱에서 스플래시 화면의 역할을 최소화하는 방법 Android 앱을 만들 때 스플래시 화면은 앱의 첫 화면이라는 이유로 많은 일을 맡게 되기 쉽습니다. 앱 설정을 불러오고, 공지를 확인하고, 권한을 요청하고, 로그인 상태를 확인한 뒤 메인 화면으로 이동하는 흐름까지 한 번에 넣는 경우가 많습니다.한 화면에서 모두 처리하면 구조가 단순해 보일 수 있습니다. 다만 초기 로딩, 공지, 권한 안내, 화면 이동은 각각 실패 조건과 사용자 경험이 다릅니다. 이 흐름이 하나로 섞이면 앱 시작이 느려지고, 오류가 났을 때 어디서 막혔는지 찾기 어려워집니다.막상 앱 시작 흐름을 정리해보면 스플래시 화면은 모든 기능을 처리하는 화면이 아니라, 앱 진입에 필요한 최소 판단만 맡는 편이 더 안정적입니다. 이 글에서는 Android 앱의 스플래시 화면에서 처리할 일과 분리해.. 2026. 5. 22. [Android/공공데이터앱] 외부 검색 API와 내부 관리자 API를 함께 사용할 때의 경계 Android 앱을 만들다 보면 외부 검색 API와 내부 관리자 API를 함께 사용해야 하는 경우가 있습니다. 예를 들어 장소 검색은 외부 검색 API를 사용하고, 앱에서 보여줄 공지, 카테고리, 지역별 설정은 내부 관리자 API에서 가져오는 식입니다.API 호출 코드만 빠르게 붙이면 처음에는 동작하는 것처럼 보일 수 있습니다. 다만 외부 API와 내부 API의 역할을 분리하지 않으면 응답 모델이 섞이고, 실패 처리도 복잡해집니다. 나중에는 어떤 데이터가 외부에서 온 것인지, 어떤 데이터가 내부 운영 데이터인지 구분하기 어려워질 수 있습니다.작업을 진행하다 보면 API를 많이 붙이는 것보다 각 API의 책임을 분명히 나누는 일이 더 중요해집니다. 이 글에서는 Android 앱에서 외부 검색 API와 내부.. 2026. 5. 22. [Android/공공데이터앱] 검색 결과가 없는 Android 앱에서 empty state를 설계하는 방법 Android 앱에서 검색 기능을 만들다 보면 결과가 있을 때의 화면은 비교적 쉽게 구성됩니다. 리스트를 보여주고, 항목을 누르면 상세 화면으로 이동하면 되죠. 막상 구현해보면 더 자주 헷갈리는 부분은 검색 결과가 없을 때입니다.검색 결과가 없는 상태를 모두 같은 문구로 처리하면 사용자는 무엇을 해야 하는지 알기 어렵습니다. 검색어를 바꿔야 하는 상황인지, 네트워크 문제인지, 현재 지역에서 제공하지 않는 데이터인지 구분되지 않기 때문입니다.특히 공공데이터나 지역 기반 앱에서는 빈 결과가 단순히 데이터 없음만 의미하지 않을 수 있습니다. API 응답이 일시적으로 비어 있을 수도 있고, 선택한 지역이 아직 지원되지 않을 수도 있습니다. 그래서 empty state는 빈 화면이 아니라 다음 행동을 안내하는 화.. 2026. 5. 22. [Android/공공데이터앱] 대형폐기물 정보 앱 개발노트 지금까지는 통합 앱 구조, 화면 분리, 데이터 모델, 오류 처리처럼 비교적 범용적인 설계 기준을 정리해왔습니다. 이번 글에서는 그 기준을 조금 더 구체적인 예시로 가져와보려고 합니다. 예시로 볼 주제는 대형폐기물 정보 앱입니다. 대형폐기물 앱은 품목 검색, 수수료 안내, 지역별 신고 방법처럼 화면과 데이터의 역할이 섞이기 쉬운 구조를 가지고 있습니다. 그래서 공통 화면 설계와 데이터 분리 기준을 설명하기에 꽤 좋은 사례가 될 수 있을것 같아서 적어보려 합니다. 대형폐기물 정보 앱을 만들 때는 품목을 찾는 화면과 신고 방법을 안내하는 화면을 같은 화면에 몰아넣기 쉽습니다. 검색 결과 아래에 수수료, 배출 방법, 신고 버튼까지 모두 보여주면 한 화면에서 끝나는 구조처럼 느껴질 수 있습니다.막상 화면 흐름을 .. 2026. 5. 22. [UI/반응형] 앱 화면 최적화를 위한 문서와 테스트 체크리스트 작성 방법 앱 화면은 개발 기기 하나에서만 잘 보인다고 끝나지 않습니다. 작은 모바일, 큰 모바일, 태블릿, 가로 모드, 세로 모드에서 같은 화면이 다르게 보일 수 있습니다. 버튼이 화면 밖으로 밀리거나, 리스트 높이가 부족하거나, 지도와 상세 영역이 겹치는 문제도 생길 수 있습니다.화면 최적화는 눈으로 보면 바로 알 수 있는 문제처럼 느껴지지만, 확인 기준을 기록하지 않으면 나중에 다시 검증하기 어렵습니다. 특히 profile이 많거나 화면 종류가 많아지면 어떤 기기에서 무엇을 확인했는지 금방 헷갈릴 수 있습니다.\ 이번 글에서는 앱 화면 최적화를 할 때 문서와 테스트 체크리스트를 어떻게 만들면 좋은지 정리해보겠습니다.왜 화면 체크리스트가 필요한가반응형 UI 문제는 바로 눈에 보이는 경우가 많습니다. 그래서 오히.. 2026. 5. 21. 이전 1 2 다음