Skip to content
🏰 MVPFrame for Android 是一个集合了 Retrofit2 + RXJava2 + OkHttp3 + Mosby3 二次封装构建的MVP快速开发框架,为敏捷开发而生。
Java
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.idea
app
gradle/wrapper
image
lib
.gitignore
.travis.yml CI Jul 23, 2019
LICENSE
README.md
build.gradle
gradle.properties
gradlew
gradlew.bat
settings.gradle
versions.gradle

README.md

MVPFrame

Image

Download JitPack CI CircleCI API License Blog QQGroup

MVPFrame for Android 是一个集合了 Retrofit2 + RXJava2 + OkHttp3 + Mosby3 二次封装的MVP快速开发框架,为敏捷开发而生。

架构

Image

引入

Maven:

<dependency>
  <groupId>com.king.frame</groupId>
  <artifactId>mvpframe</artifactId>
  <version>1.1.3</version>
  <type>pom</type>
</dependency>

Gradle:

implementation 'com.king.frame:mvpframe:1.1.3'

Lvy:

<dependency org='com.king.frame' name='mvpframe' rev='1.1.3'>
  <artifact name='$AID' ext='pom'></artifact>
</dependency>
如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack来complie)
allprojects {
    repositories {
        maven { url 'https://dl.bintray.com/jenly/maven' }
    }
}

引入的库:

    compileOnly 'com.android.support:appcompat-v7:28.0.0'

    // Model-View-Intent
    api 'com.hannesdorfmann.mosby3:mvi:3.1.1'
    // Plain MVP
    api 'com.hannesdorfmann.mosby3:mvp:3.1.1'
    // MVP + ViewState support
    api 'com.hannesdorfmann.mosby3:viewstate:3.1.1'

    api 'com.squareup.retrofit2:retrofit:2.6.0'
    api 'com.squareup.retrofit2:converter-gson:2.6.0'
    api 'com.squareup.retrofit2:adapter-rxjava2:2.6.0'

    api 'io.reactivex.rxjava2:rxjava:2.2.9'
    api 'io.reactivex.rxjava2:rxandroid:2.1.1'

    api 'com.jakewharton.timber:timber:4.7.1'

示例

集成步骤代码示例 (示例出自于app中)

Step.1 启用DataBinding,在你项目中的build.gradle的android{}中添加配置:

dataBinding {
    enabled true
}

Step.2 通过ApiManager初始化(在你项目的Application中的onCreate方法里面初始化)

//初始化:第一个参数是基本的Url地址,第二个参数是超时时间(单位为秒,可不填,默认为15s)
ApiManager.init(String baseUrl,int timeout);

Step.3 定义一个类似于app中的Api来管理接口

    public class Api {

        private ApiService mApiService;

        private static Api sInstance;

        public static Api getInstance(){
            if(sInstance == null){
                synchronized (Api.class){
                    if(sInstance == null){
                        sInstance = new Api();
                    }
                }
            }
            return sInstance;
        }

        private Api(){
            mApiService = ApiManager.getInstance().getApiService(ApiService.class);
        }

        /**
         * 获取推荐诗词
         * @param callback
         */
        public void getRecommendPoetry(SimpleCallback<Result<PoetryInfo>> callback){
            ApiObserver.subscribe(mApiService.getRecommendPoetry(),callback);
        }

    }

更多使用详情,请查看app中的源码使用示例或直接查看API帮助文档

版本记录

v1.1.3:2019-6-21

  • 优化部分细节
  • Retrofit更新至v2.6.0
  • RxJava更新至v2.2.9

v1.1.2:2019-5-27

  • 完善BindingFragment相关子类

v1.1.1:2019-4-29

  • 新增DataBinding支持
  • Retrofit更新至v2.6.0
  • RxJava更新至v2.2.8
  • RxAndroid更新至v2.1.1

v1.1.0:2018-7-23

  • Retrofit更新至v2.4.0
  • RxJava更新至v2.1.16
  • RxAndroid更新至v2.0.2

v1.0.6:2018-5-17

  • 暴露Dialog更多参数,让配置更加灵活

v1.0.5:2018-1-29

  • 新增默认信任SSL证书,支持https

v1.0.4:2018-1-18

  • 优化BaseProgressDialog

v1.0.3:2017-12-4

  • 新增请求相应Log日志信息方便调试。

v1.0.2:2017-9-21

  • 新增QuickActivity、QuickFragment。

v1.0.1:2017-8-18

  • 将retrofit中的adapter修改为adapter-rxjava2 v1.0

v1.0.0:2017-7-5

  • MVPFrame初始版本

赞赏

如果您喜欢MVPFrame,或感觉MVPFrame帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 😃

您也可以扫描下面的二维码,请作者喝杯咖啡 ☕️

关于我

Name: Jenly

Email: jenly1314#gmail.com / jenly1314#vip.qq.com

CSDN: jenly121

Github: jenly1314

加入QQ群: 20867961

You can’t perform that action at this time.