国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Android使用 Coroutine + Retrofit打造簡(jiǎn)單的HTTP請(qǐng)求庫(kù)

瀏覽:3日期:2022-09-20 10:12:05

基于 kotlin/coroutine/retrofit/jetpack 打造,100來(lái)行代碼,用法超級(jí)簡(jiǎn)單舒適

設(shè)置默認(rèn)Retrofit工廠和全局錯(cuò)誤處理程序

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

基本用法

data class Reault(val data:String)interface TestService { @GET('test') fun test(): Call<Reault> } // 在 activity/fragment 中使用,獲取請(qǐng)求結(jié)果http<TestService>().test().result(this) { // it 是 Reault}// 在 activity/fragment 中使用,獲取請(qǐng)求響應(yīng)對(duì)象http<TestService>().test().response(this) { // it 是 Response<Result>}

顯示請(qǐng)求狀態(tài),基于 HttpCall擴(kuò)展出 withSpinning 方法

fun <T : Any> HttpCall<T>.withSpinning(activity: FragmentActivity, spinning: Boolean = false, text: String = ''): HttpCall<T> { activity.apply { if (isFinishing || isDestroyed) return@apply val dialog = showLoading(spinning, text) finally { dialog.dismiss() } } return this}http<TestService>().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' }

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 国产一区2区 | 亚洲激情自拍 | 神马午夜在线 | 91久久国产精品视频 | 成人aaa| 欧美成人aaaa免费高清 | 页面升级亚洲 | 国产精品久久久久久久网站 | 一级做a级爰片性色毛片视频 | 萌白酱国产一区 | 一级国产交换配乱淫 | 日本精品99 | 伊人色综合久久天天人手人停 | 国产日韩欧美swag在线观看 | 欧美性猛交xxxxx按摩国内 | 久久亚洲精品中文字幕第一区 | aaa色| 美国一级毛片片aa成人 | 免费一级毛片正在播放 | 久久精品久久精品国产大片 | 2022国产精品网站在线播放 | 成年免费在线观看 | 女人扒开双腿让男人捅 | 福利片成人午夜在线 | 无内丝袜透明在线播放 | 美女视频网站免费播放视 | 成人国产精品毛片 | 欧美高清一级 | 国产成人精品曰本亚洲 | 精品久久久久久久九九九精品 | 日韩乱码视频 | tubesexvideo日本护士 | 亚洲综合色自拍一区 | 日韩免费一级 | 欧美一级欧美一级高清 | 毛片在线看网站 | 国产一起色一起爱 | 国产国产成人精品久久 | 欧美日韩国产成人精品 | 国产成人91 | 国产三级高清 |