- 안드로이드 앱 개발의 기본기를 스터디한 기록
- TODO
- Feature 이동 UI(MainActivity)
- Carousel with MotionLayout
- 각 기능 리팩토링
- 세부 기능 추가 및 고도화
- Migrate to Jetpack Compose UI
- UI 고도화
- Feature 이동 UI(MainActivity)
- Room
- Retrofit
- Hilt DI
- MVVM
- LiveData
- Coroutine
- Clean Architecture
- Repository Pattern(Domain Layer)
- Use Case pattern(Domain Layer)
- Multi Module
- Kotlin DSL
- features
- 기능 별로 분류
- core
- DI, Util, Base 등 공통 사용 클래스
- local
- Internal Database(Room), Model, Dao, Local DI(Database, Dao)
- remote
- Remote Rest API(Retrofit), Model, Dto, API Interface, Remote DI(Retrofit, Api class)
- repository
- Data Source, Repository, Use Case
- BroadcastReceiver
- AlarmManager
- PendingIntent
- TiemPickerDialog
- Custom View(RecordButton.kt, SoundVisualizerView.kt, CountUpView.kt)
- MediaPlayer
- MediaRecorder
- Audio Record Permission
- Retrofit
- Room
- Migration
- Insert, Query
- MVVM
- Hilt DI
- Firebase Messaging
- Notification Channel
- Notification Style
- Normal
- Expandable
- Custom
- PendingIntent
- Firebase RemoteConfig
- Debug -> Fetch 주기를 0으로 설정 가능
- Release -> Fetch 를 최소 12시간으로 설정해야한다.
- Remote Config 의 Default 값은 setDefaultsAsync() 로 설정한다.
- TextView
- maxLines
- ellipsize
- ViewPager2
- infinite scroll pager
- WebView
- WebViewClient
- WebChromeClient
- EditText
- imeOptions
- inputType
- selectAllOnFocus
- SwipeRefreshLayout
- ContentLoadingProgressBar
- Firebase Login
- Firebase Realtime Database
- Firebase Realtime Database
- Firebase Storage
- Mock Retrofit
- MVVM
- Hilt DI
- ViewPager2
- BottomSheet
- Naver Map api
- Glide
- transform(crop, corner)
- ExoPlayer
- MotionLayout
- Mocky Retrofit
- MVVM
- Hilt DI
- ExoPlayer
- Mocky Retrofit
- data class
- 클래스 내부 다양한 처리 방식(Player 상태 관리 위임)
- MVVM
- Hilt DI
- Google Map
- Retrofit
- MVVM
- Hilt DI
- MotionLayout