kotlin-coroutines相关内容
我在下面为我的问题创建了一个非常简化的版本. 严格模式是通过以下策略设置的: StrictMode.setThreadPolicy( StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites()
..
我正在尝试使用Authenticator处理401响应.我所做的是 fun provideAccessTokenAuthenticator( mainApiServiceHolder: MainApiServiceHolder, preferences: SharedPreferences ) = object : Authenticator { override f
..
在我的Android Kotlin项目中,我在协程中调用了一个Web服务(myWebservice只是一个管理Web服务调用的自定义类): fun searchForItems(userInput: String) { CoroutineScope(Dispatchers.IO + Job()).launch { val listOfItems = myWebServ
..
今天,当我从事我的android项目时,我看到了我的应用程序的这种怪异行为.当我单击一个图标并转到另一个活动时,这基本上会将另一个孩子插入到第一个活动正在侦听的节点中.但是令我惊讶的是,当返回时,屏幕上的所有内容都翻了一番.当我刷新视图时,它又将恢复正常.我重复了很多次,认为这可能是一个小故障.但是每次都是一样的结果.当我查看数据库时,从未创建新的子代. 这是我给侦听器的代码. (doOnDat
..
我在Android应用中使用以下代码将数据从远程源加载到本地数据库缓存中. inline fun networkBoundResource( crossinline query: () -> Flow, crossinline fetch: suspend () -> RequestType,
..
我已经编写了此代码段,以将图像文件从Firebase存储下载到本地存储. contentResolver.openOutputStream(uri)?.use { ops -> // * Firebase.storage.getReferenceFromUrl(model.mediaUrl).stream.await().stream.use { ips -> v
..
在Ktor中,我希望实现某种方法来引用coroutineContext内部的键值对,而不会在方法参数中拖动对对象的引用.基于 https://proandroiddev.com/demystifying-coroutinecontext-1ce5b68407ad 我已经写了我的参考文献课程: class MyElement(override val key: CoroutineContext
..
我有一个android应用程序,其中我正在尝试使用协程流使用我自己的项目的build.gradle buildscript { ext.kotlin_version = "1.4.10" repositories { google() jcenter() } dependencies { classpath "c
..
想象以下独立的测试用例 @Test fun `stateFlow in GlobalScope`() = runBlockingTest { suspend fun makeHeavyRequest(): String { return "heavy result" } val flow1 = flowOf(Unit) .map {
..
我正在尝试一个非常简单的尝试,第一次使用vertx插入MySql并从中进行选择.对我来说,我可以构建和调试该应用程序很有趣,但是我从来没有成功或失败过. 如何执行插入并选择波纹管?我是否必须以某种方式封装client.query并订阅它?我完全被困住了.我在互联网上看到的所有示例都遵循这种方法. package com.mybank import io.vertx.kotlin.my
..
我有这段代码我想测试loadSession(),而testLoadSession()是测试方法我有SuccessActivationCodeRepository用于单元测试,而observeForTesting是扩展功能 您可以看到我在单元测试中添加了更长的延迟,但是这并没有为sessionData返回null,我该如何解决? fun loadSession(activationCode:
..
我已经看到了将SupervisorJob传递给CoroutineScope的教程,以避免在子例程之一失败时所有协程作业被取消. 在run3中,我认为将SupervisorJob传递给launch可以得到相同的结果,但显然没有.如果出现异常,这似乎允许协程被重用(如果从launch中删除SupervisorJob,则第二个run2调用将不会运行协程作业),但是它的行为不像supervisorScop
..
假设我有回购清单.我想遍历所有这些.当每个回购都返回结果时,我想将其继续传递. val repos = listOf(repo1, repo2, repo3) val deferredItems = mutableListOf>>() repos.forEach { repo -> deferredItems.add(async { ge
..
我在我的应用中使用Kotlin协程,并选择了Firebase作为数据库和存储的选择. 探索了Firebase之后,我意识到它的所有API都是异步的,并且异步调用的结果都在回调中返回,而摆脱回调是我在应用中使用Kotlin协程的主要原因. 这是我编写的用于将文件上传到Firebase云存储的代码,但它给出了“任务尚未完成"错误. private suspend fun saveImage
..
我还没有完全掌握Kotlin协程. 基本上,我希望协程在执行之前等待所有先前的调用完成.以下代码似乎有效.但是它在做我认为正在做的事情吗? private var saveJob: Job? = null fun save() { saveJob = someScope.launch { saveJob?.join() withContext(
..
我不是Kotlin协程的新手,我看到一些api用@InternalCoroutinesApi进行了注释. 从官方文件中说 不应在kotlinx.coroutines 之外使用 我不清楚他们是什么意思. 有人可以详细说明吗? 解决方案 此批注 标记协程API内部的声明,这意味着 不应在kotlinx.coroutines之外使用,因为它们的 签名和语义将在将来的版本之间更改
..
我正在Ktor中建立一个微服务.当我们在应用程序模块中工作时,Ktor提供对包含授权数据的call对象的访问. 我的问题是我需要从服务级别的类访问call对象.在Spring中,您可以通过访问SecurityContext来做到这一点,而SecurityContext可以通过ThreadLocal在全球范围内使用.协程驱动的Ktor没有这种选择. 我真的需要通过服务层方法传递call对
..
我需要同时运行 6个API调用,并且需要在相应请求完成后为每个API更新UI 当前,我正在使用 kotlin协程并行执行 ,并使用以下代码 suspend fun getAllData() : List{ return withContext(Dispatchers.IO) { lateinit var getObject1Task:
..
观看 Sean在Android(Google I/O'19)上的解释一样: init{ viewModelScope.launch { Timber.i("coroutine awake") while (true){ delay(2_000) Timber.i("another round trip")
..
我阅读了所有 kotlinx UI文档并实现此处所述的ScopedActivity(请参见下面的代码). 在我的ScopedActivity实现中,我还添加了一个CouroutineExceptionHandler,尽管我将异常处理程序传递给我的所有协程,但我的用户正在崩溃,并且我在堆栈跟踪中获得的唯一信息是“作业已取消". 我搜索了几天,但没有找到解决方案,我的用户仍然随机崩溃,但我
..