jonghokim
2014.12.11
Mortar.java
DateApplication.java
RootScope
ObjectGraph 를 가진 Tree 구조 (ObjectGraph - Dagger 참조)
RealScope.java
BaseActivity.java
RootScope
ActivityScope
Mortar.java
RealScope.java
BluePrint 는 무엇인가?
Blueprint.java (Interface)
HomeBlueprint.java
Blueprint 는 단순히 모듈을 들고 있는 청사진
Scope 에서 ObjectGraph 를 생성할 때 어떤 모듈을 이용해서 만들지 설정해놓는다.
RealActivityScope.java
doLoding() ? 뒤에서 자세히
http://corner.squareup.com/2014/10/advocating-against-android-fragments.html
Activity + CustomView 구조!
HomeView.java (BaseActivity 에 붙어있다.)
RootScope
ActivityScope
ViewScope
RealActivityScope.java (RealScope.java 와 다르다. RealActivityScope가 RealScope 상속한다.)
RootScope
ActivityScope
ViewScope
ViewScope
ViewScope
Activity Scope 에 ViewScope 를 붙여서 확장가능
ActivityScope
ViewScope
ViewScope
ViewScope
BaseActivity.java
RealScope.java
Application 의 ObjectGraph 가 모든 Module 을 들고 있어서 메모리 차지하는 문제를 해결 !
HomeView.java
HomeBluePrint.java
Presenter.java
RealActivityScope.java
RealActivityScope.java
Presenter.java
RealActivityScope.java
View마다 Presenter 가 있고, Presenter 에 Bundler 이 있고 Bundler 은 Activity lifecycle 에 맞게 호출 된다. -> onSaveInstanceState() 와 restore 을 View 별로 관리하기 쉬워진다.
state 복구할 때 는 onCreate(savedInstance) 에서 parameter 로 넘어온 savedInstance 를 저장해두고 나중에 Presenter#takeview() 에서 이용한다.