android mvp 注解,通过注解快速生成MVP文件

5eef120714fe

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

更新说明

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()]

}

}

}

mvp_create_package_path:项目包结构路径,一般和包名一致

project_java_path:项目java模块的绝对路径

(2)代码使用

@MvpAnnotation(prefixName = "Main"

,basePresenterClazz = BasePresenter::class

,baseViewClazz = BaseView::class)

class MainActivity:IBaseActivity(),IMainView {

}

(3)生成文件结构

5eef120714fe

(4)MainPresenter

class MainPresenter : BasePresenter() {

}

(5)IMainView

interface IMainView :BaseView{

}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值