240 發(fā)簡(jiǎn)信
IP屬地:上海
  • 有個(gè)問題 請(qǐng)教下 使用okhppt去做的網(wǎng)絡(luò)緩存 如果把網(wǎng)絡(luò)請(qǐng)求的錯(cuò)誤邏輯及斷網(wǎng)等放在網(wǎng)絡(luò)請(qǐng)求里面去處理 而不放在pagesource中時(shí)候 怎么去處理數(shù)據(jù)同步的問題

    Android Jetpack系列--6. Paging3使用詳解

    定義 Google 推出的一個(gè)應(yīng)用于 Android 平臺(tái)的分頁加載庫匈子; Paging3和之前版本相差很多路召,完全可以當(dāng)成一個(gè)新庫去學(xué)習(xí) 之前我們使用ListView和Recy...

  • 120
    StatusBarUtil 狀態(tài)欄工具類(實(shí)現(xiàn)沉浸式狀態(tài)欄/變色狀態(tài)欄)

    這是一個(gè)為Android App 設(shè)置狀態(tài)欄的工具類, 可以在4.4及其以上系統(tǒng)中實(shí)現(xiàn) 沉浸式狀態(tài)欄/狀態(tài)欄變色挺狰,支持設(shè)置狀態(tài)欄透明度 特性 設(shè)置狀態(tài)欄顏色 StatusBa...

  • 記得toast有個(gè)方法可以自定義view 幾年前自定義寫過 現(xiàn)在不確定了 用pop這種形式寫 感覺大材小用了哈

    Android 自定義Toast

    原生的Toast其實(shí)相當(dāng)好用,而且足夠簡(jiǎn)單輕量学赛,但是架不住需求千奇百怪年堆,而且老板一般都會(huì)覺得這個(gè)提示不明顯!原本Toast是可以自定義樣式的盏浇,但現(xiàn)在setView方法已經(jīng)過期...

  • @楓未晚 直接用application中的上下文就可以了哈 自己管理控制器棧但是很常用??

    Android 獲取當(dāng)前Activity

    獲取當(dāng)前Activity最主要的作用當(dāng)然是為了能隨時(shí)獲取Context变丧,超多地方都需要用到它 什么是Context 源碼中的注釋是這么來解釋Context的:Context提...

  • 這么做的意思是什么?绢掰?什么場(chǎng)景痒蓬?

    Android 獲取當(dāng)前Activity

    獲取當(dāng)前Activity最主要的作用當(dāng)然是為了能隨時(shí)獲取Context,超多地方都需要用到它 什么是Context 源碼中的注釋是這么來解釋Context的:Context提...

  • 120
    flutter SmartRefreshBloc頁面快速開發(fā)模板曹质,支持列表,支持stateful

    項(xiàng)目地址:https://github.com/yinlingchaoliu/SmartRefreshBloc 編寫項(xiàng)目的思路 flutter處處體現(xiàn)widget,我們開發(fā)過...

  • 協(xié)程的初學(xué)者 寫的不合理或者理解的不對(duì)的地方請(qǐng)多多指導(dǎo)

    Retrofit + 協(xié)程封裝宅静,如何優(yōu)雅的去掉try catch章蚣?

    作者:ChengTao Retrofit 2.6.0 版本后對(duì) suspend 方法進(jìn)行了支持,對(duì)使用 kotlin 的開發(fā)者來說簡(jiǎn)直是福音姨夹, 但是執(zhí)行 suspend 方法...

  • 為了一個(gè)異常纤垂。這么多的代碼是否值得?
    這是我學(xué)習(xí)協(xié)程寫的demo

    fun <T> requestWithCoroutine(
    scope: LifecycleCoroutineScope?,
    block: suspend () -> APIModel<T>,
    onSuccess: ((T) -> Unit)? = null,
    onFailure: ((code: Int, message: String) -> Unit)? = null
    ) {
    scope?.launch(CoroutineExceptionHandler { _, throwable ->
    onFailure?.invoke(404, throwable.localizedMessage ?: "異常")
    })
    {
    // 異步執(zhí)行
    val apiModel = withContext(Dispatchers.IO) {
    println("name1 " + Thread.currentThread().name)
    block.invoke()
    }
    // 切換主線程
    println("name2 " + Thread.currentThread().name)
    if (apiModel.iCode == 200) {
    onSuccess?.invoke(apiModel.getaData())
    return@launch
    }
    onFailure?.invoke(apiModel.iCode, apiModel.sMessage)
    }
    }

    // 調(diào)用
    APIManager.requestWithCoroutine(
    view?.lifecycle?.coroutineScope,
    block = { APIManager.api().getBook2(hashMap) },
    onSuccess = {
    view?.requestSuccess(it)
    },
    onFailure = { _, msg ->
    view?.requestFailure(msg)
    }
    )

    Retrofit + 協(xié)程封裝磷账,如何優(yōu)雅的去掉try catch峭沦?

    作者:ChengTao Retrofit 2.6.0 版本后對(duì) suspend 方法進(jìn)行了支持,對(duì)使用 kotlin 的開發(fā)者來說簡(jiǎn)直是福音逃糟, 但是執(zhí)行 suspend 方法...

個(gè)人介紹
天上白玉京巷送,十二樓五城。仙人撫我頂矛辕,結(jié)發(fā)受長(zhǎng)生笑跛。
亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品