MVVM 패턴
·
개발/소프트웨어 디자인 패턴
MVVM패턴이란? View - ViewModel - Model View: 사용자에게 보이는 화면 ViewModel: View를 표현하기 위해 만든 View를 위한 Model && View를 나타내주기 위한 데이터 처리 담당 Model: 어플에서 사용되는 데이터 및 데이터 조작 부분 (ex. 서버에서 들어오는 데이터) 동작순서 사용자의 Action이 View를 통해 들어옴 Command 패턴을 이용해 ViewModel에 Action을 전달 ViewModel이 Model에서 데이터를 요청하고, Model은 ViewModel에서 요청받은 데이터를 전달 ViewModel은 응답받은 데이터를 가공 및 저장 View는 ViewModel과의 Data Binding을 이용해 화면 갱신 특징 View와 Model 사이 ..
[Android/Jetpack]Databinding 사용하기
·
Android/Jetpack
(1) 기본 세팅 build.gradle (java는 아래 코드만 추가) android { ... dataBinding { enabled = true } ... } build.gradle (kotlin의 경우, 아래 코드도 추가) apply plugin: 'kotlin-kapt' ... dependencies { ... // 버전은 본인 gradle 버전으로 작성 kapt 'com.android.databinding:compiler:3.5.3' ... } (2) xml 수정 activity_main.xml ... 기존 xml 태그 최상위에 이라는 태그로 전체를 감싸줌 태그 안에는 xml에서 사용할 변수들을 태그를 이용해 작성해줌 (3) kotlin 파일 수정 MainActivity.kt private l..
[Android/Library]Eventbus
·
Android/도구 및 라이브러리
EventBus란? 버스 네트워크의 동작 방식과 유사하게 하나의 이벤트를 동일 채널에 연결된 모든 노드(Subscriber)들에게 보내는 방식 각 노드들은 채널에 연결되어 있기만 하다면 이벤트를 채널에 보내는 얕은 결합으로도 간단하게 데이터를 전달받을 수 있음 class MainFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) //코드 } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: ..
[Android/Async]Coroutine
·
Android/도구 및 라이브러리
Coroutine이란? 참고 Co(협력)+Routine(하나의 태스크, 함수) Routine에는 두가지가 존재: Main Routine, Sub Routine Sub Routine은 Main에서 호출하는 시점에서 진입, return을 만나면 탈출 Coroutine은 함수에 진입할 수 있는 진입점도 여러개, 빠져나가는 탈출점도 여러개 return 문이나 마지막 닫는 괄호를 만나지 않더라도 언제든 나가고 들어갈 수 있음 // 스레드의 main 함수가 drawPerson()을 호출하면 하나의 코루틴 블럭(함수)이 생성됨 // drawPerson()은 언제든 진입, 탈출할 수 있는 자격이 주어짐 fun drawPerson() { /* 실제로 startCoroutine은 없음. 직관적 이해를 위해 이 코드에서만 ..
[Android/Async]RxJava
·
Android/도구 및 라이브러리
RxJava란? RxJava는 ReactiveX(Reactive Entensions)를 Java로 구현한 라이브러리이다. RxAndroid는 RxJava에 안드로이드용 스케쥴러 등 몇 가지 클래스를 추가해 안드로이드 개발을 쉽게 해주는 라이브러리이다. RxJava는 반응형 프로그래밍이다. 반응형이란? 데이터가 변하면 알아서 캐치하여 결과로 반영됨. (데이터 관찰, 스트림 처리) RX = Observable + Observers + Schedulers Observable이란? RxJava의 가장 핵심적인 요소 데이터 흐름에 맞게 알림을 보내 Observer가 데이터를 사용할 수 있도록 함 즉, Observable을 이용해 데이터를 회수하고 변환하는 메커니즘을 정의하고, Observer는 이를 구독해 데이터..
뿌꾸 빵
개발새발 안드로그