The Jetpack Compose Beginner Crash Course for 2023 💻 (Android Studio Tutorial)

  Рет қаралды 315,059

Philipp Lackner

Philipp Lackner

Күн бұрын

Пікірлер: 296
@neogeor2011
@neogeor2011 4 ай бұрын
Hope these timecodes will help someone 😌 1:30 What will we cover 1:44 What is Jetpack Compose 3:00 First app 7:00 Component Modifiers 12:30 Position and layouts 20:17 Images 22:15 Conditional statements 24:02 Lists - LazyRow and LazyColumn 27:35 State 33:15 State - remember function 35:50 Example: textfield, button and a list 37:05 Text fields
@bharatpanjwani8518
@bharatpanjwani8518 Жыл бұрын
Hey Man, You doing a great job by providing these aesthetic tutorials free of cost, keep up the good work!
@PhilippLackner
@PhilippLackner Жыл бұрын
Glad you like them!
@ralphm.881
@ralphm.881 Жыл бұрын
This is exactly what I needed, thank you! Returning to Android development after not doing it for a few years, I was like, "What the heck is this Composable stuff?!"
@udaysharma5228
@udaysharma5228 Жыл бұрын
To the point and no nonsense! I will keep this in my favourite list to revise the course when ever I need. Thank you Philipp!
@nero1375
@nero1375 Жыл бұрын
Composable is very easy to understand if someone already had played with Dart/Flutter. Thanks for this Crash course!
@seifenspender
@seifenspender 4 ай бұрын
It also feels almost identical to SwiftUI, but with a few differences in design choices here and there
@str8busta
@str8busta Жыл бұрын
Philipp, just wanna say big big thanks for your contributions you are really making a big difference in people's lives and for android development in general. I finally got an android job a month ago and your videos helped me big time through my journey. I am currently refactoring code with bad practices and your big focus on patterns and good code is making a difference even here in Sweden. Next I wanted to learn jetpack compose and boom, you come with an awesomely packaged video. Thanks again man and looking forward to more content.
@MrBottleNeck
@MrBottleNeck 3 ай бұрын
if any1 hated writing "modifier = Modifier" as much as I did; (or something else I guess) Go to file->settings->Live Templates and press the "+" then put your preferred abbreviation, in my case "mod" and to Template text write "modifier = Modifier". Now, whenever you write mod and then press tab it autocompletes
@ManishKumar-qd6pl
@ManishKumar-qd6pl Ай бұрын
ThankYou :) i also hated writing this thing
@JIUHKK-r6g
@JIUHKK-r6g Жыл бұрын
Man, you've just inspired one more person to get back to his projects. I mean its illegal for recycler view to be so simple. You've got a talent to teach things.
@hassanbarre9572
@hassanbarre9572 10 ай бұрын
was l am annoyed
@kelvinthuranira8330
@kelvinthuranira8330 2 ай бұрын
😅 I Did it in java and XML. It's painful
@lakshmianjan7424
@lakshmianjan7424 3 ай бұрын
Just brilliant.. Excellent Phillip..I have been using Android XML files all these years.. U explained the basics of Jetpack Compose so well that makes u feel that it's easy, interesting and learnable . Thanks.
@daffanashwanpramono4149
@daffanashwanpramono4149 Жыл бұрын
My senior recommends your channel for Compose tutorial, and this is just so easy to understand. Much thanks for the tutorial :D
@prasadsawant9122
@prasadsawant9122 Жыл бұрын
Best android introduction, straight to point and gives you idea about how things work ui wise , how ui renders , kind of give beginners like me a starting point to explore. Just want to say thank you very much man, and really appreciate all of your efforts.
@Kaif_Ali_8302
@Kaif_Ali_8302 10 ай бұрын
Using jetpack after a long time, needed the revision. Your video was a great help as it covers most of the points without wasting any time.
@Narazgul
@Narazgul Жыл бұрын
Hey Philipp, ich hab bei dir häufig das Gefühl, dass du genau das Video machst, was ich in diesem Moment brauche. Nicht nur hier, sondern auch in vielen anderen Fällen in der Vergangenheit. Auch deine Shorts sind fast immer hilfreich! Vielen Dank für deinen absoluten top content!
@PhilippLackner
@PhilippLackner Жыл бұрын
Danke dir, das freut mich!🙌🙏
@Rajmanov
@Rajmanov Жыл бұрын
Thank you man, you make this community great!
@David-zb8br
@David-zb8br Жыл бұрын
Man, i wish this type of vid was abailable on yt when i was just starting, this will be very helpful to new compose learners. Great content as always philipp
@volkovolko
@volkovolko Жыл бұрын
For those who have issues with the newer versions, I found the issue (you need to remove the .fillMaxSize() of the Row and add it to the LazyColumn) : here is a repaired script : package com.example.myapplication import android.os.Bundle import android.util.Log import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items import androidx.compose.foundation.text.BasicText import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Add import androidx.compose.material3.Button import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Outline import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.TextStyle import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.example.myapplication.ui.theme.MyApplicationTheme class MainActivity : ComponentActivity() { @OptIn(ExperimentalMaterial3Api::class) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { MyApplicationTheme { var name by remember { mutableStateOf("") } var names by remember { mutableStateOf(listOf()) } Column( modifier = Modifier.fillMaxSize() ) { Row ( ){ OutlinedTextField( value = name, onValueChange = {text -> name = text}, modifier = Modifier.weight(1f) ) Spacer(modifier = Modifier.width(16.dp)) Button(onClick = { if(name.isNotBlank()){ names += name } }) { Text(text = "Add") Icon(imageVector = Icons.Default.Add, contentDescription = "") } } LazyColumn(modifier = Modifier.fillMaxSize()){ items(names){currentName-> Log.d("COMPOSE", "This get rendered $currentName") Text( text = currentName, modifier = Modifier.fillMaxSize().padding(16.dp) ) } } } } } } }
@goblin69_420
@goblin69_420 Жыл бұрын
This new UI way seemed a little mixture of flutter and react and I love this
@MaxProgramming
@MaxProgramming Жыл бұрын
This is exactly what I needed in native Android development! The syntax is so cool and easy to understand if you are familiar with React or Flutter. Much better than XML of course! I think I might go all in native if I continue to use Jetpack Compose! Thanks a lot Phillip!
@yassine-sa
@yassine-sa Жыл бұрын
yes it's a lot like flutter, which is one of its big advantages, it's just so simple to create layouts this way
@Imperial_Dynamics
@Imperial_Dynamics Жыл бұрын
hi from Greece. You were the one who introduced me to xml and now you are the one who introduced me to compose. You explain things very well and the pace is just right. THANK YOU.
@LucasHedegaardGertsen
@LucasHedegaardGertsen Жыл бұрын
Thank you so much for making this great tutorial!!! i have been wanting to create apps for so long and i never really liked the way designing UI worked, and i LOVE this way using code to make UI!
@ChristianMielke
@ChristianMielke 9 ай бұрын
i never worked with Compose, and just a little bit with XML. Also i started to learn Kotlin. And as an Professional Java Developer i can say: This Video is Awesom, with Compose App-Development feels easier like never before! Also i like that you share your knowlege with us! Good Job!
@SouthernPole
@SouthernPole Жыл бұрын
I am waiting for tutorials like this, thanks 👍
@СергейБезногов-т6у
@СергейБезногов-т6у Жыл бұрын
It's your the best video!!! And it's the best video in the history of online programming teaching!!!
@PhilippLackner
@PhilippLackner Жыл бұрын
Haha thank you mate!🙌🙌
@stockiber7656
@stockiber7656 Жыл бұрын
Hey, Philipp. Danke dir für all deine tollen Videos!! Du erklärst super gut und hilfst mir so sehr in verschiedene Topics einzusteigen und zu wissen, was man alles können sollte, um eine gute Android Developerin zu werden.
@PhilippLackner
@PhilippLackner Жыл бұрын
Danke das freut mich 🙌
@GTA_33
@GTA_33 Жыл бұрын
I am from india and i loved ur content i started ur playlist from basics of kotlin... And ur way of explaning concept is ossum . thanks for this ossum content .....🔥🔥🔥🔥
@manjaro675
@manjaro675 Жыл бұрын
Great timing! Am actually converting an existing project from flutter to native for better performance and control of device sensors.
@hossamqandel5303
@hossamqandel5303 Жыл бұрын
No matter how much I thank you, I will never give you the thanks you really deserve, Philip ♥️ You are truly a person of great value to the Android and mobile developer community in general I wish you all the best and give us more ♥️🙏🇪🇬
@deathrain1832
@deathrain1832 4 ай бұрын
as new learner I can say it's one of the best video I found on youtube, thanks philipp
@Remirured
@Remirured 4 ай бұрын
thank you for this guide. just got into kmp and was watching your video, when you you mentioned that you also have compose guides that one should watch so i did now. I am currently searching for a software dev job as i freshly graduated. But it takes so much time that i though fk it, i ll develope an app and publish it and your videos are a great entry
@fuzzy-02
@fuzzy-02 11 ай бұрын
This tutorial was just great to get me up and going. I learned Java and XML in my uni course but I thought it would be better to switch to Kotlin and JetCompose. Thanks a lot for this man! Its much better than the tutorials on the android website
@begmyratmammedov9357
@begmyratmammedov9357 Жыл бұрын
Thank you Philipp, this is so amazing tutorial with well summarized version of jetpack compose course. Great Work!!!
@jananipandian1520
@jananipandian1520 6 күн бұрын
Awesome Video to get started with Composables, Thanks Philipp!
@Talhaguy
@Talhaguy 18 күн бұрын
Fantastic overview! I'm coming from a web dev background and it's interesting to see the parallels to some front end frameworks.
@Thaizer
@Thaizer Жыл бұрын
Hi, I'm a c# programmer (Xamarin) Was curious about Android programming with Kotlin. Thanks for your good videos they help me a lot.
@wilsonpedrotamegajunior1053
@wilsonpedrotamegajunior1053 11 ай бұрын
This video is very, very clear and easy to follow and understand. I'm very, very thankful for you, it makes me to start get the idea of jetpack compose, and for sure this is the future of Android UI Design
@LuckyFortunes-b3q
@LuckyFortunes-b3q 2 ай бұрын
I now mix Kotlin and Java. I call it the Goblin syntax.
@haxificality
@haxificality Жыл бұрын
Thank you for this! I totally understand how advantageous Compose is compared to the old style. Now it's Compose for me all the way.
@scottbiggs8894
@scottbiggs8894 Жыл бұрын
Hands down the best instruction I've seen on jetpack compose. And I've seen tons of vids and scads of websites. Thank you!
@eazyfrizzy7983
@eazyfrizzy7983 Жыл бұрын
From watching this video i learned a lot about compose. Thanks keep it up
@TownrideNigeria
@TownrideNigeria Ай бұрын
This is a very amazing course that has really augmented my capacity
@xFaisalM
@xFaisalM 27 күн бұрын
I appreciate you teaching me about modifiers and their uses. One video is excellent, but it will be even better if you divide it up into smaller ones where the topic explains the material.
@OCEH6
@OCEH6 Жыл бұрын
Awesome! So cool! You and Compose is Amazing!
@serlok4688
@serlok4688 Жыл бұрын
I've just started your compose play list. it's good you uploaded it thanks
@DyotakT
@DyotakT Жыл бұрын
Hey Philip, Amazing job! This is so much better than the official videos provided by Google. Thank you! Keep it up. :D
@PhilippLackner
@PhilippLackner Жыл бұрын
Thank you!
@valeryegorov2616
@valeryegorov2616 Жыл бұрын
The Best Android Teacher!
@prudhvimadasu
@prudhvimadasu 6 ай бұрын
I can't thank you enough, this is a great crash course for Jetpack compose
@vibhuvineet
@vibhuvineet Жыл бұрын
Certainly found it helpful, very clear explanation. A huge thumbsup for the content.
@henriquepetters
@henriquepetters Жыл бұрын
Do more compose content, i see a lot of devs struggling with it. And i can totally relate, i'm glad i dived head first when it came out.
@codewithsebastian
@codewithsebastian 10 ай бұрын
I am Learning Compose, and Unlike many other ways of learning I have used before, I find mixing the Docs and Your tutorials Yours only, to be working. I dont want to go into the tutorial loop just yet, maybe later on when I get most of the basic conepts and can now make the skills as diverse as they can be
@mihaes7172
@mihaes7172 Жыл бұрын
Thanks for this video, much valuable as I am entering this Kotlin - jetpack world from Php
@faustipez
@faustipez 6 ай бұрын
Thank you so much, it really helped me to understand the basics of Jetpack Compose and see the benefits of using it for my current project!
@pengottv589
@pengottv589 Жыл бұрын
Insane Video, Thank you very much for the introduction to Jetpack Compose! Your free content helped me so much! Thanks for everything Philipp.
@Rundik
@Rundik 4 ай бұрын
The way it works it looks more like imperative than declarative. In declarative style the order usually doesn't matter, and here it does
@brand-konto9377
@brand-konto9377 2 ай бұрын
Adding a Column puts the text into separate rows. Good Job Google. Very intuitive :D
@PhilippLackner
@PhilippLackner 2 ай бұрын
The elements are arranged in a column though. Calling this a row I'd consider the most unintuitive thing ever 😄
@niazsagor3241
@niazsagor3241 Жыл бұрын
Thank you Phillipp for these videos. These are gem.
@flaviocatuara7488
@flaviocatuara7488 Жыл бұрын
Thank you as always Philipp Great job. Very useful
@Terik17
@Terik17 5 ай бұрын
clear and concise intro to jetpack compose, thank you for sharing :)
@kyeiiih4422
@kyeiiih4422 Жыл бұрын
Amazing Content Phillip.
@andreymerc1
@andreymerc1 3 ай бұрын
Thanks for really well explaining the topic in simple terms!
@manishprajapati8544
@manishprajapati8544 Жыл бұрын
Amazing tutorial Bro, This introduction was really simple and helpful with clarity Thank you 🙏🙏
@AfzalAli-n6d
@AfzalAli-n6d Жыл бұрын
One of the best tutorials for compose beginners
@andersmembers1309
@andersmembers1309 Жыл бұрын
stumbled onto this, but it's really great!
@mergenstudios8779
@mergenstudios8779 6 ай бұрын
This video acctually did teach me a lot, thank you!
@jayeshkarale9118
@jayeshkarale9118 Жыл бұрын
i'm not watched fully video but yes i'm 100% sure this is best content. thanks in advance ♥
@PhilippLackner
@PhilippLackner Жыл бұрын
Thank you!!
@alireza-qy8wh
@alireza-qy8wh 3 ай бұрын
Thank you Philip for your tutorial, it was very helpful.
@ldxyz-s1e
@ldxyz-s1e Жыл бұрын
46:38 What if "names" is some array inside your ViewModel class. This cannot be mutableStateOf(), as VM doesn't know anything about UI. How to notify to update LazyList?
@ldxyz-s1e
@ldxyz-s1e Жыл бұрын
kzbin.info/www/bejne/imnZcqOPf9GKbtE
@mikethemonsta15
@mikethemonsta15 Жыл бұрын
Excellent! Thank you so much this really helped me
@ricnyc2759
@ricnyc2759 12 күн бұрын
I thought Jetpack needed the composable functions. They were deleted. 28:58 Can anyone explain why all the code was placed in the "setContent"?
@MRBala-xx5si
@MRBala-xx5si Жыл бұрын
Thanks Philipp . You gave a better start to me.
@Khush-f6s
@Khush-f6s 2 ай бұрын
Thanks for this video .I was able to understand it very well .
@nickb7170
@nickb7170 8 ай бұрын
hey i tried to follow the turorial but when I typed in the same thing 38:22 it only gives out the error: Type 'MutableState' has no method 'setValue(Nothing?, KProperty, String)' and thus it cannot serve as a delegate for var (read-write property) Is there a fix? how can i fix it?
@Goose____
@Goose____ 7 ай бұрын
Glad i decided to check this video out before trying to learn with XML,
@Mr.YeastMK
@Mr.YeastMK Жыл бұрын
Thank you, that helped me to learn the basics
@akashmadanu3994
@akashmadanu3994 Жыл бұрын
Phillipp, Thanks for your excellent content, if you make an entire Android course and Upload it to Udemy/KZbin, which is ok if it is paid course which includes all basics and some projects that help many Android (jetpack) learners, you have a 10 week course on your official site. Still, as a student, that is not affordable, hope you keep this in your mind and make an excellent android course that can be enrolled by even students. Thank you again for your great content; I love you so much.
@nikinsk
@nikinsk Жыл бұрын
Nice and Epic video for Jetpack compose learners
@Hobynist
@Hobynist Жыл бұрын
Came here to find out what is jetpack compose. And got the answer, thanks!
@williamgiraldo996
@williamgiraldo996 Жыл бұрын
Thank you, this is great to start on jetpack compose
@ndanielamaha5618
@ndanielamaha5618 Жыл бұрын
Thank you bro, very succinct and sweet summary
@masterwayne9790
@masterwayne9790 3 ай бұрын
Easy to understand from flutter framework. Thanks a lot.
@malikkahfi2534
@malikkahfi2534 Жыл бұрын
Love this 😍
@tranminhviet6416
@tranminhviet6416 2 ай бұрын
love this video so much!!!
@ezekielwachira1691
@ezekielwachira1691 Жыл бұрын
Always top content 💯
@HierKommtAlex3
@HierKommtAlex3 11 ай бұрын
Great video. I love this declarative way of UI programming. I did a lot QML before but now I have to switch to Kotlin and was really afraid of diving into XML^^ In your video there is just one point that I do not understand: why is it necessary to assign the new text value to the member text value inside the onValueChanged ? Actually I would assume that this slot is called when changing the member. At least in QML it is how it works.
@dabert5972
@dabert5972 8 ай бұрын
PHILLIPP YOU ARE THE MAN
@jordyetienne8109
@jordyetienne8109 6 ай бұрын
You got a new follower!
@rizwansworld
@rizwansworld 7 ай бұрын
Cool crash course man. No BS. Just to the point.
@nazimgallo9116
@nazimgallo9116 6 ай бұрын
Thank you for the video, much appreciated!!!
@potavios
@potavios 16 күн бұрын
JC crash course is done! Let's come back to the Master Class now!
@Youtube-Mark
@Youtube-Mark 8 ай бұрын
recompose-able is explained flawlessly, i am new to android, i am afraid of getting a start with android, and this lecture gave more insight into the Jetpack compose over xml views and to get started with android app development with ease and confidence. Lazy rendering is explained perfectly, earlier when i am using neovim editor i was getting confused about the buzz word lazy loading..hear you have explained this concept so simply...Thank you very much Philipp.
@irhasdev
@irhasdev Жыл бұрын
please make videos about jetpack compose more
@vismal2007
@vismal2007 Жыл бұрын
Thanks man, very good content!
@ruslanpodurets6289
@ruslanpodurets6289 Жыл бұрын
Thank you so much, great examples!!
@kirgo4720z
@kirgo4720z Жыл бұрын
Thanks a lot for this video! Its brilliant! So understandable!
@MaximusMcCullough
@MaximusMcCullough Жыл бұрын
Totally awesome! Thank you for this information.
@typosbro_
@typosbro_ Жыл бұрын
Compose feels like Flutter which was inspired by React Native which a variation of React which was created a decade ago. I'm new to Android dev btw😇
@kamal-i7d1m
@kamal-i7d1m Жыл бұрын
20:18 Images 24:00 list
@lvterry
@lvterry 11 ай бұрын
Thanks for the course!
@pikazap6672
@pikazap6672 Жыл бұрын
Thank you Philipp!! :3
@Dibyendu.M
@Dibyendu.M Жыл бұрын
Thank You, Philipp!
@oxygenconsumingindividual
@oxygenconsumingindividual Жыл бұрын
So, this is something like Flutter for Kotlin no? Or something really similar to that
ViewModels & Configuration Changes - Android Basics 2023
18:46
Philipp Lackner
Рет қаралды 140 М.
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 158 МЛН
UFC 310 : Рахмонов VS Мачадо Гэрри
05:00
Setanta Sports UFC
Рет қаралды 1,2 МЛН
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН
Kotlin Course - Tutorial for Beginners
2:38:31
freeCodeCamp.org
Рет қаралды 1,7 МЛН
8 Rules For Learning to Code in 2025...and should you?
12:59
Travis Media
Рет қаралды 174 М.
Kotlin Multiplatform vs Flutter: Which should we use?
4:42
Kei Fujikawa
Рет қаралды 28 М.
How to Navigate in Jetpack Compose 🚀 | Android Studio | 2024
13:45
The Ultimate Gradle Kotlin Beginner's Crash Course For 2025
42:17
Philipp Lackner
Рет қаралды 25 М.
Should You Use Compose State or StateFlow in Your ViewModels?
13:59
Philipp Lackner
Рет қаралды 84 М.
Intents & Intent Filters - Android Basics 2023
25:36
Philipp Lackner
Рет қаралды 86 М.
7 Outside The Box Puzzles
12:16
MindYourDecisions
Рет қаралды 151 М.
Full Guide to Jetpack Compose Effect Handlers
24:56
Philipp Lackner
Рет қаралды 100 М.
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН