Today's

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

반응형

전체 글 742

습관관리 앱 : 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를 사용해 ..

습관관리 앱 개발 일지: 대규모 리팩토링 및 기능 추가

습관관리 앱 개발 일지: 대규모 리팩토링 및 기능 추가 오늘은 '습관 추가 화면' 수정이라는 커밋 메시지 뒤에 숨겨진, Habit 앱의 대규모 구조 개선 및 기능 추가 작업을 기록합니다. 데이터베이스 설계부터 MVVM 아키텍처 도입까지, 앱의 내실을 다지는 중요한 변경이 있었습니다.1. 데이터 레이어(Data Layer) 대규모 개편이번 작업의 핵심은 데이터 모델을 확장하고 안정성과 성능을 개선하는 것이었습니다.습관 기록 기능 추가사용자가 매일의 습관 실천을 기록할 수 있도록 HabitRecord 엔티티와 HabitRecordDao를 새로 추가했습니다. 이를 통해 '어떤 습관을' '언제' 실천했는지 저장할 수 있게 되었습니다.데이터베이스 통합 및 안정화기존에 AppDatabase와 HabitDataba..

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

습관관리 앱, 개발 작업 일지 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 등..

습관관리 앱 사용자를 위한 사용자 설명서 (ver 1.0.1 기준, ft AI of Gemini)

이 앱은 사용자의 일상적인 습관을 관리하면 알림을 노출 시킵니다. 아직 기능은 그것뿐이라, 추가적인 기능 추가가 계속 하게 될 예정 입니다. 메인화면 (홈) 이 화면에서는 추가 메뉴에서 등록된 습관 목록이 나오고, '수정', '삭제' 아이콘을 사용할 수 있습니다. 수정 아이콘을 클릭 하면 선택한 습관 정보를 수정할 수 있습니다. 삭제 버튼을 클릭 하면 해당 정보를 삭제 합니다. 추가 (수정) 화면 이 화면에서는 홈 화면에서 수정으로 들어 오면 수정을 진행하며, 홈 화면에서 추가 메뉴를 통해 들어 오는 경우 새로운 습관 정보를 기록 합니다. 아이콘으로 습관을 선택할 수 있습니다. 아이콘 선택시 지정된 습관 이름은 변경이 가능 합니다. 다만, 아이콘을 다른걸 클릭 하면 다시 설정 될 ..

자작앱 설명서 2025.10.13

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

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

습관 관리 앱 만들기 (1) - Hilt, Room으로 뼈대 세우기

초보 안드로이드 개발자의 습관 관리 앱 만들기 (1) - Hilt, Room으로 뼈대 세우기 안녕하세요! 오늘은 Jetpack Compose를 사용해 간단한 습관 관리 앱을 만들어보는 여정의 첫걸음을 기록해보려고 합니다. 앱의 기반을 튼튼하게 다지기 위해, 구글이 강력하게 추천하는 라이브러리인 Hilt와 Room을 적용하여 기본적인 데이터 추가 및 조회 기능을 구현했습니다.왜 Hilt와 Room 인가?앱 개발을 시작하기에 앞서, 두 가지 중요한 결정을 했습니다.Hilt (의존성 주입 라이브러리): 클래스(객체)들이 필요로 하는 다른 객체들을 직접 생성하지 않고, 외부에서 "주입"해주는 방식입니다. 보일러플레이트 코드를 줄여주고, 테스트 용이성을 높이며, 앱의 전체적인 구조를 깔끔하게 만들어줍니다.Room..

FocusMe — 습관 트래커 프로젝트 기획서

FocusMe — 습관 트래커 프로젝트 기획서 간단한 사이드 프로젝트용 MVP 설계서 · Kotlin / Jetpack Compose 기반1. 프로젝트 개요프로젝트명: FocusMe (가칭)목표: 사용자가 매일의 습관을 기록하고, 꾸준함을 시각적으로 확인할 수 있도록 하여 장기적인 습관 형성을 돕는다. Firebase를 통한 클라우드 동기화 및 확장 플러그인을 고려한다.핵심 가치: "습관을 기록하는 것을 넘어서 유지할 동기를 제공"2. 주요 기능구분기능명설명기본습관 등록/삭제/수정이름, 아이콘, 주기(매일/주간 등), 시간대 설정기록습관 완료 체크일별 체크, streak(연속 달성) 계산통계진행률 / 연속 달성 / 주간 리포트Compose 기반 차트로 시각화알림리마인더 알림WorkManager를 사용한 ..

Eclipse에서 PyDev 오프라인 설치하는 방법

💡 Eclipse에서 PyDev 오프라인 설치하는 방법오늘은 PyDev를 Eclipse에 오프라인으로 설치하는 방법에 대해 정리해보았습니다. 인터넷 연결이 어려운 환경에서도 Python 개발 환경을 구축할 수 있도록 단계별로 설명드릴게요.📦 1. 필요한 파일 다운로드PyDev는 Eclipse 플러그인 형식으로 배포되며, GitHub 릴리스 페이지에서 다운로드 가능합니다.링크: PyDev GitHub Releases예시: PyDev.13.1.0.zip🛠️ 2. 설치 방법방법 A: ZIP 파일을 dropins 폴더에 넣기Eclipse 설치 폴더로 이동dropins 폴더에 ZIP 파일을 그대로 넣거나 압축 해제한 폴더를 복사Eclipse 재시작 → 자동으로 PyDev 설치됨방법 B: ZIP 파일을 p2 ..

쿠팡파트너스 Open API로 국내여행 베스트 상품 조회하기

쿠팡파트너스 Open API로 국내여행 베스트 상품 조회하기 쿠팡파트너스를 활용하면 다양한 상품 정보를 API로 조회하고, 제휴 링크를 생성해 수익을 창출할 수 있습니다. 오늘은 국내여행 카테고리(코드: 1025)의 베스트 상품을 조회하는 방법을 Python 코드 예제로 소개합니다.🔧 준비 사항쿠팡파트너스에서 Access Key와 Secret Key를 발급받습니다.Python 환경에서 requests 라이브러리를 설치합니다: pip install requests📦 국내여행 베스트 상품 조회 코드import hmacimport hashlibimport requestsfrom time import gmtime, strftimeimport randomREQUEST_METHOD = "GET"DOMAIN = ..

반응형