Flow是Kotlin提供的一种数据流处理工具,用于处理异步、时间相关的操作。它是一种Cold Stream,只有在被收集时才会产生数据,并且可以被取消和暂停。 使用协程和Flow,我们可以将网络请求抽象为一个数据流,用一个简单的函数来描述网络请求的过程。 1.1 Flow的用法 Flow是Kotlin提供的一种响应式流处理库,用于处理异步、时...
在使用Kotlin Flow时,可以使用try-catch块来捕获网络请求中可能出现的异常,并将异常转化为一个Flow对象。这样,在使用Kotlin Flow的collect方法时,可以通过判断Flow中的数据类型来确定是否出现了错误,并进行相应的处理。 使用Retrofit + Kotlin Flow处理错误的优雅方法可以分为以下几个步骤: 定义一个统一的错误处...
kotlin interfaceApiServiceV6{@GET("/repo")funreposFlow(@Field("lang")lang:String,@Field("since")since:String): Flow<RepoList>} 注意:reposFlow()方法是一个普通的函数,并不是挂起函数,所以并不需要在协程中调用。 KtCall 和 Callback 由于直接返回了Flow<RepoList>,所以之前定义的KtCall、Callback其实...
import com.example.android_flow_practice.databinding.FragmentArticleBinding import com.example.android_flow_practice.databinding.FragmentDownloadBinding import com.example.android_flow_practice.viewmodel.ArticleViewModel import com.example.android_flow_practice.viewmodel.UserViewModel import kotlinx.coroutines.chann...
Kotlin与Retrofit结合有哪些优势? 如何在Kotlin中使用Retrofit进行GET请求? 前言 Retrofit是现在比较流行的网络请求框架,可以理解为okhttp的加强版,底层封装了Okhttp。 准确来说,Retrofit是一个RESTful的http网络请求框架的封装。因为网络请求工作本质上是由okhttp来完成,而Retrofit负责网络请求接口的封装。 https://square...
本项目是一个Android Kotlin框架项目,目的是为Android原生开发者提供一个快速开发的框架。主要功能是网络数据请求以及文件断点下载。 项目链接:https://gitee.com/hepta/PersonPicture 2.网络请求Retrofit + Flow 2.1 操作手册, 超级简单 在viewmodel中发送请求;person是一个MutableLiveData对象 ...
【58】kotlin Retrofit 在项目中 的应用与封装,基于okhttp封装的网络库。简单配置就能进行网络请求。Rx完美结合。官网地址:https://square.github.io/retrofit/-官方文档介绍一共三部第一步自建service第二步创建请求,第三步使用请求...
没有使用过RxJava的可以不用学了,建议直接去学习Kotlin Flow,以后Kotlin开发是趋势了Google现在也在大力推Kotlin。 好了,废话不多说了,下面正式开始介绍下自己封装的请求框架,写的不好的地方轻点喷 ^-^ / BaseResponse / 相信大家服务器返回的Json结构都是类似下面这种...
Kotlin+Flow+Retrofit+OKHttp+ViewBanding+ViewModel+LiveData封装的MVVM框架,支持协程方式访问网络请求,kotlin最新的编译时框架ksp,可定义全局加载失败页面,并支持全局刷新数据的点击时间,还可定义全局列表的空页面 主页 取消 保存更改 Android 1 https://gitee.com/catchpig/kmvvm.git git@gitee.com:catchpig/kmvvm...
🚀 SumTea是一个基于组件化+模块化+Kotlin+协程+Flow+Retrofit+Jetpack+MVVM+短视频架构实现的 WanAndroid 客户端。 能提供大家学习如何从0到1打造一个符合大型Android项目的架构模式。 项目截图项目截图项目截图项目截图 一、 关于SumTea 1. 项目架构