AGP 버전 상, Android Studio Flamingo 버전 이상에서 Build가 가능합니다.
빌드 전, 'secrets.properties' 파일을 생성하여 다음과 같이 API KEY 값을 추가해야 합니다.
# secrets.properties
KAKAO_API_URL="https://dapi.kakao.com/"
KAKAO_API_KEY="KakaoAK {Kakao REST API KEY}
e.g.
# secrets.properties
KAKAO_API_URL="https://dapi.kakao.com/"
KAKAO_API_KEY="KakaoAK c9bf3b615072a170b64208b1eee62e0d"
- 멀티 모듈화
- secrets.properties 파일을 통해 API KEY를 관리 (공개 Repository에는 이 파일을 포함하지 않음)
- Ktor를 이용한 네트워크 환경 구축
- Paging3 Library를 사용하여 미디어 검색 기능 구현
- 기존의 뷰 시스템을 통해 미디어 검색 화면 구성(블로그/동영상/사진 API 를 시용하여 각각의 탭 내에서 검색 결과 리스트 조회)
- Jetpack Compose를 사용하여 미디어 검색 화면 구성(블로그/동영상/사진 API 를 시용하여 각각의 탭 내에서 검색 결과 리스트 조회)
- Paging3 Library LoadState 를 이용한 인터넷 에러 핸들링
- 정렬 기능 구현 (최신순, 정확도순)
- 기존의 뷰의 Theme 을 Compose Theme 으로 그대로 옮겨, 똑같은 UI 만들기
- Convention Plugin 적용
- 테스트 코드 작성
동영상 검색 | 블로그, 사진 검색 | 검색 리스트 갱신, 다시 시도 |
---|---|---|
![]() |
![]() |
![]() |
Jetpack Compose에서 Paging LoadStateFooter를 구현 하는 방법
Jetpack Compose 에서 TextField를 이용하여 자동 검색 기능 구현 하기 (기존 xml 에서의 방식과 비교) - 2
Jetpack Compose 에서 TextField를 이용하여 자동 검색 기능 구현 하기 (기존 xml 에서의 방식과 비교) - 1
Compose Navigation Argument 로 url 전달하기
- IDE : Android Studio Giraffe
- JDK : Java 17을 실행할 수 있는 JDK
- Kotlin Language : 1.9
- Kotlin
-
Androidx
- Activity & Activity Compose
- AppCompat
- Core
- ConstraintLayout
- Lifecycle & AAC ViewModel Compose
- Material3
- StartUp
- Splash
- Paging3 & Paging3 Compose
-
Kotlinx
- Coroutines
- Serialization
-
Dagger Hilt
-
Ktor
-
Timber
-
Coil & Coil Compose
Based on Google App Architecture similar to Clean Architecture
├── app
│ └── application
├── build-logic
├── buildSrc
├── data
│ ├── datasource
│ ├── di
│ ├── mapper
│ ├── model
│ ├── paging
│ ├── repository
│ ├── paging
│ └── servce
├── domain
│ ├── entity
│ ├── repository
│ └── usecase
├── presentation
│ ├── ui
│ │ ├── compose
│ │ └── view
│ └── viewmodel
└── gradle
└── libs.versions.toml