Тёмный

Android Coroutines: How to manage async tasks in Kotlin 

Android Developers
Подписаться 1,3 млн
Просмотров 42 тыс.
50% 1

Опубликовано:

 

15 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 65   
@goobar
@goobar 4 года назад
Bye bye AsyncTask 😀👋 .... Hello Coroutines!!
@buzzminkyunghoon3856
@buzzminkyunghoon3856 4 года назад
I will still use Async tasks in Flutter
@shaun.august
@shaun.august 4 года назад
bro, AsyncTask is not going nowhere, all what has changed is name and the way it works and executes in the background. AsyncTask is always there...and will be..
@areebjamaliam
@areebjamaliam 4 года назад
@@shaun.august LOL. That's r/mAndroid stuff
@edulgl
@edulgl 4 года назад
@@shaun.august AsyncTask will be forever in our hearts
@harvey7771
@harvey7771 4 года назад
AsyncTask: I've moved to behind the curtain. :D
@puhgeh
@puhgeh 4 года назад
Thank you so much! It's time to migrate my livedata to flow!
@no_one1500
@no_one1500 4 года назад
saddd people are moving to flow etc etc and here i am learning livedata ....
@joaquimley
@joaquimley 4 года назад
@@no_one1500 Still valuable!
@houssemzaier
@houssemzaier 4 года назад
you still need if you do databinding.
@igorg.8624
@igorg.8624 4 года назад
I am curious why your example observes LiveData or collects Flow directly in the Activity. Isn't it better to use a ViewModel?
@TheDnaitsirc
@TheDnaitsirc 4 года назад
So... Use or not LiveData? Will there be a stable decision?
@joaquimley
@joaquimley 4 года назад
For the UI layer? Yes. Anything else? No.
@TheDnaitsirc
@TheDnaitsirc 4 года назад
Not stable decision certainly. He says that in the video.
@yaroslavkulinich7155
@yaroslavkulinich7155 4 года назад
@@TheDnaitsirc Flow is a stable decision for repository and data source levels. Livedata is for View and VIewModel levels. StateFlow and SharedFlow are not stable yet but it fully replaces LiveData on mentioned levels.
@joaquimley
@joaquimley 4 года назад
Is it just me or in the first example the: val dbData = readFromDb() should've been "data"? Looks like you are "uploading" to the remote server, the variable is called "data" and it isn't declared in the fun's scope?
@kirill4531
@kirill4531 4 года назад
yep
@pavneetsingh4809
@pavneetsingh4809 4 года назад
So the live data and the flow (state, shared, channel, etc) will likely to coexist and won't converge?
@gi1dor
@gi1dor 4 года назад
I don't see any reason to use LiveData if you already use RxJava or Flow, except databindings (which I hope will be fixed at some point too)
@RhexGomez
@RhexGomez 4 года назад
Databinding might become irrelevant if we fully switch to Compose. Although it is too early to say that.
@gi1dor
@gi1dor 4 года назад
@@RhexGomez Yes, but it doesn't related to original argument, that LiveData look not relevant if you have proper reactive library. If we talking about databinding, it doesn't mean that with release of Compose in 1-2 years magically all apps who use data bindings are disappeared or rewrite all code to compose
@pavneetsingh4809
@pavneetsingh4809 4 года назад
@@gi1dor LiveData is lifecycle aware that makes it more efficient when being used in a activity or fragment. Foreseeing a library of lifecycle aware flow and channels, in case of no inbuilt support.
@gi1dor
@gi1dor 4 года назад
@@pavneetsingh4809 This sounds as repeating of some marketing, than actual argument. "lifecycle aware" just fancy words for subscribing and unsubscribing on particular lifecycle events, Flow not only lifecycle aware, it has structured concurrency which already works with Android lifecycle, and prevents leaks. Example from video about that LiveData unsubscribed on stop and resume on start can be implemented with 5 lines of code with Flow + LifecycleOwner. So no, it's not more efficient, it just has particular default behavior (which by the way not so easy to avoid)
@ViTORossonero
@ViTORossonero 4 года назад
Snippet at 4:11 has an error: Single.just(readFromDb()) .subscribeOn(Schedulers.io()) is actually equivalent of Single.just(readFromDb()) .observeOn(Schedulers.io()) thus readFromDb() will be ran on the thread createWork is called(main?). And it's not about RxJava, it's about Kotlin(or Java): to call a function(Single.just) we have to calculate its parameters first.
@dannicron
@dannicron 4 года назад
So what is the rule for collecting flows in UI controllers? asLiveData().observe(..) when I want to observe hot streams as cold flows and lifecycleScope.launchWhenStarted when I observe e.g. database?
@LiranBarsisa
@LiranBarsisa 4 года назад
How do you cancel a job via kotlin coroutines, in the same way you can do for AsyncTask? For when you have AsyncTask instance, you have a choice, of canceling with and without interruption. ON kotlin coroutines, I can see that you have to choose it when you create it. Is it correct?
@StreetsOfBoston
@StreetsOfBoston 4 года назад
Either call "cancel()" on the CoroutineScope that starts all your coroutines, or call "cancel()" on a "Job"/"Deferred" returned by the call to "launch" or "async" But "cancel()" will not interrupt a blocking thread. It will only cancel a suspending coroutine.
@PatricioMoschcovich
@PatricioMoschcovich 4 года назад
Great video! I am looking forward to learning more about coroutines
@seshadripera
@seshadripera 4 года назад
Good alternative for AsyncTask 👍
@ЖылдызБектурганова-к3ц
Thank you, best man!!
@antoniokomangyudistira4150
@antoniokomangyudistira4150 4 года назад
Ugh my head goes 🤯🤯
@BrilTek
@BrilTek 4 года назад
Why?
@azulamazigh2789
@azulamazigh2789 4 года назад
me too
@serensis
@serensis 4 года назад
How can at the java?..Is it no way?! ㅠㅠ
@mddi1420
@mddi1420 3 года назад
It should be interesting to show also how to unit test it
@rpintellicus8223
@rpintellicus8223 4 года назад
You guys have made android tough to learn, can't you make it simpler
@thurainbowin7164
@thurainbowin7164 3 года назад
omg... i am just understanding asynTask. It is now deprecated..
@nogueirasjn
@nogueirasjn 4 года назад
Hello Coroutines!!!
@isaimosso2764
@isaimosso2764 4 года назад
Excellent!
@mahavirprasad9476
@mahavirprasad9476 4 года назад
Nice bro tq
@kirill4531
@kirill4531 4 года назад
I used to write Android apps on Java but two years ago I switched to Flutter on Dart. And never regretted since then. Everything is so much easier in Flutter. I remember how AsyncTasks first appeared and became recommended, now its deprecated... I'm tired of it frankly speaking. Why should I learn Kotlin? Why should have created new programming language just for Android? Kotlin is not used anywhere else
@eliasb3857
@eliasb3857 3 года назад
It seems you took a long distance since you switched to Flutter. Anyways, kotlin isn't only for android, it's also used for multiplatform projects, you can have ios base code and create a backend with kotlin
@kirill4531
@kirill4531 3 года назад
@@eliasb3857 does the backend language matter? You can create a backend on php, who cares, as long as it sends and receives the data
@eliasb3857
@eliasb3857 3 года назад
@@kirill4531 rofl, your statement was 'why they'd created a language only for Android'
@_checkit
@_checkit 2 года назад
Nothing better than a new API to easily write gotcha code and break your app !
@CaioFaustino
@CaioFaustino 4 года назад
great video!
@mahavirprasad9476
@mahavirprasad9476 4 года назад
Tq bro
@michaelnajera7958
@michaelnajera7958 4 года назад
I wish Swift had coroutines
@andreberenguel5753
@andreberenguel5753 4 года назад
Dispatchers are simpler
@rsolmenra6231
@rsolmenra6231 4 года назад
good
@hdkloh6857
@hdkloh6857 4 года назад
Making Simple way more Complex
@okaymak
@okaymak 4 года назад
Would have been nice if audio and video were in sync.
@mahavirprasad9476
@mahavirprasad9476 4 года назад
Oh ..
@tubtxheejlischannel72
@tubtxheejlischannel72 4 года назад
how are you
@petrkubi
@petrkubi 4 года назад
144p 📹
@IOOISqAR
@IOOISqAR 5 месяцев назад
Get to the point, too much blablabla!
@Rajmanov
@Rajmanov 4 года назад
Good bye java!
Далее
Support for newer Java language APIs
10:05
Просмотров 15 тыс.
Kotlin Coroutines 101 - Android Conference Talks
24:49
Просмотров 136 тыс.
ITZY "GOLD" M/V
03:20
Просмотров 3,4 млн
Understand Kotlin Coroutines on Android (Google I/O'19)
37:49
Thinking in Compose
25:27
Просмотров 87 тыс.
Hilt - Android Dependency Injection
28:57
Просмотров 51 тыс.
Kotlin Flows in practice
21:06
Просмотров 162 тыс.
ITZY "GOLD" M/V
03:20
Просмотров 3,4 млн