화면 별 기능 상세 설명 - GachonCapstoneTeam/TTS_JAVA GitHub Wiki

🖥️ 화면별 기능 상세 설명

TalkStock 앱은 사용자의 리포트 소비 편의성을 극대화하기 위해 주요 기능별로 화면을 분리하고 있습니다.
각 화면의 UI 구성 요소 및 핵심 동작 흐름은 아래와 같습니다.


🏠 HomeFragment (홈)

  • 앱 실행 시 기본으로 보여지는 메인 화면
  • 최신 리포트, Top 10, 내 목록(좋아요) 버튼을 통한 필터링 기능 제공
  • TTS 음성 재생 + 이어듣기 + 전체 플레이리스트 관리 기능 탑재

주요 기능

  • 📌 리포트 필터 버튼: 최신목록 / Top10 / 내 목록
  • 🎵 오디오 재생 기능: MediaPlayer 기반으로 구현
  • ⭐ 좋아요: SharedPreferences를 통해 저장/조회
  • 📦 Shimmer 로딩: ShimmerAdapter 사용

🔍 상세 로직: HomeFragment


🔍 SearchFragment (검색)

  • TabLayout으로 카테고리 필터: 전체 / 종목 / 산업
  • 검색창을 통한 키워드 기반 리포트 검색
  • SwipeRefreshLayout으로 pull-to-refresh 제공

주요 기능

  • 🧭 검색창 애니메이션: 확장/축소 + 외부 클릭 시 닫힘
  • 🧹 RecyclerView + ShimmerFrameLayout 로딩 처리
  • 📌 좋아요 누르면 HomeFragment에도 반영됨 (Broadcast)

🔍 상세 로직: SearchFragment


🌟 RecommendFragment (추천)

  • 추천 리포트 ViewPager2 슬라이드 방식
  • 인기 리포트 리스트 슬라이드 구성
  • DotIndicator로 위치 시각화

주요 기능

  • ⏱ 자동 슬라이드 타이머 (3초마다 순환)
  • 📦 서버 통신 실패 시 더미 데이터 자동 로드
  • ⭕ 추천 리포트는 5개 제한 (추후 API 최적화 예정)

🔍 상세 로직: RecommendFragment


🔐 LoginActivity / SignUpActivity

  • Firebase 기반 이메일 로그인 및 회원가입
  • 자동 로그인 처리 (SplashActivity 연동)
  • 구글 로그인도 지원됨 (GoogleSignInClient)

주요 기능

  • 📧 이메일/비밀번호 로그인
  • 🔒 자동 로그인 (FirebaseAuth.getCurrentUser())
  • 🔓 로그아웃 버튼은 basic_layout에서 제공

🔍 상세 로직: LoginActivity


💡 기타 UI

화면 설명
SplashActivity 앱 실행 시 자동 로그인 여부 판별 후 이동
basic_layout ViewPager2 + BottomNavigation 조합으로 화면 전환
SimplePlayerActivity SearchFragment의 단일 리포트 재생 전용 화면
OriginalActivity 홈 화면에서 전체 재생 중 상세 정보 및 이어듣기 처리

🔗 각 로직에 대한 세부 구현은 주요 로직 페이지를 참고하세요.