![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kotlin
文章平均质量分 58
qczg_wxg
这个作者很懒,什么都没留下…
展开
-
王学岗-------kotlin 协程补遗
协程转载 2023-02-24 14:19:50 · 124 阅读 · 0 评论 -
王学岗协程(十二)————项目实战
kotlin项目原创 2022-11-06 22:41:36 · 116 阅读 · 0 评论 -
王学岗协程(十一)————Flow与Jetpack Paging3
Flow与Jetpack Paging3原创 2022-11-06 12:15:51 · 716 阅读 · 0 评论 -
王学岗Kotlin协程(二)————协程的启动与取消
20-launch与async返回值比较launch与async构建器都是用来启动新协程,区别:launch:返回一个job并且不附带任何结果值async:返回一个Defrred,Defrred也是一个job,可以使用.await()在一个延期的值上得到它最终的结果//使用runBlocking把主线程包装成主协程,而launch和async则分别启动新的协程,//新的协程是runBlocking的子协程,runBlocking会等子协程执行完毕 @Test fun `my te原创 2021-10-31 00:55:58 · 1750 阅读 · 0 评论 -
王学岗Kotlin协程(三)---协程的上下文与协程的异常处理
协程的上下文我们使用构建器Launch去启动协程的时候,都需要指定协程上下文(没有显示指定会使用默认值)。协程上下文(CoroutineContext)是一组用于定义协程的行为元素。它由如下几项构成job(控制协程的生命周期),CoroutineDispatcher(向合适的线程发任务),CoroutineName(协程的名称,调用的时候很有用),CoroutineExceptionHandler(处理未被捕获的异常)1,协程上下文的继承对于新创建的线程,它的CoroutineCoroutineC原创 2021-10-31 21:40:56 · 1551 阅读 · 0 评论 -
王学岗协程(十)————SharedFlow
SharedFlow 会向从其中收集值得所有使用方发出数据先看下布局<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" andro原创 2021-12-08 15:36:10 · 146 阅读 · 0 评论 -
王学岗协程(九)————StateFlow
stateFlow是热流,与LiveData 非常相似先看界面<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" a原创 2021-12-08 15:11:10 · 211 阅读 · 0 评论 -
王学岗协程(八)————Flow与retrofit应用
应用也简单,EditText中输入内容搜索,然后显示相关内容先看下布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"原创 2021-12-07 17:39:53 · 2387 阅读 · 0 评论 -
王学岗协程(七)————Flow与Room应用
看下应用效果点击addUser,就增加一条数据,同步到下面的RecyclerView。界面很简单,没什么可讲的<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_wi原创 2021-12-07 01:20:03 · 502 阅读 · 0 评论 -
王学岗协程(六)————Flow与文件下载的应用
应用很简单,就是点击下载,更新进度条。核心泪package com.dongnaoedu.flowpractice.downloadimport kotlinx.coroutines.flow.Flowimport kotlinx.coroutines.flow.catchimport kotlinx.coroutines.flow.flowimport okhttp3.OkHttpClientimport okhttp3.Requestimport java.io.Fileimport原创 2021-12-06 13:36:57 · 1527 阅读 · 0 评论 -
王学岗Kotlin协程(五)————Channel通道-多路复用-并发安全
使用chanel进行通信 @Test fun `test know channel`() = runBlocking<Unit> { val channel = Channel<Int>() //生产者 val producer = GlobalScope.launch { var i = 0 while (true) { delay(1000)原创 2021-11-22 22:07:06 · 2602 阅读 · 0 评论 -
王学岗Kotlin协程(四)————Flow异步流
异步返回值的多个方案 //返回了多个值,但不是异步 fun simpleList(): List<Int> = listOf<Int>(1, 2, 3) //返回了多个值,是同步 fun simpleSequence(): Sequence<Int> = sequence { for (i in 1..3) { Thread.sleep(1000) //阻塞,假装在计算 //原创 2021-11-21 23:51:44 · 1464 阅读 · 0 评论 -
王学岗Kotlin协程(一)————认识协程与协程上手
一:协程是什么?协程基于线程,是轻量级的线程coroutine = cooperation+routine二:在android中协程用来解决什么问题?1,处理耗时任务,这种任务常常会阻塞主线程2,保证主线程安全,确保安全的从主线程调用任何suspend函数(挂起函数)异步任务已经过时,google建议我们使用协程取代异步任务。三:创建项目工程与相关配置android studio基本上帮我们创建好了,我们不需要添加什么四:异步任务先来个界面,只有一个TextVIew和一个Button,代原创 2021-10-30 23:10:49 · 1590 阅读 · 0 评论