코딩하는 일용직 노동자

안드로이드 MVVM 패턴으로 작업해보기 (1) 본문

안드로이드

안드로이드 MVVM 패턴으로 작업해보기 (1)

bacass 2020. 4. 30. 17:41

#0 최근 안드로이드 개발 트렌드
안드로이드 앱을 처음 배우고 개발할땐 디자인 패턴을 이용하지 않고 Activity 소스에 각종 이벤트와 로직 처리를 몽땅 집어넣고 작업했습니다.
그 후에 MVC, MVP 패턴으로 작업을 하는 개발자분들을 많이 볼 수 있었고,
뒤늦게 필자도 MVP 패턴을 사용 해보니 소스도 깔끔하고 유지보수 할때도 더 편리한 면이 있었습니다.

2017년 여름 구글I/O에서 구글은 AAC (Android Architecture Component)를 발표했습니다.
ViewModel, LiveData, LifecycleObserver, DataBinding 등을 써서 MVVM 패턴으로 앱의 성능과 유지보수를 높일 수 있도록 했습니다.

최근에는 언어도 Java에서 Kotlin으로 많이 옮겨서 작업하고 MVVM 패턴을 적용한 프로젝트들을 많이 접할 수 있었습니다.

#1. 프로젝트 셋팅
Kotlin + koin + glide + retrofit2 를 이용한 MVVM 패턴을 만들어보고자 합니다.
우선 안드로이드 스튜디오에서 프로젝트를 생성하고 gradle 에 필요한 셋팅을 해보도록 하겠습니다.

dependencies 에 retrofit2 와 okhttp, gson, glide 를 추가해줍니다.
또한 로그를 찍기 쉽게 도와주는 Timber 라이브러리와, 의존성 주입을 해줄 koin 도 추가해줍니다.

도메인정보와 dataBinding 을 설정해줬다.

 

#2. 이미지 사이트 가입 및 개발자 API 확인
이번 MVVM 예제는 간단한 서버작업을 포함한 프로젝트로 만들어보고자 합니다. 
때문에 무료 이미지 사이트인 Pixabay(https://pixabay.com/) 에 접근해서 이미지를 검색하고 결과를 화면에 표시해주는 앱으로 기획을 잡았습니다.
우선 Pixabay 에 가입하고 API 를 어떻게 이용하는지 개발문서(https://pixabay.com/api/docs/)를 확인해보겠습니다.

pixabay 사이트 메인화면
하단에 API 메뉴
pixabay 개발자 api 사이트 메인화면
pixabay 의 api 설명이 보인다.

 

Pixabay 에 회원가입만 하면 개발자용 API key 가 발급됩니다. 별도로 개발자 등록을 할 필요는 없습니다.

pixabay 에 가입하고 API 메뉴에 들어가면 API Key 가 발급된 것을 확인할 수 있다.
이미지 검색 api 의 예시도 제공해준다.

 

개발문서에 있는 api 를 포스트맨에서 바로 확인해볼 수 있습니다. 결과가 잘 내려오는것을 확인했으니 이제 프로젝트에 이 api 를 적용해 보겠습니다.

포스트맨(postman) 에서 API확인

이제 본격적으로 작업을 시작해보겠습니다.