Today's

길을 나서지 않으면 그 길에서 만날 수 있는 사람을 만날 수 없다

반응형

앱만들기 129

🖐 Wear OS | 폰-워치 동기화와 큰절 제스처 시작 표식, 설정 화면 표시까지

🖐 Wear OS | 폰-워치 동기화와 큰절 제스처 시작 표식, 설정 화면 표시까지개요 (Intro)오늘의 목표 / 배경: 폰앱 설정 화면에서 큰절 인식 시작 버튼을 누르면, 워치앱 UI에도 즉시 시작 표식이 뜨고, 워치의 센서 변화(스텝/제스처 결과)를 폰에서 수신/표시어떤 문제를 해결하려 했는지: Wear 메시지/데이터 동기화 경로 정리, 네임스페이스/매니페스트 충돌로 인한 ClassNotFound와 Compose/KSP 설정 이슈 정리사용한 기술 스택: Kotlin, Jetpack Compose, Hilt, Google Play services wearable(Message/DataClient), Health Services(steps), Health Connect, KSP📅 날짜: 2025.1..

🛠 Android | Coupang API + Hilt DI + AdsScreen UX/포맷 개선 작업 기록

🛠 Android | Coupang API + Hilt DI + AdsScreen UX/포맷 개선 작업 기록개요 (Intro)Ktor 기반 Coupang Affiliate API 통합, Hilt DI 구조 확립, AdsScreen UI/가격 포맷 개선네트워크 권한 및 키 로딩 안정화, 로깅/리트라이 및 브라우저 딥링크 UX 추가📅 날짜: 2025.11.25🎯 목표: 안정적인 외부 API 호출 + Hilt 의존성 주입 + 상품 리스트 화면 UX 향상🧰 기술: Kotlin, Jetpack Compose, Ktor, Hilt, Coil, Gradle Kotlin DSL문제 정의 (Problem / Motivation)API 키가 빈 문자열(Empty Key)로 주입되는 문제 → local.propert..

🦾 Android | 하단 바 + Navigation Compose + 보안 키 주입(ResValue) 적용기

