通过注解快速生成MVP文件

2020-10-13  本文已影响0人  YoungManSter

Mvpprocessor主要是解决使用MVP的使用需要手动进行创建对应的文件问题,提供通过注解快速生成对应文件,该项目主要是配合框架Collection-kotlin(github地址:https://github.com/usernameyangyan/Collection-Android-kotlin)进行开发

github地址:https://github.com/usernameyangyan/MvpAnnotationProject

更新说明

v1.0.0

1.增加V模块和P模块的文件通过注解方式快速生成
2.生成的文件支持生成java和kotlin

框架的引入

kotlin项目引入:

implementation 'com.youngman.mvp:mvpprocessor:1.0.0'
kapt 'com.youngman.mvp:mvpprocessor:1.0.0'

java项目引入:

implementation 'com.youngman.mvp:mvpprocessor:1.0.0'
annotationProcessor 'com.youngman.mvp:mvpprocessor:1.0.0'

注解MvpAnnotation属性介绍

属性 作用
prefixName 模块的功能名称,会根据这个名字生成对应的xxxPresenter 、IxxxView
basePresenterClazz 要生成的presenter类的父类
baseViewClazz 需要生成的view接口的父类
language 选择生成java文件还是kotlin文件,默认生成kotlin文件

结合框架Collection-kotlin使用流程

(1)使用前配置(app中的build.gradle)
defaultConfig {
    applicationId "com.yang.mvp.annotation"
    minSdkVersion 19
    targetSdkVersion 30
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

    multiDexEnabled true

    //使用需要配置的地方
    javaCompileOptions{
        annotationProcessorOptions{
            includeCompileClasspath = true
            arguments = ["mvp_create_package_path": "com.yang.mvp.annotation",
                         "project_java_path" : file("src/main/java").getAbsolutePath()]
        }
    }
}
(2)代码使用
@MvpAnnotation(prefixName = "Main"
,basePresenterClazz = BasePresenter::class
,baseViewClazz = BaseView::class)
class MainActivity:IBaseActivity<MainPresenter>(),IMainView {
}
(3)生成文件结构
(4)MainPresenter
class MainPresenter : BasePresenter<IMainView>() { 
}
(5)IMainView
interface IMainView :BaseView{
}

本文章会根据需要持续更新,建议点赞收藏,便于查看。也欢迎大家提出更多建议。

上一篇下一篇

猜你喜欢

热点阅读