포트폴리오/[IoT 기반 피지컬 AI 교육일지]

[ 안드로이드 미니 프로젝트 ] #3 컴포넌트 직접 구현 및 최종 회고 (40일차 기록)

개발자혜콩 2026. 4. 21. 16:28
"유행 일타강사: 부모-자녀 세대 소통을 돕는 트렌드 커뮤니티 앱"

 

 

프로젝트 소개

"유행 일타강사" 는 급변하는 신조어와 트렌드로 인해 자녀와 소통이 어려운 부모님을 위한 안드로이드 앱이다.

에듀윌 조사에 따르면 성인 10명 중 8명이 신조어 때문에 세대 간 대화에 어려움을 겪고 있다고 한다.

"두쫀쿠", "느좋", "가나디" 같은 표현은 자녀에게는 당연하지만 부모에게는 외계어나 다름없다.

이 앱은 두 가지 방향으로 문제를 해결한다.

  • 일타강사 모드 (트렌드 사전): 유행어와 핫한 간식 정보를 눈높이에 맞춰 모아놓고, 단순히 뜻만 알려주는 게 아니라 "아이들과 대화할 때 이렇게 써보세요!" 같은 실전 꿀팁까지 제공
  • 부모님 전용 커뮤니티: 회원가입 후 전용 게시판에서 유행어 질문, 자녀와의 소통 에피소드, 꿀팁 등을 자유롭게 공유

기술 스택: Java, Android Studio, Room DB (SQLite), MVVM 아키텍처, SharedPreferences

개발 기간: 3/31 ~ 4/3

(설계 0.5일 + 바이브코딩 1일 + 직접 코딩 1일 + 마무리 정리 0.5일)


1. 오늘 한 것

① 하단 네비게이션 및 홈 화면 직접 구현

  • 바이브코딩 결과물을 배제하고, FragmentManager.replace()를 직접 호출하여 탭 전환 시 화면(Fragment)이 교체되는 동작을 하드코딩으로 구현. (Navigation Component의 내부 원리 이해)

② 트렌드 리스트 화면과 북마크 매니저 직접 구현

  • RecyclerView의 핵심인 ViewHolder 패턴을 처음부터 끝까지 직접 작성함. onCreateViewHolder, onBindViewHolder, getItemCount 3대 필수 메서드의 흐름을 몸으로 익힘.
  • 전역 북마크 관리: static List<TrendItem>을 활용한 매우 단순화된 BookmarkManager 클래스를 만들어 전역 상태를 공유하고, 찜 상태에 따라 하트 아이콘의 색상을 setColorFilter()로 변경.
  • 화면 복귀 시 onResume()에서 adapter.notifyDataSetChanged()를 수동 호출하여 갱신.

③ 커스텀 글쓰기 다이얼로그 팝업

  • AlertDialog.Builder를 사용해 Fragment 내부에서 팝업을 띄움.
  • dialog_write.xml이라는 커스텀 레이아웃을 inflate하여 팝업 내용물로 삽입하고, 데이터 검증 후 리스트의 맨 앞(add(0))에 새 글을 추가하는 로직 직접 구성.

2. 문제 / 헷갈린 점

① 직접 코딩의 막막함과 속도 저하

  • 상황: AI가 짜주던 코드를 직접 치려고 하니, 어떤 함수를 불러와야 할지, 어디서부터 시작해야 할지 백지상태가 됨.
  • 해결: 공식 문서와 블로그 예제를 하나하나 찾아가며 구현함. 속도는 바이브코딩에 비해 현저히 느렸지만, 이 과정을 거치고 나니 바이브코딩이 전날 만들어줬던 방대한 코드가 "왜 그렇게 생겼는지" 명확히 이해됨.

3. 미니 프로젝트 종합 회고

  • 바이브코딩 (AI 활용): Material Design 적용 등 퀄리티가 예상을 뛰어넘었고, MVVM 같은 현업 수준의 아키텍처를 순식간에 경험할 수 있게 해줌. 단, 코드 구조를 완벽히 이해하지 못하고 넘어갈 위험이 큼.
  • 직접 구현 (자력 코딩): RecyclerView, AlertDialog 등 안드로이드 핵심 컴포넌트의 동작 원리를 뼛속까지 이해하게 됨. 에러를 직접 잡으며 디버깅 능력이 크게 향상됨.
  • 결론: 두 방식은 철저한 보완 관계다. 기초 구현 실력(직접 코딩)이 있어야 AI가 짜준 복잡한 아키텍처(바이브코딩)를 이해하고 올바르게 통제할 수 있다.

4. 향후 확장 로드맵 (Next Step)

  • Phase 1 (현재): Room DB(SQLite)를 활용한 로컬 기기 내 커뮤니티 구현.
  • Phase 2: Firebase Firestore 및 Auth 연동으로 실시간 데이터 동기화 및 다기기 로그인 환경 구축.
  • Phase 3: FCM 푸시 알림(새 댓글, 좋아요) 추가.
  • Phase 4: 사용자(자녀 나이대) 맞춤형 피드 알고리즘 고도화.

🎥 [ 시연 화면]

  • 직접 구현 시연

 

  • AI 바이브코딩 시연