一种Kotlin优雅的回调写法

本文介绍了如何在Android开发中,利用Kotlin的协程和高阶函数来实现回调,以替代传统的Handler或RxJava方式。通过一个获取百度词条信息并显示在TextView上的例子,展示了如何在IO线程中发起请求并在主线程更新UI,简化了代码,提高了代码的可读性和复用性。
摘要由CSDN通过智能技术生成

众所周知的原因,Android的主线程是不能处理网络请求的,我们从后端拿数据就只能放在异步线程里面处理。我看了一下现在很多模板性的代码,大家基本都还是使用Handler或者是RxJava处理这种异步问题,然后使用Callback接口返回成功的结果或者是失败的Error值。可以理解这种处理方式,毕竟大家都用了多年,也是熟能生巧了。

我之前也是这样做的,但现在使用了Kotlin开发Android之后,发现结合协程再结合高阶函数的方式写回调更好看,下面我举一个例子,从百度词条上请求得到一个String类型的文本,然后显示在TextView上面。

毫无疑问,这是需要使用到IO线程的,所以这里使用lifecycleScope.launch(Dispatchers.IO)开启一个协程作用域。具体代码如下显示:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".SixthActivity">

    <com.google.android.material.textfield.TextInputEditText
        android:id="@+id/textInputEditText"
        android:layout_width="320dp"
        android:layout_height="wrap_content"
        android:hint="在这里写点东西进行请求"
        android:textAlignment="center"
        app:layout_constraintBottom_toTop
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值