Android使用 Coroutine + Retrofit打造簡(jiǎn)單的HTTP請(qǐng)求庫(kù)
基于 kotlin/coroutine/retrofit/jetpack 打造,100來行代碼,用法超級(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" }
- Android ViewModel的使用總結(jié)
- Android Jetpack架構(gòu)組件 ViewModel詳解
- 解決android viewmodel 數(shù)據(jù)刷新異常的問題
- Android-ViewModel和LiveData使用詳解
- Android通過ViewModel保存數(shù)據(jù)實(shí)現(xiàn)多頁(yè)面的數(shù)據(jù)共享功能
- Android使用Retrofit上傳文件功能
- android Retrofit2網(wǎng)絡(luò)請(qǐng)求封裝介紹
- Android Retrofit框架的使用
- Github簡(jiǎn)單易用的?Android?ViewModel?Retrofit框架
相關(guān)文章
解決Android 10/Android Q手機(jī)在后臺(tái)無法正常定位問題
這篇文章主要介紹了解決Android 10/Android Q手機(jī)在后臺(tái)無法正常定位問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11React Native中Android物理back鍵按兩次返回鍵即退出應(yīng)用
這篇文章主要給大家介紹了關(guān)于React Native中Android物理back鍵按兩次返回鍵即退出應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10Android WebView調(diào)用本地相冊(cè)的方法
這篇文章主要為大家詳細(xì)介紹了Android WebView調(diào)用本地相冊(cè)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12Android實(shí)現(xiàn)本地圖片選擇及預(yù)覽縮放效果
這篇文章主要為大家詳細(xì)介紹了Android仿春雨醫(yī)生,實(shí)現(xiàn)本地圖片選擇及預(yù)覽縮放效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03使用android studio開發(fā)工具編譯GBK轉(zhuǎn)換三方庫(kù)iconv的方法
這篇文章主要介紹了使用android studio開發(fā)工具編譯GBK轉(zhuǎn)換三方庫(kù)iconv的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06Android?使用flow實(shí)現(xiàn)倒計(jì)時(shí)的方式
這篇文章主要介紹了Android?使用flow實(shí)現(xiàn)倒計(jì)時(shí)的方式,借助Flow這個(gè)工具,更加優(yōu)雅地實(shí)現(xiàn)這個(gè)需求功能,文末給大家整理了Android?實(shí)現(xiàn)倒計(jì)時(shí)的幾種方式,需要的朋友可以參考下2022-04-04