In this video I use alias inside plugin with id: kzread.info/dash/bejne/ioFqmsZ9crbFcrw.html&ab_channel=EsliRodrigues
@muthupandim219616 күн бұрын
Hi sir
@JJHaz18 күн бұрын
thx a lot
@allanandliftedhands266922 күн бұрын
Thanks man.. Keep making them.
@justmeagain930226 күн бұрын
Thanksss
@t.saisrujan945628 күн бұрын
Thanks for this video
@jeonie9682Ай бұрын
I refer to your channel a lot when making UI as a beginner. I've wanted to say "thank you".🫡
@nimishashirilАй бұрын
simple and humble
@vengateshm2122Ай бұрын
Very useful. Nice approach of using anchor draggable for implementing swipe to reveal.
@kwg31372 ай бұрын
can you do one for rotation using one pointer/finger?
@eslirodrigues777Ай бұрын
Yes, is possible using detectGestures like in this video: kzread.info/dash/bejne/a6qrpbudipaofcY.html&ab_channel=EsliRodrigues In the next week I'll send a video about rotation with pointerInput/detectGestures.
@chadisfeir38092 ай бұрын
can w not to swipe all the way ? thank you for the tutorial
@eslirodrigues7772 ай бұрын
Yes, you can use the confirmValueChange and change the positionalThreshold
@MiYakudzik2 ай бұрын
thx so much for that example
@nastenkaoo2 ай бұрын
your tutorials are great
@eliezerbrasilian38813 ай бұрын
Oi, mano, você foi mencionado nesse vídeo, olha que top m.kzread.info/dash/bejne/poegp4-Ilqa8ZJM.html&pp=gAQBiAQB
@eslirodrigues7772 ай бұрын
Valeu por avisar. Eu não conhecia esse canal, mas parece ter um conteúdo bom, vou me inscrever.
@BHARATGARANDE3 ай бұрын
Great video...I like it..
@Alexander-is1eq3 ай бұрын
Very nice code. Thank you very much for the lesson
@ttyaman4 ай бұрын
Thanks man, I've been trying to understand this issue for a long time.
@fuckgooglestoptryingtoforc66134 ай бұрын
Is there not a setting for how far the slide is? lol I'm bewildered that this is this difficult to do.
@eslirodrigues7774 ай бұрын
In SwipeToDismiss isn't possible to stop the slide at a value different than DismissValue, so you can't stop in the middle. What you want is the "SwipeToReveal", so you can use the Swipe animation in some box like in this video: kzread.info/dash/bejne/lI6jtNRypLe_crQ.html&ab_channel=EsliRodrigues I think in the next month I'll make a video about "SwipeToReveal".
@eslirodrigues7772 ай бұрын
Here is the SwipeToReveal how I said: kzread.info/dash/bejne/oJuup9dmprizZ8o.html&ab_channel=EsliRodrigues I tried to make simple and similar to SwipeToDismiss.
@SumitSharma-og6qp4 ай бұрын
Thanks man❤
@Miasdsadas4 ай бұрын
thanks 😍
@manticomar11464 ай бұрын
good video thanks
@pawechilczuk75594 ай бұрын
Very nice. Just essence for understanding. Keep going creating such short tutorials. I'm tired of watching 15-20 min tutorials just to understand two lines of code.
@eliezerbrasilian38815 ай бұрын
I didn't understand anything with this explanation
@eslirodrigues7775 ай бұрын
Is pretty simple, is just a map(key, value). In edit you use the key and change the value, and you read the value getting the key. And the most common usages are for users preferences like change theme or sound volume, like this video: kzread.info/dash/bejne/fHWB18Oaetq8mto.html&ab_channel=EsliRodrigues For more information always read the documentation: developer.android.com/topic/libraries/architecture/datastore#prefs-vs-proto
@user-me1ry6lg6d5 ай бұрын
simple , yet what i was looking for , how can i set the compose version to be able to use this ?
@eslirodrigues7775 ай бұрын
I was using: kotlinCompilerExtensionVersion = "1.5.3" and implementation("androidx.compose.foundation:foundation:1.6.0-alpha08")
@eslirodrigues7775 ай бұрын
But you can see the current versions that I'm using now in: github.com/Eslicdm/Tutorials/blob/master/gradle/libs.versions.toml
@user-js7jt2cb4x5 ай бұрын
Esli boa tarde, tudo bem? Eu gostei muito do vídeo porém fiquei com uma dúvida, eu estou fazendo um projeto multi módulos. Eu poderia criar um módulo para guardar as versões do meu app de todas libs, sdk e etc, e depois chamar por funções dentro dos gradles kts?
@eslirodrigues7775 ай бұрын
Já existe algo parecido, se chama Version Catalogs. É um arquivo que você coloca todas as versões e depois pode chamar cada versão nos gradles. É o novo padrão do google para apps multi módulos e multi plataformas. Eu iria postar um video sobre Version Catalogs daqui uns meses, mas vou postar hoje pra ajudar você. E na semana que vem eu posto um video sobre modularização com version catalogs, mas se você quiser pode se adiantar e olhar esse commit: github.com/Eslicdm/Tutorials/commit/346b388443c31584fe929b1bc368df0c6c548d24
@eslirodrigues7775 ай бұрын
Aqui o video sobre Version Catalogs: kzread.info/dash/bejne/ioFqmsZ9crbFcrw.html&ab_channel=EsliRodrigues
@user-js7jt2cb4x5 ай бұрын
@@eslirodrigues777 cara muito obrigado! Vou dar uma assistida, era isso que eu tava procurando
@eliezerbrasilian38815 ай бұрын
Oi, mestre tem como você fazer um video mostrando como formatar um input para moeda brasileira? por exemplo: - o input comeca assim: R$ 0,00 - digitei 4 R$ 0,04| digitei 2 R$ 0,42| digitei 5 R$ 4,25| e etc... Tô tentando fazer isso, mas tá difícil demais. E minha ideia é migrar um aplicativo de react native para o jetpack compose, mas enquanto não tiver um sistema de formatação de moeda no compose, aí não tem como
@eslirodrigues7775 ай бұрын
Não pretendo fazer um video pois tem como usar o antigo como base, mas eu fiz o código, tenta ajustar do jeito que você quiser: github.com/Eslicdm/Tutorials/commit/e20a97d165bf20eac7ac6836ec35e7adbf9e639f
@eliezerbrasilian38815 ай бұрын
@@eslirodrigues777 como vc conseguiu assim tão rápido? Kkkk tô a dias nisso, vou só terminar meu trabalho aqui
@eliezerbrasilian38815 ай бұрын
@@eslirodrigues777 não tá funcionando certinho não. Tá aceitando no máximo 3 numeros. por exemplo: R$ 5,55 não tá dinamico não. Era para ser capaz do usuário ir digitando números a vontade e ir formatando. - por exemplo, o usuário digita 23456789 no input ficaria R$ 234,567.89
@eslirodrigues7772 ай бұрын
Não tinha aparecido sua mensagem pra mim. Ah a forma que você me explicou deu a entender que você queria aquele formato fixo R$ X,XX Conseguiu fazer ou quer ajuda?
@eslirodrigues7772 ай бұрын
@@eliezerbrasilian3881 Tentei fazer com um número maior, só que tem alguns bugs por causa do cursor offset (enableCursorMove=true), tem alguns momentos que ele pula 2 chars e nem com offsets específicos é arrumado (quase que um bug inconsertável). Tem também outro bug com o valor prefixo "000", que o cursor se move quando o usuário apaga o valor 0,00. Única forma que eu não vi nenhum bug, foi sem o prefixo (ou ter o prefixo e poder apagar depois) e sem o movimento do cursor (enableCursorMove=false). A forma que você quer (eu acho que é igual a do ..bcb gov br/conversao), eu não consegui fazer totalmente sem bugs e nem sei se é possível, mas se você conseguir, compartilha aqui ou comenta no tutorials github. Vou gravar um video sobre esses conversores depois, talvez alguém consiga resolver. Aqui está o código do Github: github.com/Eslicdm/Tutorials/commit/4dc7358dd3d63b5715f1d181f61f395d76e3e420
@allanandliftedhands26696 ай бұрын
Thank you very much! This will come in handy
@IvanSavenko-gb2qu6 ай бұрын
Thank you for help bro
@zoolkeda29156 ай бұрын
Great job, I wish if have a good mic
@eliezerbrasilian38816 ай бұрын
thanks Esli, the video is really useful
@Raihan-kw3qv6 ай бұрын
there is the difference between both of them? or it's just like we have to migrate from kapt to ksp?
@eslirodrigues7776 ай бұрын
Kapt is more for convert kotlin to java, so it's not handle some kotlin features very well and generate code slower. KSP analyzes kotlin code better, can be used with other platforms and build 2x faster than Kapt. Kapt is in maintenance and it's recommended to migrate to KSP.
@Raihan-kw3qv6 ай бұрын
@@eslirodrigues777 it works, thanks so much
@bugslayer-sama6 ай бұрын
This is good. Thank you
@michaelappiah-kubi28297 ай бұрын
After watching so many videos, i cant believe it's a 1 minute 9 seconds video that got it done for me, lol. Thanks
@HLDDD7 ай бұрын
I couldn’t understand how it works for a very long time and mostly people showed their own examples, but your example helped me finally understand how it works
@eslirodrigues7777 ай бұрын
Nice, there's another video about State: kzread.info/dash/bejne/rIqjuMd6lK-1obQ.html&ab_channel=EsliRodrigues
@eliezerbrasilian38817 ай бұрын
Make a video showing how to create a mask input like (xx) xxxxx-xxxx
@eslirodrigues7777 ай бұрын
I kinda have a video about that. In the TextField onValueChange parameter you can make text changes and enable or disable the mask using visualTransformation. TextField: github.com/Eslicdm/Tutorials/commit/71f8d070b31aed751e98e6a009380f57f2c12053 -- kzread.info/dash/bejne/jIOD08t7ppTId8Y.html&ab_channel=EsliRodrigues
@eliezerbrasilian38817 ай бұрын
@@eslirodrigues777 you only have used Visual Transformation for password, but in the documentation shows how to do that. But I didn't find any place teaching how to mask input like (xx)xxxxx-xxxx or even mask for currency like 27,64
@eslirodrigues7776 ай бұрын
Here's the video about this input mask: kzread.info/dash/bejne/p4dtsNaOfNaudqw.html&ab_channel=EsliRodrigues Github Code: github.com/Eslicdm/Tutorials/commit/24ad14b6c4a227cff1d253cd8a98f2c35569de40
@ManoharAcharyaAndroid8 ай бұрын
what state management is used in Android I come from background of Flutter where we use sate management like Provider, River Pod, Bolc etc.
@eslirodrigues7778 ай бұрын
Basically is used a data class or a sealed class/interface that contains the states and events, and we can manage them in the ViewModel using MutableStateFlow and some functions extensions like stateIn, stateFlow, etc. We collect the state in UI Screen using collectAsState. Here are some links that may help: Savedstatehandle: github.com/Eslicdm/Tutorials/tree/master/app/src/main/java/com/eslirodrigues/tutorials/savedstatehandle/ui ---- kzread.info/dash/bejne/pnZllqSGm9Cbo6w.html&ab_channel=EsliRodrigues StateFlow with ViewModel: github.com/Eslicdm/Tutorials/tree/master/app/src/main/java/com/eslirodrigues/tutorials/state_stateflow_viewmodel ---- kzread.info/dash/bejne/rIqjuMd6lK-1obQ.html&ab_channel=EsliRodrigues --- kzread.info/dash/bejne/pGmly5eJh5vXXaQ.html&ab_channel=EsliRodrigues State Events with ViewModel: github.com/Eslicdm/Tutorials/tree/master/app/src/main/java/com/eslirodrigues/tutorials/state_user_event_viewmodel/ui ----- kzread.info/dash/bejne/epuHtdaLgqSWdJM.html&ab_channel=EsliRodrigues Retrofit HTTP API: github.com/Eslicdm/Tutorials/tree/master/app/src/main/java/com/eslirodrigues/tutorials/retrofit_api -------- kzread.info/dash/bejne/aqxtm8Wmn8a0hKw.html&ab_channel=EsliRodrigues
@vengateshm21228 ай бұрын
Very useful.
@Stanislao20118 ай бұрын
Vlw mano, salvou minha vida
@kpranjith8 ай бұрын
Thank you
@eliezerbrasilian38818 ай бұрын
You are brasilian bro? Your accent looks like brasilian 🇧🇷
@eslirodrigues7778 ай бұрын
Yes, you're right bro
@John-qt6qk9 ай бұрын
So every time the button is click the Push notification is shown?
@eslirodrigues7779 ай бұрын
Inside the app we have a button "Subscribe to Topic" just to subscribe, so you can receive the notifications. Inside the Firebase Console you can send the notifications.
@John-qt6qk9 ай бұрын
@@eslirodrigues777 is there a way to send Push notifications from the App and not from the firebase console?
@eslirodrigues7772 ай бұрын
Yes, you can use the FCM HTTP protocol
@PSK0059 ай бұрын
Nice. But it's m2 + m3 mixed 😢
@eslirodrigues7779 ай бұрын
Do you mean Material Desing 2 and 3? For pre-designed UI components you should use M3, but you can also use foundation or material to customize the components. I utilized M2 components by importing the "material2" library. However, in the Tutorials project, I believe I didn't make use of it.
@nastenkaoo9 ай бұрын
bro, your adCount var doesn't work properly, when I implement it, it doesn't show the ad
@eslirodrigues7779 ай бұрын
It's still working for me. First check all the code again. Maybe you just need to wait for the Ad to load. You can change the number of mutableStateOf ("0, 1, 2") or in the: if (adCount % 2 == "0, 1, 2") showAd(). You can try "withCreated" or another like "whenResume, withStarted". You can also use a log to see changes in adCount when navigate between screens, the normal state is to increase the value every time that you open the AdSecondScreen ("0, 1, 2, 3"). The problem is really with the adCount? The text "add loaded" should apper when the app starts, if this text was shown just check the loadAd function. Maybe you need to add the internet permission in the manifest: <uses-permission android:name="android.permission.INTERNET"/>
@nastenkaoo9 ай бұрын
@@eslirodrigues777 thanks for suggestions, I will try it
@nastenkaoo9 ай бұрын
how you finded these codes, I have investigated and don't find any good solutions. You are perfect
@vengateshm21229 ай бұрын
Thank You. Very useful one.
@clementjoymasinamela42449 ай бұрын
Great solution, keep it coming. Thanks
@anmoldeepsingh63149 ай бұрын
Amazing content, do post more stuff. No matter the subscribers keep on going.
@phuang39 ай бұрын
The content & the code of your tutorial are very useful, but I think you need a better microphone. And, you need to slow down a little bit and perhaps provide some explaination on stateflow, flow and some other key components.
@vengateshm21229 ай бұрын
Thank You. Since most code in kotlin. Koin can be used for dependency injection instead Hilt.
@eslirodrigues7779 ай бұрын
Yes. I think that Koin and Ktor will replace Hilt and Retrofit, because of KMM.
@nastenkaoo10 ай бұрын
I really thankful to you. Some tutorials are just lie, but your video is just for 51 seconds, but it added change theme functionality to my actual app. Thanks a lot!
Пікірлер
One doubt, in my plugin is alias how to change id
In this video I use alias inside plugin with id: kzread.info/dash/bejne/ioFqmsZ9crbFcrw.html&ab_channel=EsliRodrigues
Hi sir
thx a lot
Thanks man.. Keep making them.
Thanksss
Thanks for this video
I refer to your channel a lot when making UI as a beginner. I've wanted to say "thank you".🫡
simple and humble
Very useful. Nice approach of using anchor draggable for implementing swipe to reveal.
can you do one for rotation using one pointer/finger?
Yes, is possible using detectGestures like in this video: kzread.info/dash/bejne/a6qrpbudipaofcY.html&ab_channel=EsliRodrigues In the next week I'll send a video about rotation with pointerInput/detectGestures.
can w not to swipe all the way ? thank you for the tutorial
Yes, you can use the confirmValueChange and change the positionalThreshold
thx so much for that example
your tutorials are great
Oi, mano, você foi mencionado nesse vídeo, olha que top m.kzread.info/dash/bejne/poegp4-Ilqa8ZJM.html&pp=gAQBiAQB
Valeu por avisar. Eu não conhecia esse canal, mas parece ter um conteúdo bom, vou me inscrever.
Great video...I like it..
Very nice code. Thank you very much for the lesson
Thanks man, I've been trying to understand this issue for a long time.
Is there not a setting for how far the slide is? lol I'm bewildered that this is this difficult to do.
In SwipeToDismiss isn't possible to stop the slide at a value different than DismissValue, so you can't stop in the middle. What you want is the "SwipeToReveal", so you can use the Swipe animation in some box like in this video: kzread.info/dash/bejne/lI6jtNRypLe_crQ.html&ab_channel=EsliRodrigues I think in the next month I'll make a video about "SwipeToReveal".
Here is the SwipeToReveal how I said: kzread.info/dash/bejne/oJuup9dmprizZ8o.html&ab_channel=EsliRodrigues I tried to make simple and similar to SwipeToDismiss.
Thanks man❤
thanks 😍
good video thanks
Very nice. Just essence for understanding. Keep going creating such short tutorials. I'm tired of watching 15-20 min tutorials just to understand two lines of code.
I didn't understand anything with this explanation
Is pretty simple, is just a map(key, value). In edit you use the key and change the value, and you read the value getting the key. And the most common usages are for users preferences like change theme or sound volume, like this video: kzread.info/dash/bejne/fHWB18Oaetq8mto.html&ab_channel=EsliRodrigues For more information always read the documentation: developer.android.com/topic/libraries/architecture/datastore#prefs-vs-proto
simple , yet what i was looking for , how can i set the compose version to be able to use this ?
I was using: kotlinCompilerExtensionVersion = "1.5.3" and implementation("androidx.compose.foundation:foundation:1.6.0-alpha08")
But you can see the current versions that I'm using now in: github.com/Eslicdm/Tutorials/blob/master/gradle/libs.versions.toml
Esli boa tarde, tudo bem? Eu gostei muito do vídeo porém fiquei com uma dúvida, eu estou fazendo um projeto multi módulos. Eu poderia criar um módulo para guardar as versões do meu app de todas libs, sdk e etc, e depois chamar por funções dentro dos gradles kts?
Já existe algo parecido, se chama Version Catalogs. É um arquivo que você coloca todas as versões e depois pode chamar cada versão nos gradles. É o novo padrão do google para apps multi módulos e multi plataformas. Eu iria postar um video sobre Version Catalogs daqui uns meses, mas vou postar hoje pra ajudar você. E na semana que vem eu posto um video sobre modularização com version catalogs, mas se você quiser pode se adiantar e olhar esse commit: github.com/Eslicdm/Tutorials/commit/346b388443c31584fe929b1bc368df0c6c548d24
Aqui o video sobre Version Catalogs: kzread.info/dash/bejne/ioFqmsZ9crbFcrw.html&ab_channel=EsliRodrigues
@@eslirodrigues777 cara muito obrigado! Vou dar uma assistida, era isso que eu tava procurando
Oi, mestre tem como você fazer um video mostrando como formatar um input para moeda brasileira? por exemplo: - o input comeca assim: R$ 0,00 - digitei 4 R$ 0,04| digitei 2 R$ 0,42| digitei 5 R$ 4,25| e etc... Tô tentando fazer isso, mas tá difícil demais. E minha ideia é migrar um aplicativo de react native para o jetpack compose, mas enquanto não tiver um sistema de formatação de moeda no compose, aí não tem como
Não pretendo fazer um video pois tem como usar o antigo como base, mas eu fiz o código, tenta ajustar do jeito que você quiser: github.com/Eslicdm/Tutorials/commit/e20a97d165bf20eac7ac6836ec35e7adbf9e639f
@@eslirodrigues777 como vc conseguiu assim tão rápido? Kkkk tô a dias nisso, vou só terminar meu trabalho aqui
@@eslirodrigues777 não tá funcionando certinho não. Tá aceitando no máximo 3 numeros. por exemplo: R$ 5,55 não tá dinamico não. Era para ser capaz do usuário ir digitando números a vontade e ir formatando. - por exemplo, o usuário digita 23456789 no input ficaria R$ 234,567.89
Não tinha aparecido sua mensagem pra mim. Ah a forma que você me explicou deu a entender que você queria aquele formato fixo R$ X,XX Conseguiu fazer ou quer ajuda?
@@eliezerbrasilian3881 Tentei fazer com um número maior, só que tem alguns bugs por causa do cursor offset (enableCursorMove=true), tem alguns momentos que ele pula 2 chars e nem com offsets específicos é arrumado (quase que um bug inconsertável). Tem também outro bug com o valor prefixo "000", que o cursor se move quando o usuário apaga o valor 0,00. Única forma que eu não vi nenhum bug, foi sem o prefixo (ou ter o prefixo e poder apagar depois) e sem o movimento do cursor (enableCursorMove=false). A forma que você quer (eu acho que é igual a do ..bcb gov br/conversao), eu não consegui fazer totalmente sem bugs e nem sei se é possível, mas se você conseguir, compartilha aqui ou comenta no tutorials github. Vou gravar um video sobre esses conversores depois, talvez alguém consiga resolver. Aqui está o código do Github: github.com/Eslicdm/Tutorials/commit/4dc7358dd3d63b5715f1d181f61f395d76e3e420
Thank you very much! This will come in handy
Thank you for help bro
Great job, I wish if have a good mic
thanks Esli, the video is really useful
there is the difference between both of them? or it's just like we have to migrate from kapt to ksp?
Kapt is more for convert kotlin to java, so it's not handle some kotlin features very well and generate code slower. KSP analyzes kotlin code better, can be used with other platforms and build 2x faster than Kapt. Kapt is in maintenance and it's recommended to migrate to KSP.
@@eslirodrigues777 it works, thanks so much
This is good. Thank you
After watching so many videos, i cant believe it's a 1 minute 9 seconds video that got it done for me, lol. Thanks
I couldn’t understand how it works for a very long time and mostly people showed their own examples, but your example helped me finally understand how it works
Nice, there's another video about State: kzread.info/dash/bejne/rIqjuMd6lK-1obQ.html&ab_channel=EsliRodrigues
Make a video showing how to create a mask input like (xx) xxxxx-xxxx
I kinda have a video about that. In the TextField onValueChange parameter you can make text changes and enable or disable the mask using visualTransformation. TextField: github.com/Eslicdm/Tutorials/commit/71f8d070b31aed751e98e6a009380f57f2c12053 -- kzread.info/dash/bejne/jIOD08t7ppTId8Y.html&ab_channel=EsliRodrigues
@@eslirodrigues777 you only have used Visual Transformation for password, but in the documentation shows how to do that. But I didn't find any place teaching how to mask input like (xx)xxxxx-xxxx or even mask for currency like 27,64
Here's the video about this input mask: kzread.info/dash/bejne/p4dtsNaOfNaudqw.html&ab_channel=EsliRodrigues Github Code: github.com/Eslicdm/Tutorials/commit/24ad14b6c4a227cff1d253cd8a98f2c35569de40
what state management is used in Android I come from background of Flutter where we use sate management like Provider, River Pod, Bolc etc.
Basically is used a data class or a sealed class/interface that contains the states and events, and we can manage them in the ViewModel using MutableStateFlow and some functions extensions like stateIn, stateFlow, etc. We collect the state in UI Screen using collectAsState. Here are some links that may help: Savedstatehandle: github.com/Eslicdm/Tutorials/tree/master/app/src/main/java/com/eslirodrigues/tutorials/savedstatehandle/ui ---- kzread.info/dash/bejne/pnZllqSGm9Cbo6w.html&ab_channel=EsliRodrigues StateFlow with ViewModel: github.com/Eslicdm/Tutorials/tree/master/app/src/main/java/com/eslirodrigues/tutorials/state_stateflow_viewmodel ---- kzread.info/dash/bejne/rIqjuMd6lK-1obQ.html&ab_channel=EsliRodrigues --- kzread.info/dash/bejne/pGmly5eJh5vXXaQ.html&ab_channel=EsliRodrigues State Events with ViewModel: github.com/Eslicdm/Tutorials/tree/master/app/src/main/java/com/eslirodrigues/tutorials/state_user_event_viewmodel/ui ----- kzread.info/dash/bejne/epuHtdaLgqSWdJM.html&ab_channel=EsliRodrigues Retrofit HTTP API: github.com/Eslicdm/Tutorials/tree/master/app/src/main/java/com/eslirodrigues/tutorials/retrofit_api -------- kzread.info/dash/bejne/aqxtm8Wmn8a0hKw.html&ab_channel=EsliRodrigues
Very useful.
Vlw mano, salvou minha vida
Thank you
You are brasilian bro? Your accent looks like brasilian 🇧🇷
Yes, you're right bro
So every time the button is click the Push notification is shown?
Inside the app we have a button "Subscribe to Topic" just to subscribe, so you can receive the notifications. Inside the Firebase Console you can send the notifications.
@@eslirodrigues777 is there a way to send Push notifications from the App and not from the firebase console?
Yes, you can use the FCM HTTP protocol
Nice. But it's m2 + m3 mixed 😢
Do you mean Material Desing 2 and 3? For pre-designed UI components you should use M3, but you can also use foundation or material to customize the components. I utilized M2 components by importing the "material2" library. However, in the Tutorials project, I believe I didn't make use of it.
bro, your adCount var doesn't work properly, when I implement it, it doesn't show the ad
It's still working for me. First check all the code again. Maybe you just need to wait for the Ad to load. You can change the number of mutableStateOf ("0, 1, 2") or in the: if (adCount % 2 == "0, 1, 2") showAd(). You can try "withCreated" or another like "whenResume, withStarted". You can also use a log to see changes in adCount when navigate between screens, the normal state is to increase the value every time that you open the AdSecondScreen ("0, 1, 2, 3"). The problem is really with the adCount? The text "add loaded" should apper when the app starts, if this text was shown just check the loadAd function. Maybe you need to add the internet permission in the manifest: <uses-permission android:name="android.permission.INTERNET"/>
@@eslirodrigues777 thanks for suggestions, I will try it
how you finded these codes, I have investigated and don't find any good solutions. You are perfect
Thank You. Very useful one.
Great solution, keep it coming. Thanks
Amazing content, do post more stuff. No matter the subscribers keep on going.
The content & the code of your tutorial are very useful, but I think you need a better microphone. And, you need to slow down a little bit and perhaps provide some explaination on stateflow, flow and some other key components.
Thank You. Since most code in kotlin. Koin can be used for dependency injection instead Hilt.
Yes. I think that Koin and Ktor will replace Hilt and Retrofit, because of KMM.
I really thankful to you. Some tutorials are just lie, but your video is just for 51 seconds, but it added change theme functionality to my actual app. Thanks a lot!