-
클린 아키텍처 준비 - 1안드로이드 학습/Android 기술면접 대비 코드 2025. 4. 24. 09:53
클린 아키텍처 준비 :
- 1. 무료 RestApi 사이트
- 2. 다른 앱들 구조 분석
- 3. 내가 만들 앱 기초 구성 및 컨셉 구성
1. 토큰이나 로그인 없이 RestApi 가능한 사이트들
- JSONPlaceholder https://jsonplaceholder.typicode.com
- 특징: posts, comments, albums, photos, todos, users 등 다양한 리소스 제공
- Reqres : https://reqres.in
- 특징: 사용자 관련 CRUD, 로그인 등 다양한 테스트 가능
- DummyJSON : https://dummyjson.com
- 특징: products, users, posts, comments, quotes, todos
- GoREST : https://gorest.co.in/public/v2/users
- 특징: 실제 CRUD 요청 테스트 가능 (토큰 필요)
- Fake Store API : https://fakestoreapi.com
- 제품/장바구니 관련 테스트에 적합
- 예: https://fakestoreapi.com/products
- Dog CEO’s Dog API (강아지 이미지) : https://dog.ceo/dog-api/
- The Cat API : https://thecatapi.com
- 일부 기능은 API 키 필요하지만, 기본 이미지 요청은 키 없이도 가능
- 예: https://api.thecatapi.com/v1/images/search
개를 좋아하기 때문에 6번인 강아지 이미지를 가져올 수 있는 Dog CEO’s Dog API 를 선택
2. 다른 앱들 구조 분석
클린아키텍처 (MVVM 혹은 three layer architecture) 예제를 추가하기전 다른앱들은 어떤 방식으로 추가했는지 볼 필요성이 있다
우선 안드로이드에서 추천하는 것은 3가지 레이어로 나눠서 개발하는 것을 추천하는 것 같다. (링크)
그중 Domain Layer는 좀 어떻게 사용할지에 대한 내용에 애매해서 생략하고 UI Layer와 Data Layer를 사용하기로 한다.
내가 만들 앱 기초 구성 및 컨셉 구성 :
data
- remote :
- PetRemoteDataSource.kt
- PetApi
- local :
- PetLocalDataSource.kt
- PetDao.kt
│ ├── repository
│ │ └── PetRepositoryImpl.kt
│ └── model
│ └── Pet.kt
│ ├── repository
│ │ └── PetRepository.kt
├── ui
│ ├── ui
│ │ ├── PetViewModel.kt
│ │ └── PetListScreen.kt (or PetListFragment.kt)
'안드로이드 학습 > Android 기술면접 대비 코드' 카테고리의 다른 글
안드로이드 비동기 처리 2-4 (실시간 검색 with EditText) (1) 2024.11.01 안드로이드 비동기 처리 2-5 (네트워크 통신 - retrofit) (0) 2024.11.01 안드로이드 비동기 처리 2-3 (Operators : 연산자들) 코드편 (1) 2024.10.31 안드로이드 Rxjava 사용하기 (1) (0) 2024.03.06 Anr 예제 (0) 2024.01.23