"유행 일타강사: 부모-자녀 세대 소통을 돕는 트렌드 커뮤니티 앱"
프로젝트 소개
"유행 일타강사" 는 급변하는 신조어와 트렌드로 인해 자녀와 소통이 어려운 부모님을 위한 안드로이드 앱이다.
에듀윌 조사에 따르면 성인 10명 중 8명이 신조어 때문에 세대 간 대화에 어려움을 겪고 있다고 한다.
"두쫀쿠", "느좋", "가나디" 같은 표현은 자녀에게는 당연하지만 부모에게는 외계어나 다름없다.
이 앱은 두 가지 방향으로 문제를 해결한다.
- 일타강사 모드 (트렌드 사전): 유행어와 핫한 간식 정보를 눈높이에 맞춰 모아놓고, 단순히 뜻만 알려주는 게 아니라 "아이들과 대화할 때 이렇게 써보세요!" 같은 실전 꿀팁까지 제공
- 부모님 전용 커뮤니티: 회원가입 후 전용 게시판에서 유행어 질문, 자녀와의 소통 에피소드, 꿀팁 등을 자유롭게 공유
기술 스택: Java, Android Studio, Room DB (SQLite), MVVM 아키텍처, SharedPreferences
개발 기간: 3/31 ~ 4/3
(설계 0.5일 + 바이브코딩 1일 + 직접 코딩 1일 + 마무리 정리 0.5일)
1. 오늘 한 것
① 트렌드 사전 리스트 및 검색 기능 구현
- 필터링: ChipGroup을 통해 카테고리(줄임말, 음식, 밈 등) 필터를 적용하고, TextWatcher로 입력값을 감지해 ViewModel에서 실시간 검색 쿼리를 처리함.
- 디테일: 카테고리별로 뱃지 스타일을 분리(colors.xml, drawable)하고, 항목 클릭 시 Fragment 간 Bundle로 5개의 필드 데이터를 안전하게 넘겨주도록 구현.
② 커뮤니티 피드 및 글쓰기 기능 구성
- 게시물 목록: OnPostActionListener 인터페이스를 통해 RecyclerView Adapter의 클릭 이벤트를 Fragment로 위임.
- 좋아요 동기화: SharedPreferences의 StringSet을 활용해 현재 좋아요 상태를 동기 조회하고, 토글 시 DB와 Set을 동시 업데이트.
- 상대적 시간: System.currentTimeMillis()의 차이를 계산해 "방금 전, n분 전, n일 전" 형식으로 자동 포맷팅.
- 글쓰기 바텀 시트: Spinner를 활용해 분위기 텍스트 배열과 이모지 배열을 1:1로 매핑하여 직관적인 UX 제공.
③ 프로필 화면 및 로그아웃
- 비로그인/로그인 상태에 따라 UI 그룹(Group)을 분기 처리.
- LiveData 구독을 통해 유저가 작성한 게시물 수와 받은 좋아요 수를 실시간 집계.
- 로그아웃 시 백스택(BackStack)을 완전히 비우기 위해 FLAG_ACTIVITY_NEW_TASK | CLEAR_TASK 인텐트 플래그 적용.
2. 문제 / 정렬 헷갈린 점
① 길어진 컨텍스트가 부른 AI의 환각(Hallucination)
- 상황: 프로젝트 2일차에 접어들며 AI와의 대화 기록이 길어지자, AI가 앞뒤가 안 맞는 코드를 짜주거나 이전에 정의한 로직을 무시하기 시작함.
- 해결: 특히 Fragment 간 데이터 전달 시 직접 객체를 넘기려 하거나, ViewModel 스코프를 잘못 잡는 치명적인 에러들이 발생. 결국 AI의 코드를 100% 맹신하지 않고, 안드로이드 생명주기 규칙에 어긋나는 부분은 직접 코드를 수정해가며 방향을 통제해야 했음.
3. 오늘 배운 핵심
- AI 코딩은 '소통'이자 '통제'다: 뼈대를 잡는 건 빠르지만, 프로젝트가 커지고 복잡해질수록 개발자가 직접 컨텍스트를 제어하고 로직의 흐름을 바로잡는 코드 리뷰어 역할을 제대로 수행해야 한다.
- SharedPreferences의 한계와 활용: StringSet을 이용한 좋아요 관리는 빠르고 간편하지만, 동시성 문제나 복잡한 쿼리에는 한계가 있으므로 적재적소에 Room DB와 나누어 써야 한다.
4. 다음 목표
- AI 의존도를 잠시 낮추고, 하루 동안 홈 화면, 네비게이션, 커스텀 다이얼로그 등을 바닥부터 **'직접 코딩'**하여 핵심 컴포넌트들의 동작 원리 체득하기.
'포트폴리오 > [IoT 기반 피지컬 AI 교육일지]' 카테고리의 다른 글
| [ 파이썬 기초 ] #1 파이썬의 특징, 가상환경 및 기본 문법 (41일차 기록) (0) | 2026.04.22 |
|---|---|
| [ 안드로이드 미니 프로젝트 ] #3 컴포넌트 직접 구현 및 최종 회고 (40일차 기록) (0) | 2026.04.21 |
| [ 안드로이드 미니 프로젝트 ] #1 바이브코딩 뼈대 구축 및 인증 시스템 (38일차 기록) (2) | 2026.04.21 |
| [ 안드로이드 AI 활용 ] 바이브 코딩(Vibe Coding) 및 Agent.md 활용 (36~37일차 기록) (0) | 2026.04.21 |
| [ 안드로이드 앱 개발 기초 ] 스레드 제어, Custom View 및 SurfaceView 게임 애니메이션 구현 (35일차 기록) (0) | 2026.04.21 |