-
Notifications
You must be signed in to change notification settings - Fork 3
Android 도전거리 키워드
차지원 edited this page Dec 16, 2021
·
2 revisions
매 주 프로젝트에 적용 & 블로그 정리
-
구조
구조 설계하기
- MVC: 난이도 최하, 오래된 기업에서 종종 사용
- MVP: 난이도 하, 채용 공고보면 좀 있음, 추가로 interface나 test에 대한 정리를 추천
- MVVM: 난이도 상, 가장 많이 사용, LiveData data binding, DI에 대한 정리를 추천
- MVI
장단점 인지하면서 사용하기
- 클린 아키텍쳐
- single activity 아키텍쳐
-
구현
구현에 급급하더라도 도전거리 찾아보기
- UI
- 여러 Layout 사용해보기
- View Pager, Spinner, Dialog, Progressbar, Snackbar, Custom View, RecyclerView의 활용(listAdapter, concatAdpater, 무한 스크롤, Paging, ... , )
- 예쁘게 만들어보기
- Lottie 애니메이션
- 애니메이션
- Material Design
- 다크모드 지원
- 테마, 스타일 리소스 관리
- 여러 Layout 사용해보기
- Kotlin 문법
- Sealed class, inline function, 확장함수, SAM interface, 고차 함수, ... ,
- 객체지향
- 디자인 패턴(Repository, Factory, Singleton, ... , ) 적용, 클린 아키텍쳐, SOLID,
- test
- Unit 테스트, UI 테스트, TDD
- Debugging
- Exception(Result, run catcing, ... , ), Logging, ... ,
- 기타
- Intent, Notification, Permission, Navigation, ...,
- UI
-
라이브러리
많이 사용하는 라이브러리 사용해보기. 동작 방식을 이해하고 쓴다면 더 좋습니다.
- Image: Glide, Coil, Picasso, ... ,
- Json: Gson, moshi, ... ,
- 파싱, 직렬화 공부
- DB: Room, Realm, Firbase, ... ,
- Rest: Retrofit, ... ,
- Jetpack Library: 공식 라이브러리 입니다. (링크 참조)
-
심화
어렵지만 도전해볼 것
- Components: Activity, Service, Broadcast Receiver, Content Provider,
- 비동기 & 반응형: Coroutine, Coroutine Flow, rxJava
- Thread: Thread, Handler/Looper
- DI: Dagger, Hilt, Koin
- 기타: Context, Work Manager, Media, Download