Size: a a a

StartAndroid Ru Kotlin

2018 October 21

D1

Dev 1 in StartAndroid Ru Kotlin
progressBar.visibility = View.VISIBLE ...
источник

D1

Dev 1 in StartAndroid Ru Kotlin
private fun addUserTask(contentValues: ContentValues) = runBlocking {

       val backgroundWork = async {
           dbHdbHelper.writableDatabase.insert(UserTable.TABLE, null, contentValues)
           delay(1000L)
       }
       backgroundWork.await()
       progressBar.visibility = View.INVISIBLE
       loadUsersTask()
   }
источник

D1

Dev 1 in StartAndroid Ru Kotlin
будто это один поток
источник

D1

Dev 1 in StartAndroid Ru Kotlin
кто что посоветует, только плиз кто сталкивался
источник

D1

Dev 1 in StartAndroid Ru Kotlin
а не догадки
источник

V

Vova in StartAndroid Ru Kotlin
замени runBlocking на launch
источник

V

Vova in StartAndroid Ru Kotlin
и также поменяй вот этот блок
launch(UI) {
       progressBar.visibility = View.INVISIBLE
       loadUsersTask()
}
источник

V

Vova in StartAndroid Ru Kotlin
loadUsersTask должен в UI потоке выпоняться ?
источник

D1

Dev 1 in StartAndroid Ru Kotlin
да, а UI deprecated
источник

D1

Dev 1 in StartAndroid Ru Kotlin
нашлось решение
источник

D1

Dev 1 in StartAndroid Ru Kotlin
private fun launchAsync(block: suspend CoroutineScope.() -> Unit): Job {
       return launch(UI) { block() }
   }

   private fun addUserTask(contentValues: ContentValues) {
       launchAsync {
           async(CommonPool) {
               dbHdbHelper.writableDatabase.insert(UserTable.TABLE, null, contentValues)
               delay(1000L)
           }.await()

           progressBar.visibility = View.INVISIBLE
           loadUsersTask()
       }
   }
источник

D1

Dev 1 in StartAndroid Ru Kotlin
Vova
замени runBlocking на launch
а что использовать вместо UI и commonPool?
источник

V

Vova in StartAndroid Ru Kotlin
Когда он стал deprecated ?
источник

D1

Dev 1 in StartAndroid Ru Kotlin
private fun addUserTask(contentValues: ContentValues) {
       launch(CommonPool) {
           async {
               dbHdbHelper.writableDatabase.insert(UserTable.TABLE, null, contentValues)
               delay(1000L)
           }.await()

           launch(UI) {
               progressBar.visibility = View.INVISIBLE
               loadUsersTask()
           }
       }
   }
источник

D1

Dev 1 in StartAndroid Ru Kotlin
тут depricated и первый launch и CommonPool и UI
источник

V

Vova in StartAndroid Ru Kotlin
У тебя kotlin 1.3 ?
источник

D1

Dev 1 in StartAndroid Ru Kotlin
Version: 1.2.71
источник

V

Vova in StartAndroid Ru Kotlin
Хм, мне не показывает что они deprecated
источник

YS

Yura Stetsyc in StartAndroid Ru Kotlin
Vova
У тебя kotlin 1.3 ?
возможно версия корутин более новая
источник

V

Vova in StartAndroid Ru Kotlin
У меня последняя
источник