MVPContract_1
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
interface ${NAME}Contract {
interface Presenter extends BasePresenter{
}
interface View extends BaseView<Presenter>{
}
}
MVPModule_2
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
@Module
class ${NAME}Module {
private final ${NAME}Contract.View mView;
${NAME}Module( ${NAME}Contract.View view){
mView=view;
}
@Provides
${NAME}Contract.View provide${NAME}ContractView(){
return mView;
}
}
MVPComponent_3
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
@${Scoped_name}
@Component(dependencies=${Repository_name}RepositoryComponent.class,modules=${NAME}Module.class)
interface ${NAME}Component {
void inject(${NAME}Activity activity);
}
MVPPresenter_4
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
final class ${NAME}Presenter implements ${NAME}Contract.Presenter {
private ${Repository_name}Repository mRepository;
private ${NAME}Contract.View mView;
@NonNull
private CompositeSubscription mSubscruptions;
@Inject
${NAME}Presenter(${Repository_name}Repository repository,${NAME}Contract.View view){
this.mRepository=repository;
this.mView=view;
mSubscruptions=new CompositeSubscription();
}
@Inject
void setUpListeners(){
mView.setPresenter(this);
}
}
添加步骤
Setting --> Editou --> File add Code Templates --> Files 点击+即可