热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Android使用Coroutine+Retrofit打造简单的HTTP请求库

这篇文章主要介绍了Android使用Coroutine+Retrofit打造简单的HTTP请求库,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下

基于 kotlin/coroutine/retrofit/jetpack 打造,100来行代码,用法超级简单舒适

设置默认Retrofit工厂和全局错误处理程序

HttpCall.init(retrofitFactory = {
  // ...
}, errorHandler = { throwable ->
  // ...
}) 

基本用法

data class Reault(val data:String)

interface TestService { 
  @GET("test")
  fun test(): Call 
} 

// 在 activity/fragment 中使用,获取请求结果
http().test().result(this) {
  // it 是 Reault
}

// 在 activity/fragment 中使用,获取请求响应对象
http().test().response(this) {
  // it 是 Response
}

显示请求状态,基于 HttpCall扩展出 withSpinning 方法

fun  HttpCall.withSpinning(activity: FragmentActivity, spinning: Boolean = false, text: String = ""): HttpCall {
  activity.apply {
    if (isFinishing || isDestroyed) return@apply
    val dialog = showLoading(spinning, text)

    finally { dialog.dismiss() }
  }
  return this
}


http().test().result(this) {
  Log.e("api", it.data)
}.withSpinning(this) 

引入

https://github.com/czy1121/httpcall

repositories { 
  maven { url "https://gitee.com/ezy/repo/raw/android_public/"}
} 
dependencies {
  implementation "me.reezy.jetpack:httpcall:0.4.0" 
}


推荐阅读
author-avatar
PHP小白
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有