kotlinx.coroutines相关内容
我正在尝试学习协程,所以我启动了IntelliJ并创建了一个临时文件。但是,当我在协程中输入时,我收到编译器的抱怨,比如runBlocking是一个未解析的引用。因此,这不是一个Android项目或任何类似的事情。只是一个基本的Kotlin项目中的临时文件。 如何引入协程内容以停止收到错误? 推荐答案 runBlocking和其他高级协程实用程序不在kotlin标准库中,而是库k
..
我使用 Mockito 模拟了一个挂起函数,但它返回 null 两个项目都使用 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.0' 示例 1 这是我的测试,其中模拟返回 null @Test有趣的`当 GPS 未启用观察者被通知`() = runBlocking {//安排`when`(suspendingLocationS
..
我想创建一个有返回值的协程方法. 例如) fun funA() = async(CommonPool) {返回 1}fun funB() = async(CommonPool) {返回 2}有趣的总和(){发射 {val 总计 = funA().await() + funB().await()}} 如果我想在sum方法中返回total,我该怎么做? 喜欢 fun sum(): I
..
我应该在我的 build.gradle 文件中更改什么或在类中导入以在我的带有 Kotlin 1.3 的 Android 项目中使用稳定的协程函数? 我的build.gradle 中关于协程的片段 实现“org.jetbrains.kotlin:kotlin-coroutines-core:$coroutines_version"实现“org.jetbrains.kotlin:kotli
..
Firebase 匿名登录返回一个任务(基本上是Google 承诺实施): val task:Task= FirebaseAuth.getInstance().signInAnonymous() 如何创建一个 signInAnonymous 包装器,其中: 是一个suspend函数,等待task完成 暂停乐趣 signInAnonymous(): Unit 返回一个Defer
..
有没有什么奇特的方法可以用 Kotlin Android 实现 debounce 逻辑? 我没有在项目中使用 Rx. Java 中有一种方法,但它对我来说太大了. 解决方案 您可以使用 kotlin 协程 来实现这一点.这是一个例子. 请注意,协程是在 kotlin 1.1+ 上进行实验,可能会在即将推出的 kotlin 版本中进行更改. 更新 自从 Kotl
..
我正在从 onCreate(...) 调用挂起的函数 override fun onCreate(savedInstanceState: Bundle?) {......callGetApi()} 和暂停的功能是:- 暂停乐趣 callGetApi() {....} 但是出现了错误挂起函数'callGetApi'应该只从协程或其他挂起函数调用 解决方案 挂起函数只能从协程中调用.这
..
我正在尝试使用 Kotlin 协程的 runBlocking 函数,但我收到错误消息,该方法是在 Kotlin 1.3 中引入的. 所以,我尝试更新我的 Android Studio 项目以使用 Kotlin 1.3.0 但是,当我这样做时,出现错误:"org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.0" is unresolved...
..
我想弄清楚Kotlin是否可以替代我们当前处理异步代码的方式.现在,我们使用 CompletableFutures 处理异步代码.这是这种方法的示例: public void onBalanceRequest(客户端,字符串名称){db.fetchBalance(名称).thenAccept(balance-> {client.sendMessage(“您的钱:" +余额);});} 这里
..
我想立即开始协程.我有一段代码: class SampleActivity:AppCompatActivity(),CoroutineScope {私人var作业:Job = Job()覆盖val coroutineContext:CoroutineContextget()= Dispatchers.Main +工作重写fun onCreate(savedInstanceState:Bundl
..
我正在尝试编写一个将启动n个协程并等待第一个m完成的函数.如果m个协程在某个超时时间内无法完成,则所有协程/作业都将被取消.我的初始实现如下所示,但是我觉得可以改进.我最初的想法是使用父作业在其下运行所有其他作业,以便可以取消父作业并将其级联到剩余的子级.但是,这导致必须捕获TimeoutCancellationException. 我该如何编写一个函数来启动n个协程并等待第一个m协程完
..
我一般对Kotlin协程和Android开发还是陌生的.在游玩以了解其工作原理时,我遇到了一个似乎无法解决的错误. 在基本活动中,我尝试连接到googleApiClient.权限还可以.我希望使用kotlin协程以直接的方式从LocationManager获取位置更新,以便以后使用此Location对象.第一次更改模拟器中的位置可以正常工作,第二次更改位置时,它会崩溃除了这样的例外: 致命
..
我正在尝试处理数据对象树.假定每个树叶都应使用协程通过一个函数进行处理.整个过程应使用固定大小的线程池完成. 所以我想到了这个: val node = an instance of WorkspaceEntry (tree structure) val localDispatcher = newFixedThreadPoolContext(16) fun main() { v
..
正如标题所示,我刚刚在build.gradle中添加的协程库中缺少协程生成器runBlocking.有趣的是,其他所有东西似乎都可用,所有GlobalScope,CoroutineScope.launch CoroutineScope.async都存在. runBlocking不是.我在做什么错了? 这是我的build.gradle buildscript { ext {
..
这两种方法之间有什么区别吗? runBlocking { launch(coroutineDispatcher) { // job } } GlobalScope.launch(coroutineDispatcher) { // job } 解决方案 runBlocking运行新的协程并中断当前线程,直到完成为止.协程不应该使用此功能.它旨在将常规
..
因此,我最近开始进行协程的试验,我从Rxjava2切换到协程,我还没有掌握它,但是仍然遇到了一种情况,我需要观察数据库的变化并更新相应的UI RxJava过去曾向我提供Flowables,Completeable等,使我能够观察到Db的变化. abstract fun insert(data: SomeData): Long @Query("SELECT * FROM
..
首次使用协程.需要帮助. 这是我的流程: 演示者想要登录,因此调用存储库接口.存储库实现RepositoryInterface. 因此,存储库调用APIInterface. APIInterface由APIInterfaceImpl实现. APIInterfaceImpl最终调用MyRetrofitInterface. 以下是流程图: 演示者->存储库-> APIInter
..
我在github 此处. 我的带有构建文件build.gradle.kts文件的协程子项目是 build.gradle.kts的内容是- import org.jetbrains.kotlin.gradle.dsl.Coroutines import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins
..
我想知道当有出色的解决方案作为WorkManager时,为什么要理会rx或协程.但是对于几乎所有教程,他们都使用协程,所以WorkManager可能有缺点吗? 解决方案 两者的范围是不同的. WorkManager将安排可延期(任何以后的时间)或立即进行. 异步执行任务. 如文档所述 通过WorkManager API,可以轻松指定可延迟,异步的 任务以及何时运行.这些API可
..
我目前正在尝试构建一个工作计划程序,如下所示.我的目标是能够安排任意功能(在这里(长)->单位)的启动时间,并尽可能准确地安排它们的启动时间(亚毫秒为理想选择). import java.util.* import kotlinx.coroutines.* import java.util.concurrent.PriorityBlockingQueue import kotlin.math
..