🦾 Android | 하단 바 + Navigation Compose + 보안 키 주입(ResValue) 적용기개요 (Intro)오늘의 목표 / 배경: 앱에 하단 바를 도입하고 Compose Navigation으로 홈/설정/광고 탭을 구성. 외부 API 키를 local.properties에서 안전하게 읽어 리소스로 주입.어떤 문제를 해결하려 했는지: Gradle Kotlin DSL에서 local.properties 로딩 시 IDE 경고/오류, 네비게이션 구성 시 일부 import 누락 및 경고.사용한 기술 스택: Kotlin, Jetpack Compose, Navigation-Compose, Hilt, Gradle Kotlin DSL📅 날짜: 2025.11.23🎯 목표: 바텀 네비게이션 3탭(홈/설정..

🩺 Android | Health Connect 걸음 수 집계 캐시 & 상단바 최소 높이 적용

🩺 Android | Health Connect 걸음 수 집계 캐시 & 상단바 최소 높이 적용 개요 (Intro)오늘의 목표: 만보계 핵심 로직(걸음 수 집계/캐시) 안정화 + 메인 화면 상단바 UI 컴팩트화배경: 기존 raw StepsRecord 합산 방식은 성능/정확도 측면 한계. TopAppBar 기본 높이 과도.해결하려는 문제: 중복 데이터 합산 리스크, 빈번한 집계 호출로 인한 UI 지연, 화면 상단 낭비 공간사용 기술: Kotlin, Jetpack Compose, Health Connect, MVVM, Coroutine, Flow📅 날짜: 2025.11.18🎯 목표: Health Connect 걸음 수 Aggregate + 캐시 적용 & 상단바 높이 24dp로 축소🧰 기술: Kotlin..

🦾 Android | 서식 캔버스 폼 - 이 앱 개발의 기본 지식 정리

🦾 Android | 서식 캔버스 폼 - 이 앱 개발의 기본 지식 정리개요 (Intro)오늘의 목표 / 배경: 이 프로젝트는 Jetpack Compose의 Canvas를 이용해 계산서 형태의 서식을 그리는 UI를 구현합니다. 이미지 기반 폼을 확대/축소/드래그 하여 전체 레이아웃을 확인할 수 있게 하는 것이 핵심입니다.해결하려던 문제: 화면 크기/해상도, 글자 크기(사용자 폰트 스케일) 대응, 핀치-줌 및 팬(드래그) 동작과 콘텐츠 영역의 이동 한계(클램핑)를 안정적으로 처리해야 했습니다.사용한 기술 스택: Kotlin, Jetpack Compose(Canvas), Compose gesture APIs(pointerInput, detectTransformGestures), Android resource..

습관관리 앱 : Jetpack Compose 광고 페이지 개발 및 성능 개선기

Jetpack Compose 광고 페이지 개발 및 성능 개선기 오늘은 기존 습관 기록 앱에 쿠팡 파트너스 API를 연동하여 광고 상품을 보여주는 페이지를 개발하고, 사용자 경험을 개선하기 위해 이미지 로딩 성능을 최적화하는 과정을 거쳤습니다. 이 글에서는 전체 개발 과정과 마주쳤던 문제들, 그리고 해결 방법을 공유합니다.1. ViewModel 상태 관리 및 API 연동가장 먼저, API 통신 결과를 UI에 효과적으로 전달하기 위해 ViewModel에서 상태 관리를 구현했습니다. API 요청 상태를 Loading, Success, Error로 나누어 관리하는 AdProductState Sealed Interface를 정의하고, 이를 StateFlow로 UI에 노출시켰습니다.// MainViewModel.k..

습관관리 앱 구현 과정 : Jetpack Compose에서 TopAppBar 구현 과정, 동적 버전 표시 및 웹 연동

습관관리 앱 구현 과정 : Jetpack Compose에서 TopAppBar 구현 과정, 동적 버전 표시 및 웹 연동 Jetpack Compose를 사용한 안드로이드 앱 개발 중, 사용자에게 일관된 경험을 제공하기 위해 공통 TopAppBar를 구현한 과정을 공유합니다. 이 글에서는 TopAppBar에 앱 아이콘, 동적으로 가져온 앱 이름과 버전, 그리고 외부 URL로 연결되는 정보 아이콘을 추가하는 방법을 단계별로 설명합니다.1. TopAppBar 구현 위치 결정: MainActivity처음에는 각 화면(HomeScreen)에 TopAppBar를 추가할까 고민했지만, 앱 전체의 일관성 및 확장성을 위해 MainActivity.kt의 MainScreen Composable 내에 Scaffold를 사용해 ..

습관관리 앱, 개발 작업 일지

습관관리 앱, 개발 작업 일지 1. 하드코딩된 한글 문자열의 strings.xml 이전앱 내 하드코딩된 한글 텍스트를 strings.xml로 이동하여 다국어 지원 및 유지보수성을 개선함. 2. AlertDialog를 MaterialDialog로 변경기존 AlertDialog를 com.afollestad.material-dialogs 라이브러리의 MaterialDialog로 교체.다이얼로그의 테마와 색상 문제를 해결하기 위해 theme 속성 및 color.xml을 활용하는 방법을 검토함.3. 다이얼로그 색상 및 테마 적용MaterialDialog에서 배경색 투명 문제 발생 시, theme를 지정하거나 color.xml의 색상 리소스를 활용하여 해결.MaterialDialog의 md_title_color 등..

습관관리, 사용자 경험을 한 단계 위로 (개발 일지)

습관관리, 사용자 경험을 한 단계 위로 (개발 일지)오늘은 기존의 습관 관리 앱을 더욱 똑똑하고 사용자 친화적으로 만들기 위한 대규모 개선 작업을 진행했습니다. 사용자의 작은 피드백에서 시작된 아이디어들이 어떻게 실제 코드로 구현되고, 그 과정에서 어떤 기술적 문제들을 해결했는지 공유하고자 합니다.오늘의 핵심 개선 사항 요약🎨 **UI/UX 개선**: 아이콘과 요일 선택 UI를 더 명확하고 직관적으로 개선.⚙️ **핵심 기능 구현**: '요일 선택'과 '시간 선택'이라는 두 가지 핵심 기능을 새롭게 구현하고, 데이터베이스부터 UI까지 앱의 모든 계층을 수정.🔧 **리팩토링 및 안정성 확보**: 여러 번의 오류와 수정을 거치며, 코드에 남아있던 버그를 잡고 하드코딩된 문자열을 제거하여 코드의 품질과 안..

Wear OS 타일로 실시간 심박수와 운동 시간 표시하기 (ft chatGPT, 예시코드)

Wear OS 타일로 실시간 심박수와 운동 시간 표시하기 이 글에서는 Wear OS의 SuspendingTileService를 이용해 실시간으로 심박수와 운동 시간을 표시하는 타일을 구현하는 방법을 소개합니다. 최신 라이브러리 기반으로 작동하며, 초보자도 이해하기 쉽도록 설명을 덧붙였습니다.1. 프로젝트 설정Gradle 의존성 추가 (build.gradle.kts)dependencies { implementation("androidx.wear.tiles:tiles-material:1.5.0") implementation("androidx.wear.protolayout:protolayout-material:1.3.0") implementation("com.google.android.horo..

반응형