如何用Kotlin实现MVP架构的Android快速开发框架?

  • 下拉刷新和上拉加载更多

  • 空页面

  • 在断网情况下加载缓存

  • 网络请求错误并重新加载

基于Kotlin的使用说明(Java的使用具体参考java版本的demo)

  • 导入依赖

  • 在根目录中的build.gradle文件中加入

maven { url “https://jitpack.io” }

  • 在应用下的build.gradle文件中加入

  • 在自定义的Application类中的onCreate方法中初始化CommonLibrary

//初始化KCommon

CommonLibrary.instance.initLibrary(this,

BuildConfig.APP_URL,

ApiService::class.java,

CacheService::class.java)

详细说明

  • CommonLibrary.instance.initLibrary()

/**

  • 初始化

  • @param context Application

  • @param baseUrl retrofit所需的baseUrl

  • @param apiClass retrofit使用的ApisService::Class.java

  • @param cacheClass rxcache使用的CacheService::Class.java

  • @param spName Sharedpreference文件名称

  • @param isDebug 是debug环境还是release环境。debug环境有网络请求的日志,release反之

  • @param startPage 分页列表的起始页,有可能是0,或者是2,这个看后台

  • @param pageSize 分页大小

  • @param headerMap 网络请求头的map集合,便于在网络请求添加统一的请求头,比如token之类

  • @param errorHandleMap 错误处理的map集合,便于针对相关网络请求返回的错误码来做相应的处理,比如错误码401,token失效需要重新登录

  • @param onPageCreateListener 对应页面activity或fragment相关生命周期的回调,便于在页面相关时机做一些统一处理,比如加入友盟统计需要在所有页面的相关生命周期加入一些处理

  • @param onPageDestroyListener 对应页面activity或fragment相关生命周期的回调,便于在页面相关时机做一些统一处理,比如加入友盟统计需要在所有页面的相关生命周期加入一些处理

  • @param onPageResumeListener 对应页面activity或fragment相关生命周期的回调,便于在页面相关时机做一些统一处理,比如加入友盟统计需要在所有页面的相关生命周期加入一些处理

  • @param onPagePauseListener 对应页面activity或fragment相关生命周期的回调,便于在页面相关时机做一些统一处理,比如加入友盟统计需要在所有页面的相关生命周期加入一些处理

*/

fun initLibrary(

context: Application,

baseUrl: String,

apiClass: Class<*>,

cacheClass: Class<*>,

spName: String = “kcommon”,

isDebug: Boolean = true,

作者:BlackFlagBin

原文地址:https://segmentfault.com/a/1190000014387119?utm_source=sf-related

该项目作者最近还有维护,虽然还存在一些问题,但是对很多人来说还是有很多值得学习的地方。感兴趣的朋友可以深入钻研一下。

以上就是本次的Kotlin项目实战分享,下面我想带给大家的是由国外某大佬整理出来的Kotlin学习手册《kotlin 从入门到精通》。

这个手册,内容深入浅出,把知识点进行了详细的拆分讲解,非常适合作为新手入门的第一份资料。文件免费分享,需要的朋友记得**点赞+留言,然后点击这里的蓝色字体进入我的GitHub,**里面有领取通道。

目录
  • 准备开始

  • 基础

  • 类和对象

  • 函数和lambda表达式

  • 互用性

  • 工具

  • FAQ

  • ……

准备开始
  • 基本语法

  • 习惯用语

  • 编码风格

  • ……

基础
  • 基本类型

  • 控制流

  • 返回与跳转

  • ……

类和对象
  • 类和继承

  • 属性和字段

  • 接口

  • 可见性修饰词

  • 扩展

  • 数据对象

  • 泛型

  • 嵌套类

  • 枚举类

  • 对象表达式和声明

  • 代理模式

  • 代理属性

  • ……

函数和lambda表达式
  • 函数

  • 高级函数和lambda表达式

【附】相关架构及资料

源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术,和技术大牛一起讨论交流解决问题。

image

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术,和技术大牛一起讨论交流解决问题。

[外链图片转存中…(img-Z9MoW7D4-1715247243409)]

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值