-
Notifications
You must be signed in to change notification settings - Fork 0
Home
997694052 edited this page Feb 26, 2019
·
22 revisions
一个很轻量级的MVP框架层

--model
|--MostBasicModel
--presenter
|--IPresenter
|--MostBasicPresenter
--view
|--IActivity
|--IView
|--MostBasicActivity
|--MostBasicFragment
--ActivityLifecycleBindCallbacks
--ApplicationMostBasic
--FragmentLifecycleBindCallbacks
核心类只有6个:
- ApplicationMostBasic
在ApplicationMostBasic中注册了Activity生命周期的监听,并将其生命周期绑定到对应的presenter.
当Activity派生至FragmentActivity且实现了IActivity且hasFragment()方法返回true时,会在Activity onCreate时注册Fragment生命周期监听器. - ActivityLifecycleBindCallbacks
Activity生命周期监听器,在其中绑定Activity生命周期至presenter.如果需要还会注册包含的fragment生命周期监听器.
通过依赖的ApplicationMostBasic对象提供处于活动状态的Activity. - FragmentLifecycleBindCallbacks Fragment生命周期监听器,在其中绑定了必要的生命周期至对应的presenter.
- IView
view应该实现的接口.
ActivityLifecycleBindCallbacks和FragmentLifecycleBindCallbacks依赖该接口,并通过peekPresenter()获取view持有的presenter进行生命周期绑定.
createPresenter()方法用于创建presenter.便于在特定的时机实例化持有的presenter.
peekApplication()用于提供应用的application. - IActivity 如果Activity内部有需要框架管理的Fragment,应该实现该接口,且重写的hasFragment()方法返回true. ActivityLifecycleBindCallbacks依赖了接口.
- IPresenter
Presenter所需要实现的接口.
ActivityLifecycleBindCallbacks和FragmentLifecycleBindCallbacks依赖了该接口,并将生命周期绑定至该接口对应的方法.