原地址:https://github.com/JessYanCoding/MVPArms
中文文档:https://github.com/JessYanCoding/MVPArms/wiki
首先附上github地址
首先说,这个框架对我这种刚入行的萌新来说真的是帮大忙了
一.如何使用
方式一:一键生成框架这种方式
第一步:一键生成module
https://github.com/JessYanCoding/MVPArms-Module-Template
第二步:喜闻乐见的 MVPArms全家桶(总共两步就可以获得一个完整的项目模板了)
https://github.com/JessYanCoding/MVPArmsTemplate
MVPArms模板整理:
页面级模板:https://github.com/JessYanCoding/MVPArmsTemplate
Module 级模:https://github.com/JessYanCoding/MVPArms-Module-Template
组件化模板:https://github.com/JessYanCoding/ArmsComponent-Template
方式二:使用Gradle 远程依赖,
本框架建议直接使用 Gradle 远程依赖, 框架已经提供了很多用于扩展的接口, 足以满足日常需求, 如非必须, 请不要使用依赖 Module 的方式以及修改框架源码,阅读中文文档
中文文档:https://github.com/JessYanCoding/MVPArms/wiki
1 开发准备
2 快速开始
关于MVPArms和AndroidX:
关于MVPArms兼容AndroidX的问题 原作者文章(亲测 插件方式创建的项目不可用)
https://mp.weixin.qq.com/s/XeJQrwbxKk6JbBn8C3fqKg
我的做法:
1.使用插件一键生成项目时,不使用androidx
1.1
AndroidStudio3.6
现在android studio 3.6可以不强制使用androidX了,在创建项目时勾选以下选项就可以直接使用MVPArms了,但是此时的项目非androidx依然有很多最新库使用不了
1.2
AndroidStudio3.5会强制使用androidx,但是MVPArms美中不足的就是目前还不支持androidx,所以在新建Project,再新建Module后,会导致编译不通过,此时只需要修改项目下边:
gradle.properties
文件(此步骤需要删除原来的androidX module后进行):将
android.useAndroidX=true
android.enableJetifier=true
改为false
android.useAndroidX=false
android.enableJetifier=false
二.使用MVPArms框架注意点:
2.1 使用MVPArms全家桶时注意,选择的包名,并且不是所有activity都需要来一个全家桶。
2.2 多个Fragment或Activity使用同一个P层和M层时,除了继承相同的View外,还需要在inject中加入这个活动的对象
2.3 API放在一起就好 官方有解决多个baseurl的方案,但最简单有效的方案还是直接给完整的url接口
2.4 建好项目后有一个多余的原始module,如何去掉?
删除方法:
File --> Project Structure... -->Modules
选择需要删除的module 右键remove(不删除原文件)
然后去项目文件夹内整个删除磁盘文件
2.5 要使用Butterkinfe
请使用initview()
方法返回布局文件
2.6 配置项目的运行环境
默认只有debug和relese两个环境,那我想增加一个dev环境怎么操作?
第一步:使用dev.initWith(debug)
然后单独配置dev环境的属性,主要是BASEURL 如下图
第二步:配置leakcanary
我这里增加了两个环境dev和qak8s 所以需要:
如图在module的
build.gradle
--> dependencies
增加两行