본문 바로가기

안드로이드/디자인 패턴

(4)
[Android/안드로이드] 왜 MVP/MVVM을 사용해야 하는가? (feat. mvc,mvp,mvvm, acc를 활용한 mvvm 구현 예제 ) 1. MVC 패턴이란? mvc 패턴은 간단하게 말하면 model - view 사이에 컨트롤러가 둘의 사이에서 커뮤니케이션할 수 있도록 해주는 패턴이다. 각각의 역할에 대해 정리하면 아래와 같다. model : 비즈니스 로직 view : ui 로직 controller : flow 로직 컨트롤러의 역할은 model과 view에 있는 단위별 메소드들을 이용하여 레고를 조립하듯이 flow 로직을 짜는 것이다. 또한 에러 발생시에도 어떻게 뷰에 보여줄지 결정해서 넘겨주게 된다. 2. 왜 안드로이드에선 MVC 패턴이 적용되지 않는가? 첫째로 view-controller를 분리하는 것이 애매하다. 만약 view : xml로 두고 activity를 controller로 둔다고 가정하자. 이 경우 activity가 너무..
[Android/안드로이드]LiveData 기본 예제 이전 게시글 1) [Android/안드로이드]DataBinding 기본 예제 1. gradle(app) android{ dataBinding{ enabled=true applyplugin:'kotlin-kapt'//코틀린 사용시 추가 } } 2. xml 으로 감싸주기 3. 코드 작성 class MainActivity : AppC.. leehochang.tistory.com 이전 게시글 2) [Android/안드로이드]ViewModel 기본 예제 이전 게시글 :https://leehochang.tistory.com/5 3. 코드 작성 class MainActivity : AppC.." data-og-host="leehochang.tistory.com" data-og-source-url="https://le..
[Android/안드로이드]ViewModel 기본 예제 이전 게시글 :https://leehochang.tistory.com/5 [Android/안드로이드]DataBinding 기본 예제 1. gradle(app) android{ dataBinding{ enabled=true applyplugin:'kotlin-kapt'//코틀린 사용시 추가 } } 2. xml 으로 감싸주기 3. 코드 작성 class MainActivity : AppC.. leehochang.tistory.com 이전 DataBinding의 문제점을 해결할 ViewModel에 대해서 알아보겠습니다. 1. 필요성 viewModel의 생명주기는 Activity가 완전히 없어질 때 소멸된다. 즉, 생명주기와는 독립적인 scope를 가진다. 그래서 화면 전환 등에 따른 데이터 초기화가 일어나던 현..
[Android/안드로이드]DataBinding 기본 예제 1. gradle(app) android{ dataBinding{ enabled=true applyplugin:'kotlin-kapt'//코틀린 사용시 추가 } } 2. xml 으로 감싸주기 3. 코드 작성 class MainActivity : AppCompatActivity() { var count : Int = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val binding : ActivityMainBinding = DataBindingUtil.setContentView(this,R.layout.activity_ma..