由于Retrofit是基于OkHttp开发的,因此添加上述第一条依赖会自动将Retrofit、OkHttp和 Okio这几个库一起下载,我们无须再手动引入OkHttp库。另外,Retrofit还会将服务器返回的 JSON数据自动解析成对象,因此上述第二条依赖就是一个Retrofit的转换库,它是借助GSON 来解析JSON数据的,所以会自动将GSON库一
一个基于MVVM用Kotlin+Retrofit+协程+ViewBinding+Flow来封装的快速开发框架: 项目地址:MVVMLin 2.0.1 版本后不再支持 DataBinding, 原因是 DataBinding 需要 kapt 插件的支持, 目前有速度更快的 KSP 来替代 kapt,但是 KSP 压根没打算支持DataBinding。Google 也在放弃DataBinding 了。猜测原因是有更好用的 Compose 出...
可组合性:Flow操作符可以按需组合,形成一个完整的数据流处理链,可以方便地进行过滤、转换、合并等操作。 异常处理:Flow提供了异常处理机制,可以方便地捕获和处理网络请求中发生的异常。 2. 网络请求封装 2.1 创建网络请求接口 首先,我们需要创建一个网络请求接口,用于定义我们的网络请求API。可以使用Retrofit库来简化接...
支持Flow+Retrofit+OkHttp实现链式http请求 支持Rxjava+Retrofit+OkHttp实现链式http请求 封装基类:BaseActivity、BaseVMActivity、BaseFragment、BaseVMFragment、RecycleAdapter、BaseViewModel 引入LifeCycle,将ViewModel和Activity的生命周期绑定在一起 将在Application中初始化移至到ContentProvider中,从而不用封装BaseApplicat...
支持Flow+Retrofit+OkHttp实现链式http请求 支持Rxjava+Retrofit+OkHttp实现链式http请求 封装基类:BaseActivity、BaseVMActivity、BaseFragment、BaseVMFragment、RecycleAdapter、BaseViewModel 封装工具扩展类:CalendarExt、ContextExt、DateExt、EditTextExt、GsonExt、RxJavaExt、StringExt、SnackbarExt 引入LifeCycle,将ViewM...
kotlin--Flow结合retrofit运用 androidhttp kotlin集成retrofit获取网络数据,将数据通过Flow发射 效果: 1.定义实体类和网络相关 实体类: package com.aruba.flowapplyapplication.model data class Article(val id: Int, val text: String) Api: package com.aruba.flowapplyapplication.net import com.aruba.flowapply...
如果每次我们都要先对ResponseCode进行区分,然后获取我们真正需要的结果,那就会有很多重复代码,所以我们需要封装一下。 设计思路 我首先想到的是利用Retrofit的Builder自定义一个转换器,但在实现时遇到了一些问题,所以先放下,以后可以再尝试。 Retrofit.Builder().addConverterFactory(GsonConverterFactory.create(gson)) ...
通过基础网络库(类似于:LibNetwork, 一般是业务方对Retrofit的封装)获取网络数据 在Repository 层将请求数据转化为LiveData<RepositoryData<T>>,请求场景分多种: 网络请求 本地请求,通常指 Room 数据库 网络请求 + 本地请求,用于先显示本地数据,在请求网络数据成功后刷新界面的场景 ...
🚀 SumTea是一个基于组件化+模块化+Kotlin+协程+Flow+Retrofit+Jetpack+MVVM+短视频架构实现的 WanAndroid 客户端。 能提供大家学习如何从0到1打造一个符合大型Android项目的架构模式。 项目截图项目截图项目截图项目截图 一、 关于SumTea 1. 项目架构
本文地址 目录 24 | 实战:让 KtHttp 支持 Flow 在之前的 4.0 版本中,为了让 KtHttp 支持挂起函数,有两种思路,一种是改造内部,另一种是扩展外部。同理,为了让 KtHttp 支持 Flow,也是这两种思路。 5.0 版本,基于 4.0 版本的代码,从 KtHttp 的外部