All Projects → cn-ljb → Mvp Kotlin

cn-ljb / Mvp Kotlin

android mvp and auto code

Programming Languages

kotlin
9241 projects

Labels

Projects that are alternatives of or similar to Mvp Kotlin

Juzimi
句子迷APP,MVP架构,Okhttp + Retrofit + RxJava,图片加载Glide,数据库Object-box
Stars: ✭ 156 (-19.59%)
Mutual labels:  mvp
Mvpautocodeplus
🔌An IDEA/Android Studio plug-in that automatically generates an MVP template code
Stars: ✭ 176 (-9.28%)
Mutual labels:  mvp
Cartoon
漫画软件——使用MVP + Retrofit + RxJava开发
Stars: ✭ 186 (-4.12%)
Mutual labels:  mvp
Omi
Front End Cross-Frameworks Framework - 前端跨框架跨平台框架
Stars: ✭ 12,153 (+6164.43%)
Mutual labels:  mvp
Wanandroid
玩安卓客户端(Java版)
Stars: ✭ 166 (-14.43%)
Mutual labels:  mvp
Zhihu zhuanlan apis
知乎专栏API分析
Stars: ✭ 179 (-7.73%)
Mutual labels:  mvp
Jd Mall Master
一款高仿京东商城的UI,基于MVP的Retrofit2(okhttp3)+rxjava+dagger2+greendao+glide。该项目系仿京东商城,属于独立开发者作品,仅供参考学习,拒绝做一切商业用途,如有侵权,请告知删除
Stars: ✭ 151 (-22.16%)
Mutual labels:  mvp
Android Mvp Dagger2 Flytranslate
MVP+RxJava+Retrofit+Dagger2, FlyTranslate是基于MVP开发的Android应用程序的通用架构集成了许多开源项目如Dagger2,RxJava,Retrofit ,使您的开发更快捷,更轻松。
Stars: ✭ 188 (-3.09%)
Mutual labels:  mvp
Jreadhub
Readhub Android 客户端——官网 : https://readhub.cn
Stars: ✭ 168 (-13.4%)
Mutual labels:  mvp
Android Spotify Mvp
Android Sample to explain Model View Presenter in android applications.
Stars: ✭ 184 (-5.15%)
Mutual labels:  mvp
Jbusdriver
这是去幼儿园的班车(滑稽
Stars: ✭ 2,056 (+959.79%)
Mutual labels:  mvp
Lovedoudou
爱逗逗——集新闻资讯,影视评论,漂亮妹子,视频播放于一身的app,用于练习MVP+Retrofit+RxJava+Glide框架,如今将其开源,仅供学习探讨,禁止商用。
Stars: ✭ 165 (-14.95%)
Mutual labels:  mvp
Android Firebase Kotlin Java Mvp Mvc Mvvm Chat
Simple chat Application with one to one connectivity using Firebase Real time Database written in MVC,MVP and MVVM architecture to better understand the android coding patterns. Purpose of writing same application functionality with 3 different pattern is to show how single application can be developed using 3 different patterns(Mvc, Mvp, Mvvm).
Stars: ✭ 180 (-7.22%)
Mutual labels:  mvp
Iquephoto
Android Image Editor Application.
Stars: ✭ 156 (-19.59%)
Mutual labels:  mvp
Cookman
一款菜谱查询工具Android APP
Stars: ✭ 186 (-4.12%)
Mutual labels:  mvp
Android Video Listing Mvp
Android video listing with swipe view tabs based on mvp design pattern with complete functionalities like search and sort
Stars: ✭ 151 (-22.16%)
Mutual labels:  mvp
Readhub
ReadHub Client 非官方客户端
Stars: ✭ 179 (-7.73%)
Mutual labels:  mvp
Mvpdemo
Stars: ✭ 193 (-0.52%)
Mutual labels:  mvp
Androidgeek
"Android Geek(Android极客)"一个专门为Android程序猿打造的极客应用。主要包括: 干货笔记、GitHub Trending、密码管理 .......
Stars: ✭ 187 (-3.61%)
Mutual labels:  mvp
Androidbasemvp
🚀一个快速搭建MVP+RxJava2+Retrofit 基础框架,主要是封装有Http网络请求、日志、缓存、加载等待、toast、页面状态布局管理、权限、RxBus、Glide图片加载等组件,方便快速开发新项目、减少开发成本。
Stars: ✭ 184 (-5.15%)
Mutual labels:  mvp

MVPKotlin

https://github.com/cn-ljb/mvp-kotlin

快捷、高效、低耦合的Android MVP架构,支持Java、Kotlin混编。

kotlin-mvp

视频演示

[高清视频,点击这里]

扫码查看Demo App:

mvp

集成方式

  • 1、Project的build.gradle文件添加如下代码:
allprojects {
    repositories {
      	...
        maven { url 'https://jitpack.io' }
    }
}
  • 2、主Module的build.gradle添加依赖:
//mvp core
implementation 'com.github.cn-ljb:kotlin-mvp-lib:1.2.0'

//网络库lib、数据库lib 根据项目实际情况引入
//net lib
implementation 'com.github.cn-ljb:netlib:1.0.1'
//dao lib
implementation 'com.github.cn-ljb:daolib:1.0.1'

lib源码:kotlin-mvp-libnet-libdao-lib

概述

为什么要使用MVP架构?

通常Android项目结构中,我们会在Activity\Fragment中编写大量代码,例如:网络请求、IO操作、数据填充、页面切换等,这种项目结构宏观的称之为MVC。

MVC:我们可以把数据源(网络请求、IO...)看作Model层,xml等布局文件看作View层,Activity\Fragment看作Controller层。但在android中xml能力太薄弱了,以至于Activity做了很多本不属于它的工作。

MVP:在MVP架构中Model层与MVC一样存放数据源(网络请求、IO...),将Activity\Fragment都看作为View层,仅负责UI展示和数据填充,将Model层与View层的交互操作交给Presenter层。

MVP架构图

mvp

特点

  • 1、V层由Activity和Fragmen组成,且仅负责UI展示、数据填充等工作,分工明确;
  • 2、M层完全与V层隔离,P层作为V层与M层的桥梁,承担中间人角色(V通过P获取M数据);
  • 3、V层与P层对象相互持有,通过Constract限制两者的访问域,降低耦合;
  • 4、P层持有M层对象,通过Constract限制P层可访问域,降低耦合;

扩展

考虑到实际项目中Model层主要操作是net和db,为了统一调用api,对net和db进行了封装,通过Factory.getProtocol()产出具体的操作实例。

net-lib: rxjava2 + rxAndroid + okhttp3 + retrofit2

dao-lib: rxjava2 + rxAndroid + sqlite

mvp

代码示例

[祥见视频演示]

Kotlin MVP Auto 插件

我们知道View、Presenter、Model、Constact需要编写固定的套路代码来进行关联,比如集成某一个Base类,实现某个固定接口。

为了提高开发效率,配合该MVP库专门为开发者提供Kotlin MVP Auto插件来帮你统统搞定。

安装插件

操作: File -> Settings -> Plugins -> Kotlin MVP Auto -> install

plugin_install

插件演示

  • 自动生成View、Presenter、Model、Contract Kotlin文件

操作:包目录右键 -> New MVP Kotlin -> 输入模块名称 -> OK

kotlin-mvp

  • 自动生成View、Presenter、Model、Contract Java文件

操作:包目录右键 -> New MVP Java -> 输入模块名称 -> OK

Demo App 截图

simple

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].