화면 별 기능 상세 설명 - 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 |
홈 화면에서 전체 재생 중 상세 정보 및 이어듣기 처리 |
🔗 각 로직에 대한 세부 구현은
주요 로직
페이지를 참고하세요.