-
Notifications
You must be signed in to change notification settings - Fork 1
Chela init
muune edited this page Mar 6, 2019
·
1 revision
invoke(application:Application, path:String = "")
- Chela 라이브러리 init함수
- Chela 라이브러리를 사용할 application을 지정하면 라이브러리 준비 작업이 진행됨
- path에 resource json 파일 경로를 넣으면 resource(i18n, font, style, shape, api, ruleset, query, db) 초기 셋팅을 한다.
- 참고 : resource 초기 셋팅
//App.kt
Ch(this, "setting.json") //this는 Application
//resource 초기 셋팅이 필요하지 않는 경우 path는 생략 가능
Ch(this) //this는 Application
waitActivate(activity:AppCompatActivity, looper:ChLooper? = null, block:()->Unit)
- 메인 액티비티에서 초기에 한 번 사용한다.
- 윈도우 사이즈가 0이 아닐때까지 대기하다가 block을 실행한다.
- 윈도우 사이즈가 0이면 여러가지 오류가 생길 수 있기 때문에 사용.
//Act.kt
Ch.waitActivate(this, App.looper){App.router.push(Splash, false)}
finish(act:AppCompatActivity)
- 앱을 종료시킨다.
Ch.finish(this)
looper():ChLooper
- App에서 사용할 looper를 생성한다.
- looper는 애니메이션, 메인쓰레드 작업 등등에 여러가지로 사용가능하다.
- 참고 ChLooper
//App.kt
val looper = Ch.looper()
router(base: ChHolderBase<T>): ChRouter<T>
- App에서 사용할 router를 생성한다.
- 라우터는 View 전환을 관리한다.
- 참고 router
//App.kt
val groupBase = Ch.groupBase()
val router = Ch.router(groupBase)
groupBase():ChGroupBase
- App에서 사용할 GroupBase(HolderBase)를 생성한다.
- HolderBase는 ViewType에 따라 라우터가 해야 할일을 구현해 놓은 클래스이고, View와 Fragment로 HolderBase가 만들어져 있다.
- 그 중에서 View로 만들어진 HolderBase가 GroupBase이다.
- 참고 ChHolderBase
//App.kt
val groupBase = Ch.groupBase()
val router = Ch.router(groupBase)
fragmentBase():ChFragmentBase
- App에서 사용할 fragmentBase(HolderBase)를 생성한다.
- HolderBase는 ViewType에 따라 라우터가 해야 할일을 구현해 놓은 클래스이고, View와 Fragment로 HolderBase가 만들어져 있다.
- 그 중에서 Fragment로 만들어진 HolderBase가 fragmentBase이다.
- 참고 ChHolderBase
//App.kt
val groupBase = Ch.fragmentBase()
val router = Ch.router(groupBase)