주요 로직 및 클래스 설명 - GachonCapstoneTeam/TTS_JAVA GitHub Wiki
⚙️ 3-2. 주요 로직 및 클래스 설명
이 문서에서는 앱의 핵심 로직을 구성하는 주요 클래스와 헬퍼 유틸리티에 대해 설명합니다. 각 클래스는 개별 기능을 모듈화하고, 유지보수와 확장성을 고려한 구조로 설계되었습니다.
📄 Crawling Stocks Report
- 역할: 종목분석 리포트를 크롤링해옴
- 기능:
- 산업분석 리포트에 있는 리포트를 가져옴
- 카테고리, 종목명, 코드, 제목, 내용, PDF 내용, PDF URL 등을 가져옴
- 가져온 리포트를
mongoDB
에 저장
- 참고:
Crawling Stocks Report
📄 Crawling Industry Report
- 역할: 산업분석 리포트를 크롤링해옴
- 기능:
- 산업분석 리포트에 있는 리포트를 가져옴
- 카테고리, 종목명, 업종, 제목, 내용, PDF 내용, PDF URL 등을 가져옴
- 가져온 리포트를
mongoDB
에 저장
- 참고:
Crawling Industry Report
🔊 AudioService
- 역할: 백그라운드에서 오디오(TTS) 재생을 관리하는
ForegroundService
- 기능:
- 텍스트 기반 mp3 재생
- 재생, 일시정지, 시크 이동 등 제어 지원
HomeFragment
와OriginalActivity
에서 바인딩하여 상태 공유
- 참고:
AudioService
🧠 TTSHelper
- 역할: 텍스트를 MP3 오디오 파일로 변환하는 헬퍼 클래스
- 기능:
- Google Cloud TTS API와 연동
- 변환된 오디오를 캐시 디렉토리에 저장
- 참고:
TTSHelper
🎨 ItemAdapter / ReportAdapter
- 역할: 각각
HomeFragment
및SearchFragment
에서 리포트 목록을 표시하는 RecyclerView 어댑터 - 기능:
Item
객체 리스트 바인딩- 즐겨찾기 버튼, 플레이 버튼 처리
- Shimmer Placeholder 로딩 지원 (ReportAdapter 포함)
- 참고:
💾 PreferenceUtil
- 역할: SharedPreferences 접근을 캡슐화한 유틸리티
- 기능:
- Boolean / String 저장 및 조회
- 즐겨찾기 상태 저장 (
liked_
prefix 기반) - 전체 초기화 (로그아웃 시 사용)
- 참고:
PreferenceUtil