240 发简信
IP属地:上海
  • 有个问题 请教下 使用okhppt去做的网络缓存 如果把网络请求的错误逻辑及断网等放在网络请求里面去处理 而不放在pagesource中时候 怎么去处理数据同步的问题

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

    定义 Google 推出的一个应用于 Android 平台的分页加载库; Paging3和之前版本相差很多,完全可以当成一个新库去学习 之前我们使用ListView和Recy...

  • 120
    StatusBarUtil 状态栏工具类(实现沉浸式状态栏/变色状态栏)

    这是一个为Android App 设置状态栏的工具类, 可以在4.4及其以上系统中实现 沉浸式状态栏/状态栏变色,支持设置状态栏透明度 特性 设置状态栏颜色 StatusBa...

  • 记得toast有个方法可以自定义view 几年前自定义写过 现在不确定了 用pop这种形式写 感觉大材小用了哈

    Android 自定义Toast

    原生的Toast其实相当好用,而且足够简单轻量,但是架不住需求千奇百怪,而且老板一般都会觉得这个提示不明显!原本Toast是可以自定义样式的,但现在setView方法已经过期...

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

    Android 获取当前Activity

    获取当前Activity最主要的作用当然是为了能随时获取Context,超多地方都需要用到它 什么是Context 源码中的注释是这么来解释Context的:Context提...

  • 这么做的意思是什么??什么场景?

    Android 获取当前Activity

    获取当前Activity最主要的作用当然是为了能随时获取Context,超多地方都需要用到它 什么是Context 源码中的注释是这么来解释Context的:Context提...

  • 120
    flutter SmartRefreshBloc页面快速开发模板,支持列表,支持stateful

    项目地址:https://github.com/yinlingchaoliu/SmartRefreshBloc 编写项目的思路 flutter处处体现widget,我们开发过...

  • 协程的初学者 写的不合理或者理解的不对的地方请多多指导

    Retrofit + 协程封装,如何优雅的去掉try catch?

    作者:ChengTao Retrofit 2.6.0 版本后对 suspend 方法进行了支持,对使用 kotlin 的开发者来说简直是福音, 但是执行 suspend 方法...

  • 为了一个异常。这么多的代码是否值得?
    这是我学习协程写的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 ?: "异常")
    })
    {
    // 异步执行
    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)
    }
    }

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

    Retrofit + 协程封装,如何优雅的去掉try catch?

    作者:ChengTao Retrofit 2.6.0 版本后对 suspend 方法进行了支持,对使用 kotlin 的开发者来说简直是福音, 但是执行 suspend 方法...

个人介绍
天上白玉京,十二楼五城。仙人抚我顶,结发受长生。