亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:2日期: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)文章:
主站蜘蛛池模板: 日韩a无v码在线播放免费 | 一级成人 理伦片 | 欧美日韩亚洲国产一区二区综合 | 久久中文字幕视频 | 精品国产爱久久 | 国产裸舞凸点福利小视频 | 香蕉久久久久 | 大陆黄色网| 国产高清一级片 | 亚洲欧美精品国产一区色综合 | 久久国产乱子伦精品免费强 | 久久精品人 | 亚洲精品久久婷婷爱久久婷婷 | 一级特黄aaa大片在线观看视频 | 免费在线观看中日高清生活片 | 亚洲国产成人久久一区www妖精 | 91av国产视频 | 欧美精品亚洲精品日韩1818 | 日韩国产欧美一区二区三区在线 | 狼人青草久久网尹人 | 国产线路一 | 亚洲3p| 亚洲高清视频免费 | 亚洲欧美精品一区二区 | 看黄网址在线观看 | 国产日韩欧美精品一区二区三区 | 91视频网址 | 青青青久热国产精品视频 | 伊人久久99 | 日韩一级黄 | 手机看片福利日韩 | 国内精品在线视频 | 青青草99久久精品国产综合 | 国产大片线上免费看 | 国产亚洲一区二区精品 | 国产亚洲女在线线精品 | 欧美日韩在线精品成人综合网 | 国产亚洲精品一区二区在线观看 | 激情亚洲天堂 | 福利一区二区在线观看 | 国产成人免费片在线视频观看 |