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

本文介绍了如何在Android应用中使用Kotlin实现下拉刷新和上拉加载更多功能,涉及网络请求的缓存、错误处理和初始化库的详细步骤,以及配合MVP架构的开发实践。作者还分享了《kotlin从入门到精通》的学习资源和面试技巧
摘要由CSDN通过智能技术生成
  • 下拉刷新和上拉加载更多

  • 空页面

  • 在断网情况下加载缓存

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

基于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表达式
    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

文末

不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊

小编将自己6年以来的面试经验和学习笔记都整理成了一个**937页的PDF,**以及我学习进阶过程中看过的一些优质视频教程。

其实看到身边很多朋友抱怨自己的工资很低,包括笔者也是一样的,其原因是在面试过程中没有给面试官一个很好的答案。所以笔者会持续更新面试过程中遇到的问题,也希望大家和笔者一起进步,一起学习。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

过程中看过的一些优质视频教程。

[外链图片转存中…(img-lM6x6gFw-1713546103838)]

其实看到身边很多朋友抱怨自己的工资很低,包括笔者也是一样的,其原因是在面试过程中没有给面试官一个很好的答案。所以笔者会持续更新面试过程中遇到的问题,也希望大家和笔者一起进步,一起学习。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值