所有Activity的基类,实现了MVP模式的接口绑定和一些规范.其中泛型为IBasePresenter的子类. 以下是较为重要的方法: ```java public abstract class BaseActivity
extends AppCompatActivity implements IBaseView { /** * 获取布局,可以是View类型也可以是布局id,如果都不是则抛出异常 */ protected abstract Object getContentView(); /** * 在setEvent之后调用 */ protected void afterInit(){} /** * 在setContentView方法后紧接着调用 */ protected void afterSetContent() { } /** * 在此方法中进行一些初始化view的操作 */ public abstract void initView(); /** * 在此方法中进行一些初始化数据的操作 */ public abstract void initData(); /** * 在此方法中设置事件 */ public abstract void setEvent(); /** * 是否设置标题栏 * 默认不显示,重写该方法来选择是否显示 * @return */ protected boolean isShowTitle() { return false; } /** * 设置是否全屏 * 默认不全屏,重写该方法来选择是否显示 */ protected boolean isFullScreen() { return false; } /** * 设置是否竖屏 * 默认竖屏屏,重写该方法来选择 */ protected boolean isScreenRotate() { return true; } /*** * 设置是否使用沉浸式状态栏 * 默认为使用,重写该方法来选择是否使用 */ protected boolean isStateBar() { return true; } /** * 设置你的IPresenter为返回值,生命周期方法会被自动调用 * @return */ protected abstract p createIPresenter(); /** * 当由其他组件跳转并需要根据intent带来的数据显示view时调用 * @param intent 跳转时所用的 */ protected void handleIntent(Intent intent) { } } ``` 注意,继承BaseActivity后无需重写onCreate也尽量不要重写,因为其中有很多模板代码,一旦没有调用super.onCreate则会出现问题.你可以仔细看看上述方法注释和示例 - BaseFragment同上 具体示例参照app模块下的TestActivity的实现 - joint 用于管理公共依赖,所有业务逻辑模块都要继承此组件 ## 组件化 **集成模式**:业务模块为library,app入口模块依赖于业务libarary,且只有app模块可运行(也就是运行整个项目) **单模块模式**:业务模块为application,可单独运行,调试起来比集成模式快 当业务模块需要进行单模块调试时,只需把gradle.properties文件中的isDebug修改为true即可,当前module将成为一个application,可以单独运行。 注意,集成模式和单模块模式使用的配置文件不同,单模块调试时配置文件在src/main/debug/AndroidManifest.xml,而集成模式在配置文件在src/main/release/AndroidManifest.xml中