본문 바로가기
반응형

MVVM18

[Android] MVVM + AAC + Coroutine + Retrofit + Github API 예제 이번 포스팅은 Github API를 활용해서 특정 키워드로 Github의 저장소들을 검색하는 안드로이드 앱을 만들 것이다. 아래 기술들을 사용하는 것을 목표로 한다. 1. MVVM(Model-View-ViewModel) 아키텍처 패턴을 적용 2. AAC(Android Architecture Component)를 활용 3. 비동기 작업을 위하여 Kotlin의 Coroutine활용 4. API를 호출하기 위해 Retrofit 라이브러리 활용 최종 결과물은 아래와 같은 모습이다. 위에서 볼 수 있듯이 화면 및 기능 자체는 간단하다. EditText 하나, 버튼 하나, RecyclerView 하나 끝이다. 추가적으로 각 아이템을 클릭했을 때 해당 저장소의 웹페이지로 이동시키는 정도로 구현한다. 1. 의존성 추가.. 2020. 7. 13.
[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 4 이전 포스팅에서 예고했던 대로 데이터베이스에 Todo 아이템을 삽입할 때 별도의 쓰레드를 생성하여 하던 것을 RxKotlin 으로 변경하고 RecyclerView에 DiffUtil 을 적용 할 것이다. - Denpendency 추가 RxKotlin을 사용하기 위해선 앱 모듈 Gradle에 종속성을 추가 해 주어야 한다. https://github.com/ReactiveX/RxKotlin ReactiveX/RxKotlin RxJava bindings for Kotlin. Contribute to ReactiveX/RxKotlin development by creating an account on GitHub. github.com 위 사이트를 참고하여 종속성을 추가하자. Rx에 대해 이해가 필요하므로 htt.. 2020. 3. 1.
[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 3 이전 포스팅에서 만든 코드를 리팩토링하여 MVVM 패턴을 구현하고 AAC를 적용 해 보자. - Dependency 이 앱에서는 ViewModel, LiveData, Room 를 사용할 것이다. 여기서 LiveDat와 Room은 앱 모듈의 dependencies에 추가 해 주어야 한다. https://developer.android.com/jetpack/androidx/releases/room https://developer.android.com/jetpack/androidx/releases/lifecycle 를 참고하여 아래와 같이 수정한다. Room | Android 개발자 | Android Developers Room 지속성 라이브러리는 SQLite를 완벽히 활용하면서 강력한 데이터베이스 액세스를 지.. 2020. 2. 29.
[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 2 이번 포스팅에서는 이전 포스팅에서 언급했듯이 RecyclerView를 위한 어댑터와 뷰홀더 클래스를 작성하고 임의의 데이터로 리스트를 구현하고 "추가" 버튼으로 데이터를 추가해보도록 하겠다. - 어댑터 클래스 생성 view 폴더 아래에 adapter 폴더를 만들고 그 안에 TodoListAdapter 클래스를 생성한다. 이 어댑터 클래스는 TodoModel의 리스트를 생성자로부터 전달받으며, RecyclerView.Adapter를 상속받고, RecyclerView.ViewHolder를 뷰홀더로 갖는 클래스로 구현한다. 아래 코드를 참고한다. class TodoListAdapter(val todoItems: ArrayList): RecyclerView.Adapter() { override fun getIt.. 2020. 2. 29.