插件开发-mvp代码生成

一.开发工具

Intellij IDEA ->Intellij Platform Plugin

二.插件接口

1.视图行为接口 AnAction  执行行为回调

actionPerformed(AnActionEvent e)

2.编程结构接口

PsiClass

PsiElementFactory创建接口

PsiShortNamesCache 获取类对应PsiClass

扫描二维码关注公众号,回复: 3233601 查看本文章

JavaDrectoryService创建目录

3.继承类

PsiClass

getExtendsList().add(PsiJavaCodeReferenceElement);

4.接口类

getImplementsList().add(PsiJavaCodeReferenceElement);

5.泛型

getParamenterList().add(PsiJavaCodeReferenceElement)

6.方法模板

createMethodFromText(String template)

7.引入包

addAfter(PsiElement,PsiElement)

工厂

createImportStatementOnDemand(String)

8.修改访问限制

getModifierList.setModiferProperty("public",true)

三.使用

1.配置入口

plugin.xml

2.实现presenter为例

四.模式

1.presenter

#presenter方式创建 20&2
1.创建java类 TestPresenter,类名后缀必须是Presenter,光标在当前类中
2.alt+insert,选择presenter
3.创建对应类
ITestContract接口包含
    Model继承IExtraBaseModel
    View继承IExtraBaseView
    Presenter继承IExtraBasePresenter
TestModel 继承ExtraBaseModel 泛型ITestContract.Presenter 接口实现ITestContract.Model 实现构造方法
TestPresenter 继承ExtraBasePresenter 泛型ITestContract.View ITestContract.Model 接口实现ITestContract.Presenter 实现构造方法和抽象方法
备注:操作完成后,必须执行在TestPresenter中的泛型之间加“,”,代码目前不支持

2.activity

#activity方式创建 7&1
1.创建java类 TestActivity 类名后缀必须是Activity,光标在当前类中
2.alt+insert,选择activity
3.创建文件
TestActivity 继承ExtraBaseActivity 泛型ITestPresenter 实现ITestView 实现抽象方法
activity_test.xml
备注:若工程有这个ITestPresenter类就实现对应抽象方法或者泛型,若无

3.fragment

#fragment方式创建 7&1
1.创建java类 TestFragment 类名后缀必须是Fragment,光标在当前类中
2.alt+insert,选择fragment
3.创建文件
TestFragment 继承ExtraBaseFragment 泛型ITestContract.Presenter 实现ITestContract.View 实现抽象方法
fragment_test.xml
备注:若工程有这个 ITestContract.Presenter类就实现对应抽象方法或者泛型,若无

4.view

#view方式创建 4&1
1.创建java类 TestView 类名后缀必须是View,光标在当前类中
2.alt+insert,选择view
3.创建文件
TestView 继承ExtraBaseLayout 实现构造方法 实现抽象方法
view_test.xml

5.adapter

#adapter方式创建 6&1
1.创建java类 TestAdapter 类名后缀必须是View,光标在当前类中
2.alt+insert,选择adapter
3.创建文件
TestAdapter 继承BaseAdapter 泛型ExtraBaseHolder 实现抽象方法
item_test.xml

五.优化

1.多个连续泛型需要手动逗号隔开

2.xml 未自动svn关联

3.activity配置文件

4.引用导入包名问题

五.源码链接

https://download.csdn.net/download/u010433315/10642725

相关自动生成代码

1.butterknife
2.Lombok

猜你喜欢

转载自blog.csdn.net/u010433315/article/details/82343891