Kotlin协程
文章平均质量分 67
m0_47914176
这个作者很懒,什么都没留下…
展开
-
Android - - - Paging3
Paging 库可帮助您加载和显示来自本地存储或网络中更大的数据集中的数据页面。此方法可让您的应用更高效地利用网络带宽和系统资源。Paging 库的组件旨在契合推荐的Android 应用架构,流畅集成其他Jetpack组件,并提供一流的 Kotlin 支持。使用 Paging 库的优势Paging 库包含以下功能:分页数据的内存中缓存。该功能可确保您的应用在处理分页数据时高效利用系统资源。 内置的请求重复信息删除功能,可确保您的应用高效利用网络带宽和系统资源。 可配置的Rec...原创 2022-03-04 18:05:12 · 2586 阅读 · 0 评论 -
Kotlin数据流 - - -SharedFlow
SharedFlow,此数据流会向从其中收集值的所有使用方发出数据,及类似于广播的一对多通信。导入依赖:implementation "androidx.activity:activity-ktx:1.1.0"implementation "androidx.fragment:fragment-ktx:1.2.5"object LocalEventBus { val events= MutableSharedFlow< Event>() suspend .原创 2022-03-02 14:31:59 · 2983 阅读 · 0 评论 -
Kotlin数据流 - - - startFlow应用
StateFlow是一个状态容器式可观察数据流,可以向其收集器发出当前状态更新和新状态更新。还可通过其value属性读取当前状态值。如需更新状态并将其发送到数据流,请为StateFlow类的value属性分配一个新值。在 Android 中,StateFlow非常适合需要让可变状态保持可观察的类。class NumberViewModel : ViewModel() { //StateFlow与liveData很像 但能使用Flow的操作符 val num...原创 2022-03-01 11:12:03 · 1726 阅读 · 0 评论 -
Kotlin协程 - - - Flow+Retrofit 应用
添加依赖implementation "com.squareup.retrofit2:retrofit:2.9.0"implementation "com.squareup.retrofit2:converter-gson:2.9.0"implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0"implementation 'androidx.recyclerview:recyclerview:1.2.1'...原创 2022-02-28 17:41:55 · 1890 阅读 · 0 评论 -
Kotlin协程 - - - Flow+Room 数据库
导入依赖:implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0"def room_version = "2.3.0"implementation "androidx.room:room-runtime:$room_version"implementation "androidx.room:room-ktx:$room_version"kapt "androidx.room:room-compiler:$room_ve..原创 2022-02-25 16:36:58 · 1132 阅读 · 0 评论 -
Kotlin 协程+flow 下载案例
//扩展方法 读写文件并返回,下载进度inline fun InputStream.copyTo(out: OutputStream, bufferSize: Int = DEFAULT_BUFFER_SIZE, progress: (Long)-> Unit): Long { var bytesCopied: Long = 0 val buffer = ByteArray(bufferSize) var bytes = read(buffer) whi...原创 2022-02-23 15:20:46 · 1050 阅读 · 0 评论 -
Kotlin数据流 - - - Flow
一.Flow的简单使用原创 2022-02-17 17:25:43 · 1735 阅读 · 0 评论 -
Kotlin协程 - - - Channel
一.ChannelChannel实际上是一个并发安全的队列,它可以用来连接协程,实现不同协程的通信。1.Channel的使用导入依赖 implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0-RC-native-mt' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0-RC-native-mt...原创 2022-02-18 16:15:10 · 988 阅读 · 0 评论 -
Kotlin协程 - - -上下文与异常处理
一.协程上下文1.协程的上下文的组成CoroutineContext是一组用于定义协程行为的元素。它由如下几项构成。Job:控制协程的生命周期CoroutineDispatcher:向合适的线程分发任务CoroutineName:协程的名称,调试的时候很有用CoroutineExceptionHandler:处理未被捕捉的异常2.组合上下文中的元素 fun testCoroutineContext() = runBlocking { //这里把...原创 2022-02-16 14:47:07 · 619 阅读 · 0 评论 -
Kotlin协程 - - -启动与取消、作用域
一.协程的启动1.协程构建器launch与async构建器都用来启动新协程:launch,返回一个Job并且不附带任何结果值。async,返回一个Deferred,Deferred也是一个job,可以使用await在一个延期的值上得到它的最终结果。fun main() { testCoroutine();}// runBlocking 主协程 他会等子协程任务执行完再关闭,在此之前都是堵塞状态fun testCoroutine()= runBlock...原创 2022-02-15 17:04:14 · 1237 阅读 · 1 评论 -
Kotlin协程 - - - 协程的简单使用
一.协程介绍1.简介协程是一种并发设计模式,您可以在 Android 平台上使用它来简化异步执行的代码。协程是在版本 1.3 中添加到 Kotlin 的,它基于来自其他语言的既定概念。在 Android 上,协程有助于管理长时间运行的任务,如果管理不当,这些任务可能会阻塞主线程并导致应用无响应。使用协程的专业开发者中有超过 50% 的人反映使用协程提高了工作效率。本主题介绍如何使用 Kotlin 协程解决以下问题,从而让您能够编写出更清晰、更简洁的应用代码。2.特点协程是我们...原创 2022-02-14 17:49:37 · 4625 阅读 · 0 评论