Тёмный

Let's Migrate an XML Project to Jetpack Compose! 

Philipp Lackner
Подписаться 173 тыс.
Просмотров 24 тыс.
50% 1

In this video, I'll show you how you can take a full XML project and migrate it to Jetpack Compose step-by-step. You can apply this sequence of steps for any of your XML projects.
⭐ Get certificates for your future job
⭐ Save countless hours of time
⭐ 100% money back guarantee for 30 days
⭐ Become a professional Android developer now:
pl-coding.com/premium-courses...
💻 Let me be your mentor and become an industry-ready Android developer in 10 weeks:
pl-coding.com/drop-table-ment...
Subscribe to my FREE newsletter for regular Android, Kotlin & Architecture advice!
pl-coding.com/newsletter
Join this channel to get access to perks:
/ @philipplackner
Get the initial source code for this video here:
github.com/philipplackner/Xml...
Get the source code after migration here:
github.com/philipplackner/Xml...
Join my Discord server:
/ discord
Regular programming advice on my Instagram page: / _philipplackner_
Checkout my GitHub: github.com/philipplackner
You like my free content? Here you can buy me a coffee:
www.buymeacoffee.com/philippl...

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

 

25 окт 2022

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 38   
@PhilippLackner
@PhilippLackner Год назад
As a little addition, in case you also want to migrate your XML theme to Compose: 1. All you really need to do for that is to create the theme-specific Compose files you already get in any new Compose project (Type.kt, Shapes.kt, Colors.kt, Theme.kt). You can just copy these over and adjust based on your theme. 2. Then, in every ComposeView in your project, you use YourAppTheme { ... } as the root wrapper. That's it.
@halvtysk
@halvtysk Год назад
I was just about to ask about these details, as this was the thing that was the most time-consuming for me when I started migration. Understanding how to setup typography-classes took some time, and, to be honest, I'm still not sure if I'm handling theme:ing the correct way, or if I'm simply relying on colorResources, etc too much. These details (from a migrating perspective as opposed to a "start from scratch"-approach) would be interesting to see your take on.
@saurabhyadav-sz9rx
@saurabhyadav-sz9rx Год назад
In my firm, we are now migrating our code from XML to Compose. This video is really helpful. Kudos!
@benchakalaka
@benchakalaka Год назад
Extremely useful! Thank you
@mariumbegum7325
@mariumbegum7325 Год назад
Great to see an insightful tutorial
@aokruan
@aokruan Год назад
Thank you for this video. The most important information.
@AhmedAli-ld6en
@AhmedAli-ld6en Год назад
Perfect As Always
@SachinKumar-nb3pg
@SachinKumar-nb3pg Год назад
Hey Philipp, Thank you so much for this great video. But you forgot to add composeView.setViewCompositionStrategy(DisposeOnViewTreeLifecycleDestroyed) inside the fragment which helps composeView to dispose its's composition when the view's lifecycleowner is destroyed.
@nomugop8017
@nomugop8017 Год назад
excellent, as always
@greenvoice28
@greenvoice28 Год назад
Thanks Philipp!
@Camlon
@Camlon Год назад
Thanks for the video. I have been working with migrating XML to compose views for some time, and I prefer to pass the findNavContoller() function to the composable. Then I can create a channel that will be consumed by a shared composable. That means no callback functions to the fragment, it looks more similar to a pure compose screen and just a single line for each screen to allow navigation, toast, pop with arguments, etc. Also, a simple way to add all compose dependencies is to right-click on the project and tap New -> Compose -> Empty Compose Activity.
@xCrawfly
@xCrawfly 2 месяца назад
This is the only video tutorial from the jetpack compose series that I couldn't finish :( I got tons of gradle errors just at the last step, I assume it's because the dependencies versions have changed (even tho I replaced those by the more recents). I think I'll just try it with a newer video tut. Anyway, Thanks Philipp!
@mustafaammar551
@mustafaammar551 Год назад
you are the best👌👌
@daniyar2718
@daniyar2718 Год назад
Thanks 👍
@pumaelgatosiberian5047
@pumaelgatosiberian5047 Год назад
Hi Philipp, why you use lateinit var compose view? you can do like that View = ComposeView(requireContext()).apply { setContent {} } in onCreateView
@azamat0180
@azamat0180 Год назад
could u please make tutorial about baseline profiles?))
@samstoyroom
@samstoyroom Год назад
Can you make a video about how to handle Lifecycle event in compose? Thanks!
@user-dealcart
@user-dealcart 8 месяцев назад
@Philipp can you help me understand this XML code?
@user-eo9gb1qq7n
@user-eo9gb1qq7n Год назад
Hi Philipp, thank you for your content. Can you tell, what theme exactly do you use in your android studio?
@PhilippLackner
@PhilippLackner Год назад
Xcode dark
@nipunkumarit2168
@nipunkumarit2168 Год назад
I have a silly point but I think it's important, When you have to apply a sound on every button clicked in your app, what should the best approach to this.
@asadullahilyas
@asadullahilyas Год назад
Create a Composable function, with a click callback. In that composable, create a button. On clicking that button, play the specific sound and after that, call your callback that you passed in this composable function.
@nipunkumarit2168
@nipunkumarit2168 Год назад
@@asadullahilyas cool
@PandaTop.
@PandaTop. Год назад
What kind of theme do you have in Android Studio? P.S. Thank you!
@PhilippLackner
@PhilippLackner Год назад
Xcode dark
@maximooze3196
@maximooze3196 Год назад
Another Like from me, even though I dont need this, because Im a "guru". 🤣 jk @Philipp, another good content!
@aymenebenguedouad3180
@aymenebenguedouad3180 Год назад
Can you give us sources to learn Android compose
@josua_htp
@josua_htp Год назад
hi philipp, thanks for your tutorial videos because it really helps! if i may ask you one thing, please create one video on how to learn programming really fast. a short video is good too. thank you 🙏
@Rohan_is_discovering
@Rohan_is_discovering Год назад
can I convert my whole JAVA android project to jetpack compose..?
@PhilippLackner
@PhilippLackner Год назад
By completely rewriting it in Kotlin
@sebastianseno9285
@sebastianseno9285 Год назад
it's still painful to see UI preview in compose.
@coffeedude
@coffeedude Год назад
Yep
@sebastianseno9285
@sebastianseno9285 Год назад
@@coffeedude I hope they added hot reload flutter like in compose
@atikurrahamanshakur8138
@atikurrahamanshakur8138 Год назад
I really don't like this declarative approach of building UI. When flutter came out with this approach I was really exited. But really didn't like it. I tried flutter multiple times but didn't really like it. Same thing is happening with compose. Anyone else can relate?
@embracehumanity7651
@embracehumanity7651 Год назад
I didn't like flutter too at first , however it's more simple than using XML , optimised flutter UI is way faster than XML , easily reusable and also has minimal lags while building large scale apps, In terms of hardware access I don't like flutter .
@nijuyonkadesu
@nijuyonkadesu Год назад
I'm only irritated when dealing with edge cases, it reminds me of CSS a bit,.. or like while I think something and when put them as code, output would be different.. then go back and edit
@alokeshnath4269
@alokeshnath4269 Год назад
Hey Philipp Please help me or anyone who know the answer; I have got this error in google internal testing "" Error in java.lang.AbstractMethodError: abstract method "void androidx.test.internal.platform.ThreadChecker.checkNotMainThread() "" I have search all over the internet but didn't get the solution please help me...🙏🙏
@nijuyonkadesu
@nijuyonkadesu Год назад
XML to Compose Migration: 1. 𝙵𝚛𝚊𝚐𝚖𝚎𝚗𝚝𝙵𝚒𝚛𝚜𝚝.𝚡𝚖𝚕's equivalent is 𝙵𝚒𝚛𝚜𝚝𝚂𝚌𝚛𝚎𝚎𝚗.𝚔𝚝 2. Define UI using composable along with state, viewmodel / action, onClick function 3. Set up compose view in fragment, define onclick fns, observe viewModel, pass it to composable
Далее
What turned out better to repeat? #tiktok
00:16
Просмотров 3,4 млн
Bottom Nav Bar #03 | Material 3 | Jetpack Compose
12:21
Fragments with Jetpack Compose (Interoperability)
15:03
The Full Guide to ANNOTATIONS In Kotlin
21:32
Просмотров 30 тыс.