![](/img/trans.png)
[英]Kotlin- Coroutines read file
總機 function: 讀取文件: 我不確定我的代碼是否好,因為我創建了 2 個協程。 第一個是使用 CoroutineScope (Dispatchers.IO),第二個是在 readfile 中使用 withContext。 最好的方法是什么? 使用協程讀取文件 ...
[英]Kotlin- Coroutines read file
總機 function: 讀取文件: 我不確定我的代碼是否好,因為我創建了 2 個協程。 第一個是使用 CoroutineScope (Dispatchers.IO),第二個是在 readfile 中使用 withContext。 最好的方法是什么? 使用協程讀取文件 ...
[英]Kotlin Testing Coroutines with kotlin-test
我有以下內容,我正在嘗試測試 class 啟動協程並且該協程在線程中正確執行某些操作。 但是我認為對上下文/調度程序和 scope 的工作方式沒有正確的理解,所以這沒有按預期工作。 上面的測試實際上並沒有運行協程完成,我不確定我錯過了什么,所以任何幫助將不勝感激。 ...
[英]CoroutineScope with SupervisorJob vs supervisorScope
最近我一直在詳細學習協程,據我所知,如果協程的一個子進程由於某種原因被取消, SupervisorJob()給了我們不取消所有子進程的機會。 據說以 coroutineScope 啟動的coroutineScope如果失敗會取消所有子進程,但以supervisorScope啟動的協程只會取消失敗的 ...
[英]What is the difference between using coroutineScope() and launching a child coroutine and calling join on it?
我試圖理解 Kotlin 中的coroutineScope() suspend function,我很難理解這個 function 的確切目的。 根據 kotlinlang 文檔, 這個 function 是為並行分解工作而設計的。 當這個 scope 中的任何子協程失敗時,這個 scope 失敗 ...
[英]Kotlin: Difference between calling CoroutineScope.launch vs launch inside a coroutine
我試圖理解 Kotlin 中的結構化並發,但我無法理解這段代碼。 代碼打印 而如果我用launch替換內部scope.launch調用,就像這樣 它打印 這表明第一個示例不遵循結構化並發,因為父作業在子作業之前完成。 我的困惑是,為什么會這樣? 在這種情況下,我覺得scope.launch可能等同於 ...
[英]Can the lifecycleScope for the current Activity be injected into a non-Activity class using Dagger?
這是一個極其簡化的示例: 我想知道是否有更好的方法來解決這個問題。 同樣,這是我所擁有的一個簡化示例。 我意識到一個明顯的替代方法是將 scope 從MyActivity給Foo - 我們只能說這在這種情況下不切實際。 有沒有辦法使用 Dagger 從當前Activity注入lifecycleSc ...
[英]How to get lifecycleScope from Context or Activity?
是否有可能獲得傳遞的Application或Context的生命周期? 我需要使用協同程序運行后台服務,但我已經做了簡單的 while(true),它不支持我的應用程序的生命周期。 ...
[英]Return value from suspend function when other flow is completed
我有兩個掛起函數,它們是 callbackFlow。 我從返回 String 的 suspend function 調用其中之一。 我想在 serializeEvent() function 中等待來自 getLocation() 的位置,並在獲取值返回字符串之后。 從getLastKnownLo ...
[英]How to read the result of Flow in Android Compose @Composable function for non-GUI consumption (e.g. for writing in repository)
我在我的 Android Compose 應用程序中引入了 DataStore,用於存儲用戶首選項。 雖然我對將 DataStore 實例保留為 Context 實例的屬性不滿意——因為只能從 @Composable 訪問 Context(而不是在例如存儲庫中)——但我仍然堅持下去。 讓我們假設( ...
[英]Android. How to correct launch coroutine without blocking UI?
我是協程的新手。 我正在嘗試將它添加到我的項目中。 我也在使用 MVVM。 在文檔中,我閱讀viewModelScope.launch { } : 啟動一個新的協程而不阻塞當前線程但同時,我也經常看到這樣的代碼結構: 如果文檔說viewModelScope.launch { }會在不阻塞當前線程的 ...
[英]Why the "isValid" boolean is not updating its value, even though the Log statement is executing properly inside this coroutine scope
所以我的問題是我們可以在協程的 scope 內更新任何變量的值(在協程的 scope 之外聲明)嗎? ...
[英]Using webview callbacks in coroutines
I have a situation where I have a suspend function in which I want to call a webview and receive data in its shouldOverrideUrlLoading and continue th ...
[英]Which Coroutine scope to use in AppWidgetProvider class?
我目前正在創建一個小部件,並且正在使用配置活動配置小部件並在 AppWidgetProvider 的 onUpdate() 上初始化小部件。 之后,CoroutineWorker 將不時更新小部件。 我已將 updatePeriodMillis 設置為 0。所以我的代碼就是 所以我的問題是我可以用 ...
[英]Are RoomDb update/insert coroutine calls cancellable or will they complete regardless of cancellation?
roomDb 通話可以取消嗎? 即掛起函數必須使用yield()或檢查isActive()才能對取消做出反應。 我正在嘗試確定依賴一個小的(或相當大的)roomDb 事務更新到 go 是否安全,即使 viewModelScope 在事務完成之前被取消也是如此。 ...
[英]What scope to use for launching a task in Kotlin from a controller?
我的 Kotlin 應用程序正在使用 Spring 公開一個應該在后台執行長任務的 API。 我們需要返回 IntelliJ 抱怨說使用 GlobalScope 是一種反模式。 但是,我不能只將掛起添加到控制器功能,否則它將不起作用。 我不能使用runBlocking或者該方法需要等到完成產生 ...
[英]Get ViewModel's coroutine scope with Hilt
假設,我的 ViewModel class 在其構造函數中有一些 UseCase。 另一方面,這個 UseCase 在其構造函數中有一個 CoroutineScope。 我想使用 viewModelScope 作為參數。 我可以用 Hilt 做嗎? 據我了解, ViewModelComponent ...
[英]CoroutineScope Questions
在 Coroutine Scope 上,為什么先調用 launch 塊時先調用最后一個 println()? ...
[英]How to run Kotlin coroutines sequentially?
我有一個CoroutineScope和log()函數的實例,如下所示: 我使用這個測試代碼來啟動協程: log()函數可以從任何地方、任何Thread調用,但不能從協程調用。 經過幾次測試后,我看不到如下的連續結果: 打印日志的順序可以不同。 如果我理解正確,協程的執行並不能保證是順 ...
[英]Async requests in Kotlin Android
當我嘗試從某個 api 獲取信息時,我經常收到錯誤android.os.NetworkOnMainThreadException 。我知道這個問題與主線程 android 有關,但我不明白如何解決它 - 協程、異步 okhttp 或兩個都? PS 我的英文不好,抱歉。 我的代碼: 主要活動.kt ...