aac 8

[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 6 (ViewBinding, DataBinding)

한참전에 DataBinding을 적용하기로 했었는데, 까맣게 잊고 있었다. 내 포스팅을 보고 공부하시는 분께서 DataBinding을 요청하셔서 추가로 포스팅한다. (게으른 나를 반성..) 귀찮으신 분들을 위한 최종코드 Github : github.com/DuItDDu/Android-Codelabs/tree/master/MyTodo 1. ViewBinding, DataBinding이 무엇인가? developer.android.com/topic/libraries/view-binding 뷰 결합 | Android 개발자 | Android Developers 뷰 결합 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정된 뷰 결합은 모듈에 있는 각 XML 레이아웃 파일의 결합..

개발/Android 2021.01.20

[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. 의존성 추가..

개발/Android 2020.07.13

[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 5

이번 포스팅은 RecyclerView에 이벤트 처리를 구현 할 것이다. 아이템을 클릭하면 Todo 아이템을 추가할 때 띄웠던 다이얼로그를 통해 Todo 아이템을 수정 할 것이다. 그리고 롱클릭을 통해 Todo 아이템을 삭제 해 보겠다. - Interface 구현 class TodoListAdapter: RecyclerView.Adapter() { ... interface OnTodoItemClickListener { fun onTodoItemClick(position: Int) fun onTodoItemLongClick(position: Int) } var listener: OnTodoItemClickListener? = null ... } 우선 어댑터의 상단에 위와 같은 코드를 작성한다. 아이템 클릭 ..

개발/Android 2020.03.08

[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..

개발/Android 2020.03.01

[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를 완벽히 활용하면서 강력한 데이터베이스 액세스를 지..

개발/Android 2020.02.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..

개발/Android 2020.02.29

[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 1

이번 포스팅에서는 프로젝트 생성, 패키지 구조 생성, 모델클래스 작성, 레이아웃 구성으로 이루어져 있다. 시작해보자. - 프로젝트 생성 이 부분은 따로 설명이 필요 없다고 생각한다. Empty Activity로 MyTodo 라는 이름의 프로젝트를 생성한다. 패키지명이나 프로젝트의 경로는 개인이 알아서 설정하도록 하고, 언어는 Kotlin으로 한다. Minimum API Level은 사실 샘플 프로젝트라 크게 의미가 없기 때문에 내가 자주 하는 API 21으로 두었다. - 패키지 구조 생성 우리는 MVVM(Model-View-ViewModel) 패턴을 사용 할 것이다. 구분하여 보기 편하게 위와 같이 패키지 구조를 생성하고, View에 해당하는 MainActivity를 view 폴더로 옮긴다. 이 부분은 ..

개발/Android 2020.02.29

[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 0

예전부터 안드로이드 관련해서 기술 공유 블로그 포스팅을 해 보고 싶었다. 하지만 퇴근하고 오면 피곤하고 주말에는 쉬고 싶은 흔한 직장인의 성질(?) 덕분에 미루고 미룬것이 벌써 1년이 넘게 지난 것 같다. 얼마전엔(이것마저 꽤 된..) TensorFlow, Pandas를 책을 보며 따라하면서 포스팅을 했었는데, 현재 업무와 관계없이 단순히 공부해볼까? 하는 마음이었다면, 안드로이드는 회사에서 업무로 진행하고 있기 때문에 정리도 해 둘겸, 스킬향상을 위해 공부도 할 겸 해서 하고 싶었었다. 이제 더 미루면 안될 것 같다는 느낌도 들고 어쩌다 의지가 생겨서 시작 해 보려 한다. 앞으로 하게 될 포스팅이 나 뿐만 아니라 많은 사람들에게 도움이 되었으면 하는 바램. "Kotlin + MVVM + AAC 로 To..

개발/Android 2020.02.29
반응형