Android (140) 썸네일형 리스트형 [Android] 데이터 바인딩 어댑터 (Data Binding Adapter) 사용 방법 필자가 예전에 DataBinding 관련한 공부를 진행하면서 기본적인 사용 방법에 대해 간단히 작성해 둔 게시글이 있다. 이번에 클린 아키텍처 관련 예제를 작성하다 데이터 바인딩을 사용한 조금 더 심화(?)된 방법으로 사용하고 있는 것을 보고 정리겸 간단하게 사용법을 작성해 보려고 한다. * 2020.06.15 - [AAC] - [DataBinding] 데이터 바인딩 기본 사용 방법 [DataBinding] 데이터 바인딩 기본 사용 방법 DataBinding 적용 최소 사항 Android 2.1 (API 7, Android Nougat) 이상 안드로이드 누가의 경우, 19년 10월을 기준으로 지원 중단. 갤럭시 S6이상의 기기에서 사용 가능. Android Plugin for Gradle 1.5.0-al.. [Android] Clean Architecture - UseCase 란 ? 처음 학습하면서 작성한 글입니다. 필요시 추후 내용을 수정할 예정입니다. 틀린 부분이 있으면 언제든 지적해주면 감사하겠습니다 :) Clean Architecture 를 공부하는 도중에, UseCase 라는 것을 domain layer 에서 사용하는 것을 보았다. UseCase 가 무엇이길래 이것을 사용하는 것인지 알아보자. UseCase 란 ? 서비스를 사용하고 있는 사용자(User)가 해당 서비스를 통해 하고자 하는 것을 의미한다. 즉, 블로그 라는 서비스가 있다고 가정해보자. 사용자는 블로그에 들어와서 보고 싶은 게시글을 '검색' 할수도 있고, '댓글'을 남기거나 '공유' 버튼을 누르는 등 다양한 행동을 수행할 수 있다. 이러한 사용자가 서비스에서 수행하고자 하는 것들이 UseCase 라고 할 수 있.. [Android] Clean Architecture 실전 압축 정리 - 개념 처음 학습하면서 작성한 글입니다. 필요시 추후 내용을 수정할 예정입니다. 틀린 부분이 있으면 언제든 지적해주면 감사하겠습니다 :) 클린 아키텍처를 공부하다 보면 모든 블로그에서 다음과 같은 이미지를 볼 수 있었다. 이게 뭔데 다들 이것만 올리는건데? 이게 뭔데 다들 이것만 올리는건데? 필자는 해당 이미지를 가장 처음 보았을 때 이런 생각이 먼저 들었다. 이는 Clean Architecture 에 대한 개념이 없이 해당 그림만 보면 이해가 안되는 것이 당연한 것이다. (어느정도 공부하고 봐도 헷갈리는건 마찬가지다) 그래서 교과서적인 개념 정리보다는, 필자가 공부하고 예제를 만들어 보면서 이해한 대로 정리해보려고 한다. 교과서적인 개념 정리가 필요하면, 다른 정리가 깔끔하게 된 블로그들이 많으니 참고하길 바.. 코딩 컨벤션 (Coding Conventions) 코딩 컨벤션 (Coding Conventions) ? 코드의 가독성을 증진시키고, 협업 환경에서 일관된 코드 스타일을 유지하기위해 사용. 즉, 코드 작성 표준이라고 생각하면 된다. Kotlin은 대부분 Java의 코딩 컨벤션 규약을 따른다. IDE에서 가이드 및 Ctrl + Alt + L 을 통해 어느 정도 다듬어주기 때문에 해당 기능을 잘 이용하며, 가이드되지 않는 부분도 있기 때 문에 직접 신경 써서 작성하는 것이 좋다. https://kotlinlang.org/docs/reference/coding-conventions.html Coding Conventions - Kotlin Programming Language kotlinlang.org 코틀린 공식 홈페이지의 코딩 컨벤션 가이드 함수 형식, 람.. [Android] Room 라이브러리 Room Library AAC 중 하나 SQLite DB를 보다 쉽게 사용할 수 있도록 도와주는 ORM(Object Relational Mapping) 라이브러리 Room의 특징 컴파일 도중 SQL에 대한 유효성 검사 상용구 코드(Boiler Plate Code) 없이 매핑 가능 LiveData와 RxJava의 Flowable을 위한 observation으로 생성하여 동작 가능. Room의 구성 요소 Database : 데이터 베이스 객체. 객체를 생성하는 비용이 크기 때문에 Singleton으로 구현하는 것이 좋다. Entity : Database 내의 테이블 Dao(Data Access Object) : 데이터 접근 객체. DB를 통해 수행할 작업(CRUD)을 함수로 정의한 클래스로 interface.. [Android] ViewModel 기본 개념 ViewModel ViewModel이란 Android Jetpack의 구성요소 중 하나. MVVM(Model - View - ViewModel) 디자인 패턴으로부터 파생됨. AAC ViewModel 이라고 부르기도 한다. ViewModel의 특징 라이프 사이클을 고려하여 UI 관련된 데이터를 저장, 관리하기 위해 설계. 화면 전환과 같이 설정이 변경되는 상황에서도 Data를 유지시킨다. Activity가 끝날 때까지 사라지지 않고, View의 생명주기와 별개로 흘러간다. ViewModel은 Activity 생명주기 외부에 존재하기 때문에 UI 컨텍스트를 ViewModel에 저장한다면 Memory Leak을 발생시키는 원인이 될 수 있다. ViewModel의 생명주기 일반적으로 onCreate()를 처음 .. [Android] LiveData 기본 개념 LiveData 개요 LiveData는 Data의 변경을 식별할 수 있는 데이터 홀더 클래스. 일반 클래스와 달리 LiveData는 수명 주기를 인식하며, 생명 주기가 활성화되어있는 상태에서만 Observer를 업데이트한다. LiveData 객체에 LifecycleOwner와 함께 옵저버를 등록할 수 있다. LiveData는 Observer가 STARTED, RESUMED 상태일 때 활성화되어있는 상태로 인식한다. LiveData가 가지고 있는 데이터에 변화가 일어날 경우, Observer 객체에 변화를 알려주어 onChanged() 이벤트를 발생시킨다. LiveData는 2개의 함수를 가지고 있다. onActive() : 활성화된 Observer수가 0에서 1로 바뀔 때 호출. onInactive() .. [Android] 데이터 바인딩 (Data Binding) 기본 사용 방법 DataBinding 적용 최소 사항 Android 2.1 (API 7, Android Nougat) 이상 안드로이드 누가의 경우, 19년 10월을 기준으로 지원 중단. 갤럭시 S6이상의 기기에서 사용 가능. Android Plugin for Gradle 1.5.0-alpha1 이상 Android Studio 1.3 이상 DataBinding 사용 설정 // build.gradle (Module:app) android { ... dataBinding { enable = true } ... } gradle에서 dataBinding에 대한 enable 옵션을 true로 설정해주기만 하면 된다. 위의 옵션으로 설정을 하면, 컴파일러가 컴파일 시 자동으로 필요한 바인딩 클래스를 작성해 주기 때문에 따로 impl.. 이전 1 ··· 14 15 16 17 18 다음