首页 > TAG信息列表 > kotlinx-coroutines

android-Kotlin CoroutineScope初始化取决于带有自定义getter的CoroutineContext

具有视图的Google Codelab Android会议室-Kotlin具有以下snippet: class WordViewModel(application: Application) : AndroidViewModel(application) { // ... private val coroutineContext: CoroutineContext get() = parentJob + Dispatchers.Main priva

android-kotlin协程抛出java.lang.IllegalStateException:已经恢复,但是获得了值Location

一般来说,我对Kotlin协程和Android开发还很陌生. 在游玩以了解其工作原理时,我遇到了一个似乎无法解决的错误. 通过基本活动,我尝试连接到googleApiClient.权限还可以.我希望使用kotlin协程以直接的方式从LocationManager获取位置更新,以便以后使用此Location对象.第一次更改模拟器

我如何在Kotlin中编写承诺序列?

是否可以仅使用Kotlin编写promise(或任务)的序列? 例如,JavaScript中的promise序列写为: const SLEEP_INTERVAL_IN_MILLISECONDS = 200; const alpha = function alpha (number) { return new Promise(function (resolve, reject) { const fulfill = function() {

协程上下文自定义获取器

我正在研究1.0.0发布后与Android相关的kotlin协程. 我发现了无数示例,这些示例包括创建父级作业,在onCleared或范围内的Activity中创建作用域ViewModel(由arch组件),在onCreate中创建作业并在onDestroy中清除任务(与onResume和onPause相同).在某些示例中,我遇到了以下代码结构(取自

android-NetworkOnMainThreadException对协程中的网络调用有效吗?

我在Kotlin中为Android集成了一个简单的演示应用程序,该应用程序使用Jsoup检索了网页的标题.我正在使用Dispatchers.Main作为上下文进行网络呼叫. 我对协程的理解是,如果我在Dispatchers.Main上调用launch,它的确在主线程上运行,但是会暂停执行以免阻塞线程. 我对android.os.Networ

使用Kotlin 1.3迁移到Android中的Kotlin协同程序

我应该在build.gradle文件中更改或在类中导入以在我的Android项目中使用Kotlin 1.3使用稳定的协同程序函数? 关于我的build.gradle中的协同程序的片段 实现“org.jetbrains.kotlin:kotlin-coroutines-core:$coroutines_version” 实现“org.jetbrains.kotlin:kotlin-coroutines-android

android – 处理Kotlin Coroutines生产商内部的取消

是否有可能在生产者构建器本身内处理生产者取消?取消订阅回调可能很有用: private fun changes(key: String) = produce<Unit>(UI, CONFLATED) { val listener = OnSharedPreferenceChangeListener { _, changedKey -> if (key == changedKey) offer(Unit)

android – 我可以一直使用WorkManager而不是coroutines吗?

我想知道为什么当有一个很好的解决方案作为WorkManager时,我应该使用rx或协同程序.但对于几乎所有的教程,他们都使用协同程序,因此WorkManager可能有缺点吗?解决方法:两者的范围是不同的. WorkManager将安排延迟(以后的任何时间)或立即安排. 任务异步. As documentation says The

android – 挂起函数’callGetApi’只能从协程或其他挂起函数调用

我从onCreate调用暂停函数(…) override fun onCreate(savedInstanceState: Bundle?) { ... ... callGetApi() } 暂停的功能是: – suspend fun callGetApi() {....} 但错误显示挂起函数’callGetApi’应仅从协程或其他挂起函数调用解决方法:暂停功能只能从协同程

android – Kotlin协程取消后无法捕获异常抛出

使用kotlinx.coroutines lib如果在取消协程后抛出异常,我就无法捕获异常.这会导致应用崩溃. fun foo() { val job = launch(UI) { try { Log.d("TAG", "Start coroutine") run(CommonPool) { Log.d("TAG", "Start bg task")

android – Kotlin runBlocking在后台线程

我正在将现有应用程序从Java转换为Kotlin. 该应用程序创建一个在后台线程中运行的IntentService,其任务是执行一些操作,这些操作会反复无限地阻止线程(例如网络调用,数据库交互)和挂起函数.由于“当前线程”实际上是后台线程,因此我没有阻止UI. 在当前线程上使用runBlocking来运行

android – Kotlin-coroutines的房间观察数据库的变化

因此,我最近开始使用协同程序进行实验,我从Rxjava2切换到协同程序,我还没有掌握它但仍然,我遇到了一个需要观察我的数据库更改并更新对应的UI的情况. RxJava过去常常为我提供Flowables,Completeable等,我可以观察到Db的变化. abstract fun insert(data: SomeData): Long

android – 如何运行协同程序作为单元测试的阻止?

我已经开始为我的MVP Android项目编写单元测试,但我的测试依赖于协同程序间歇性失败(通过记录和调试我已经确认验证有时会提前发生,当然会增加延迟修复) 我尝试用runBlocking包装,我从org.jetbrains.kotlinx:kotlinx-coroutines-test中发现了Dispatchers.setMain(mainThreadSurrogat