Тёмный
The Android Factory
The Android Factory
The Android Factory
Подписаться
Hello there! My name is Domenic and I am a passionate developer with a bunch of Android experience. Over the last 8 years I have found myself building apps for a variety of companies, spanning a range of industries, with varying team sizes. I have started this channel to give back to the community, start my passion for teaching, and provide a practical resource that I wish I had when first getting started.

Whether you are a seasoned vet or someone with no development experience, I'll provide a comprehensive overview of core components and everything you'll need to publish an app on your own! This channel will be entirely focused on Kotlin (the suggested programming language for Android apps) and will keep up to date on the latest Android news, trends, tools, and development practices. Compose coming soon - need to learn it better myself before trying to mentor others about it! xD
Jetpack Compose Custom Toolbar
12:04
14 дней назад
Compose UI work: List items vs. Grid items
19:51
3 месяца назад
Adding Hilt to Multi-Module App | Android 2024
7:32
5 месяцев назад
You Should Use Sequence Diagrams
9:02
5 месяцев назад
Add horizontal scroll to your LazyColumn!
7:16
6 месяцев назад
Sticky headers in Jetpack Compose!
15:21
6 месяцев назад
Simple Guide to Network Caching in Android
6:14
6 месяцев назад
How to handle network errors with Ktor
10:37
6 месяцев назад
Jetpack Compose + Coil image loading tutorial
14:17
6 месяцев назад
Practical API mapping Android example
11:14
6 месяцев назад
Setup Ktor for your Android app!
15:22
7 месяцев назад
Multi-module Android App Tutorial
17:04
7 месяцев назад
Deploy to Firebase with GitHub Actions (part 2)
11:15
7 месяцев назад
GitHub Actions: Run tests on pull request open
11:48
7 месяцев назад
GitHub Actions: Linting your codebase
12:39
7 месяцев назад
GitHub Actions Intro: Automate your codebase!
13:33
7 месяцев назад
Reviewing Pull Requests as a NYC Staff Engineer
12:24
11 месяцев назад
Custom LazyColumn Sort UI Jetpack Compose
19:11
11 месяцев назад
LazyColumn Explained w/ Real Example
16:44
11 месяцев назад
Комментарии
@nguyenuckhanh6302
@nguyenuckhanh6302 День назад
If i would like to see log from ktor client with the beauty format (like Json format) for body response in logcat , how can i do that ?
@TheAndroidFactory
@TheAndroidFactory День назад
I think there is a log plugin that you can attach to the Ktor instance and set it to prettyPrint=true somewhere. Take a look at their docs and it should be pretty straightforward hopefully!
@riezkymaisyar4038
@riezkymaisyar4038 3 дня назад
i love it, this code really pretty clean, thankyou so muchh!
@TheAndroidFactory
@TheAndroidFactory 2 дня назад
It's available on GitHub!
@ahmedHmila-h9f
@ahmedHmila-h9f 5 дней назад
Hello I am getting error :Error: failed to determine AAB info. HTTP Error: 400, Request contains an invalid argument. i'm using this action - name: Déployer sur Firebase App Distribution uses: wzieba/Firebase-Distribution-Github-Action@v1 with: appId: ${{ secrets.FIREBASE_APP_ID }} serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }} groups: testers file: android/app/build/outputs/bundle/release/app-release.aab
@AdanSendo
@AdanSendo 6 дней назад
I been searching for months for a good channel that explain in great detail the topics for make me get started and learn android development and I found you!! I'll stick with your channel, thanks for sharing your knowledge.
@TheAndroidFactory
@TheAndroidFactory 4 дня назад
Amazing!! I'm glad you found me :) the channel has plenty of content on it that evolves linearly in complexity, so feel free to checkout the playlists and watch them in order if you want to :) sharing the channel with anyone else that may find it helpful is always appreciated 🙌
@nicoqueijo
@nicoqueijo 7 дней назад
I think you may be able to use the native HorizontalDivider() instead of the custom Box there for the separation between toolbar and screen content.
@sammorales5940
@sammorales5940 9 дней назад
Will be great if you can add a search bar, thanks for the videos bay the way, really awesome content!!!
@TheAndroidFactory
@TheAndroidFactory 8 дней назад
Can definitely add search! Search and filter logic would be fun to build out
@GCkk
@GCkk 10 дней назад
Hi, Is their a way to inject the applicationContext into multi-module lib?
@TheAndroidFactory
@TheAndroidFactory 9 дней назад
For sure! Checkout this StackOverflow post: stackoverflow.com/questions/63072927/how-to-inject-application-context-in-a-repository-with-hilt
@GCkk
@GCkk 9 дней назад
@@TheAndroidFactory Sorry I think Question was not clear. I wish inject the applicationContext of the app to a library module.
@TheAndroidFactory
@TheAndroidFactory 9 дней назад
@GCkk yeah it could be done by defining an interface in the library module that needs application context, and is implemented in the app module. I'd consider alternate ways of doing this as well though as a thought exercise, for instance: do you actually need the application context as opposed to another context? Is there a way you can restructure things so whatever needs the application context can be injected into the library as opposed to the library requiring the context itself? It may not be wrong what you're doing, but it may be easier if you try to solve the problem a different way. Just something to think about! Hope this helps
@DaikonDee
@DaikonDee 11 дней назад
Should have watch the video until the end, i stop at 7:35 and wondering for hours why it pass 0 integer. Thank you for the tutorial
@TheAndroidFactory
@TheAndroidFactory 11 дней назад
Ha. Thanks for watching :)
@AliZz0A
@AliZz0A 11 дней назад
Hi I just started this season I am beginner. First episodes of this series is easy for me. But when you start MVVM and this video I got confused. It looks a little hard and I don't understand full of code. What should I do. I actually hate learning something new without practice. Everyday I want to do something myself then I think I should continue this series and I get stuck again
@TheAndroidFactory
@TheAndroidFactory 11 дней назад
Understandable -- there's another series on the channel where I build a "digital clock" using LiveData and I think that might go you understand the concepts better. It is a shorter series and specific to how the architecture + tooling works, so maybe try some videos there
@AliZz0A
@AliZz0A 11 дней назад
@@TheAndroidFactory so after watching "digital clock" series should I continue this series or do something else?
@TheAndroidFactory
@TheAndroidFactory 11 дней назад
I'd say this series is a good thing to come back to when you learn new things so you can "put it all together" into an app. The digital clock series should help you understand how LiveData works in general and then this series is a more practical example of how to use the tool inside the MVVM architecture pattern
@AliZz0A
@AliZz0A 10 дней назад
@@TheAndroidFactory Thanks a lot
@nicosummer9020
@nicosummer9020 11 дней назад
Truly solid content. 10/10 ! You have saved my mobile dev module this semester ✨
@TheAndroidFactory
@TheAndroidFactory 11 дней назад
Woo! Glad it helped :)
@Dibyendu.M
@Dibyendu.M 12 дней назад
I have completed the playlist today. I must say you have covered most of the important aspects of a basic to intermediate-level project. Thanks a ton, mate. I look forward to more insightful videos in this playlist. One suggestion: please implement pagination in this project. ✨🙏
@TheAndroidFactory
@TheAndroidFactory 11 дней назад
I appreciate your support and will make some more content to complete this app. Although, I already did make a video in this series about pagination - just our own custom implementation as opposed to using a library for it
@zeusalmighty6740
@zeusalmighty6740 12 дней назад
Should we be moving minSdk version to toml? It is not a dependency, better to have a convention plugin?
@TheAndroidFactory
@TheAndroidFactory 12 дней назад
Possibly. Mainly just showing off something you can do. To me it is a "version" so it does have a place in the file, but there could be an argument either way I suppose
@jam4l
@jam4l 13 дней назад
Nice, thanks Domenic 👏
@TheAndroidFactory
@TheAndroidFactory 13 дней назад
Hope it helps :)
@stevensilitonga
@stevensilitonga 15 дней назад
Use shared elements for those characters! ❤
@TheAndroidFactory
@TheAndroidFactory 15 дней назад
Ohhh I like it. I'll look into it!
@MrRahulmalik
@MrRahulmalik 15 дней назад
how about implementing shared element transition for character image from list to detail screen using the new API??
@TheAndroidFactory
@TheAndroidFactory 15 дней назад
Love the idea. There is more than one comment about this so I'll look into it!
@AliZz0A
@AliZz0A 15 дней назад
I am beginner with android programming. First I learn basic and watch Season 1 from your channel. What do you prefer next I can watch season 3 or should I continue with this season
@TheAndroidFactory
@TheAndroidFactory 15 дней назад
Well first off, welcome! Thanks for stopping by the channel :) I would recommend the older Rick and Morty season since that is a full app in XML and this is a full app in Jetpack Compose. All the code is available on GitHub for both seasons, but that other project may help explain some other concepts and is a little simpler than this one. We use dependency injection, a new networking library, and this project is multi-module which is a little advanced in my opinion for a beginner. Once you complete that season though, this one will be fun to watch as well since you'll be familiar with the data and other core concepts of Android development. I'd also recommend the "digital clock" season since that shows some good separation of concerns and LiveData concepts to send data around!
@AliZz0A
@AliZz0A 15 дней назад
@@TheAndroidFactory Thank you for reply. This channel is really very good for beginners. You are hero. I have 1 more question. When I should stop watching tutorials and try to create simple projects by myself
@TheAndroidFactory
@TheAndroidFactory 15 дней назад
I always try to reply! I'd say pulling the code down from GitHub might be a good start because you have something to learn from/reference and you can build off of it to make tweaks to something you want to try. You'll also have "plumbing" in the project already for making an API call or building a certain UI. But you'll learn really quickly what you know and don't know when you try something yourself! I wouldn't wait too long, but I would keep the projects simple to start so you can build momentum building something!
@Dibyendu.M
@Dibyendu.M 15 дней назад
Happy married life, mate!
@TheAndroidFactory
@TheAndroidFactory 15 дней назад
Haha thank you ❤️
@joseluismamanicallizaya5352
@joseluismamanicallizaya5352 16 дней назад
Starting the course !
@TheAndroidFactory
@TheAndroidFactory 16 дней назад
Should be fun :)
@Dibyendu.M
@Dibyendu.M 17 дней назад
4:06 When PaddingValues is used in the LazyColumn, the padding works horizontally and at the start and end of the composable. This is why we are not able to see the padding while scrolling. However, when you reach the start or end of the list, you will be able to see the padding.
@j2shoes288
@j2shoes288 17 дней назад
that is one ugly looking UI.
@TheAndroidFactory
@TheAndroidFactory 17 дней назад
Appreciate you
@Dibyendu.M
@Dibyendu.M 17 дней назад
Great project! Thank you so much.
@TheAndroidFactory
@TheAndroidFactory 17 дней назад
Plan on making more content for this soon!
@bob-nt8xd
@bob-nt8xd 18 дней назад
how is this so neiche! this is a top tier tutorial!.
@TheAndroidFactory
@TheAndroidFactory 18 дней назад
Haha thank you thank you 😁 help me grow by sharing the channel 🙏
@bob-nt8xd
@bob-nt8xd 18 дней назад
@@TheAndroidFactory im not saying that lightly, ive been searching for an explanation of how to create modules and manage them in a production level everywhere. none of them explain that simply, and google's documentation sucks.
@TheAndroidFactory
@TheAndroidFactory 18 дней назад
More than happy to chat. I'm very much living in a wild multi-module architecture in production myself right now so it's absolutely real! I appreciate your support ❤️
@thuraaung7640
@thuraaung7640 19 дней назад
Thank you so much for the awesome tutorial. This channel deserves more subscribers.
@TheAndroidFactory
@TheAndroidFactory 19 дней назад
I appreciate your support! Help me grow by sharing the channel with anyone you think would like it 😀
@RageNagatoTV
@RageNagatoTV 29 дней назад
Im first time seeing this like wrapping whole screen into a state ? is this actually better than regular screens ( dont know how to explain to you like most of tutorials and repository code i found) and inside that screen i call collectAsState from viewModel and then i add items from that state to list etc.. hope you can understand what i mean :D
@TheAndroidFactory
@TheAndroidFactory 29 дней назад
I believe I understand. And the answer likely is: "it depends". When you have a screen that should react "as a whole" I like this pattern, but if you had a screen that held many different data points and ways for the user to interact, it may be better to separate them out. Then again, you could have all of those elements of state in a single data class that has everything you need, and at that point it would boil down to listening for N different pieces of state or having one piece of state that contains N elements. In most cases it may not matter which approach you go with, but sometimes this way or the way you're asking about is better for the use case. Good to be aware of all the options so you can make the best decision when the time comes! Hope that helps haha
@RageNagatoTV
@RageNagatoTV 29 дней назад
@@TheAndroidFactory Im way less expirienced than you(2 years but 1 year work expirience with old old android 13y old code in that company, i started learning jetpack compose 1 year ago) so now i have one more thing to keep in mind i think i understand you a little because in my case i have a screen where ill have a list with some clients info and after i click on it i will have more of clients details so this is all about the screen i guess your way with state is great then ? and i actually wanted to implement some paginating (also custom i didnt want to rely on library i wanted to expand my understanding of android etc). And i managed to get to your video so im thinking to redo my whole screen , i managed to implement some pagination by having lastLoadedId variable in my repository then i gave it value lastLoadedClientId = clientList.last().clientId , so i have two functions one for initialLoading with limit of 7 and the other is loadMore with limit of 4 with .startAfter(lastLoadedClientId) ( im using firebase for this app) , so i made it work somehow and i didnt know if its a good way of doing(i think it is not thats why im trying to find some other solutions). Im talking too much haha , thank you for your response anyway :D
@RageNagatoTV
@RageNagatoTV 29 дней назад
@@TheAndroidFactory if i understood good in my case this will be good since i also have screen with a list of clients( 3 fields displaying on a card) after i click im opening clients info screen where i can see more fields about him and a picture. i wanted to implement a custom pagination because i didnt want to rely on library , so i found you at the right time :D also i did some i think bad way of paginating and thats why i want to find more solutions private var lastLoadedClientId: String? = null in my repository than i have initialLoad fun where i limit 7 items to load and give the lastLoadedClientId = clientList.last().clientId and i have another function which will be called multiple times as long i have items to load loadMore with limit of 4 items and .startAfter(lastLoadedClientId) and giving also value lastLoadedClientId = clientList.last().clientId . Im using firebase , and from my ui i had some similar logic to your to detect when to call loadMore function . Hope i explained well to you :D thanks for any answers
@RageNagatoTV
@RageNagatoTV 29 дней назад
@@TheAndroidFactory i tried few times to reply and is my comment too long? and cant be posted ( it is posted but then dissapears hmm)
@RageNagatoTV
@RageNagatoTV 29 дней назад
if i understood good in my case this will be good since i also have screen with a list of clients( 3 fields displaying on a card) after i click im opening clients info screen where i can see more fields about him and a picture. i wanted to implement a custom pagination because, also i did some i think bad way of paginating and thats why i want to find more solutions private var lastLoadedClientId: String? = null in my repository than i have initialLoad fun where i limit 7 items to load and give the lastLoadedClientId = clientList.last().clientId and i have another function which will be called multiple times as long i have items to load loadMore with limit of 4 items and .startAfter(lastLoadedClientId) and giving also value lastLoadedClientId = clientList.last().clientId . Im using firebase , and from my ui i had some similar logic to your to detect when to call loadMore function . Hope i explained well to you :D thanks for any answers
@MohamedKhalid-ei5rr
@MohamedKhalid-ei5rr 29 дней назад
could you please tell me if i can make a pagination for just the horizontal scroll model ?
@TheAndroidFactory
@TheAndroidFactory 29 дней назад
Of course you can! It may be a weird way to use horizontal scroll; normally the content that scrolls there isn't infinite BUT there's nothing stopping you from doing it! It's functionally the same thing as vertical scroll pagination:)
@MohamedKhalid-ei5rr
@MohamedKhalid-ei5rr 25 дней назад
@@TheAndroidFactory The entire screen is made with epoxy and the controller is implemented AsyncEpoxyController() how to make a horizontal paging list inside the same controller using carousel
@donaldjrtrumpy8511
@donaldjrtrumpy8511 29 дней назад
hey I can't assign viewModel: CharacterDetailsViewModel = hiltViewModel() in detail screen , any ideas ? it says hiltViewModel is unresolved reference edit : No idea how it worked seems like newer navigation hilt dependency was problem.
@TheAndroidFactory
@TheAndroidFactory 29 дней назад
Did this resolve for you now?
@donaldjrtrumpy8511
@donaldjrtrumpy8511 29 дней назад
@@TheAndroidFactory yes I updated the dependency ant it worked
@TheAndroidFactory
@TheAndroidFactory 29 дней назад
@donaldjrtrumpy8511 amazing!
@donaldjrtrumpy8511
@donaldjrtrumpy8511 Месяц назад
I was having the same problem I thought it was API error also I think making those horizontal scroll clickable would be cool.
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Clickable isn't too difficult at all!
@donaldjrtrumpy8511
@donaldjrtrumpy8511 Месяц назад
@@TheAndroidFactory I was talking about clicking and linking with each sticky header. if you click season 4 header you'll be automatically scrolled to s4 episodes list in the lazycolumn
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Oh great idea!
@yasheshmakwana4308
@yasheshmakwana4308 Месяц назад
Hi I want help for my app ?do you help me
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Well hopefully this channel can help you! But what do you need help with
@Godzuche
@Godzuche Месяц назад
Great content! Easy to understand. :)
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Appreciate the support :)
@radsham9
@radsham9 Месяц назад
Congratulations! thanks for the videos, they are really useful
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Appreciate your support ❤️
@cognyteabhish3904
@cognyteabhish3904 Месяц назад
This is awesome. It was so simple with this video, thanks man.
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Amazing! Glad it was helpful :) Crashlytics is a must in my opinion
@emranulislam6469
@emranulislam6469 Месяц назад
How can we handle error ?
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Hey -- check out a future episode in this series! I cover how to add that in quite simply :)
@jam4l
@jam4l Месяц назад
Adele: Hello from the other side 🎶🎵 Android : Hello from the other module 🎶🎵 😆😆😆😆 BTY I am using your series as a reference sometimes 🥰
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Hahaha yup! Me and Adele are close like that. Glad you're finding value in it! I'm excited to continue it -- been quite busy with life lately
@jam4l
@jam4l Месяц назад
@@TheAndroidFactory May Allah be with you 🙏
@TheAndroidFactory
@TheAndroidFactory Месяц назад
❤️
@wokhardy1018
@wokhardy1018 Месяц назад
Hi Dom, I have a question I guess more about MVVM architecture. Specifically the repository pattern. My question is, do we want to be creating a new repository for each network call, like you do in this video? One for the characters by Id, and one for character repository? In my understanding, one repository is supposed to provide the data thats needed. I suppose you could separate repositories by data source (one for network, one for Room, say), but at the very least I think there should be a single repository per network API right?
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Hey great question, but there are a handful of acceptable ways. Traditionally though, I like to "separate by path" of the endpoint. So if you had 5 API calls related to characters, and 3 for episodes, and 2 for something else, you would have 3 repositories that have 5, 3, 2 functions in them respectively. A character repository, an episode repository, etc. It makes your API calls easy to find and groups them appropriately!
@wokhardy1018
@wokhardy1018 Месяц назад
@@TheAndroidFactory I suppose it makes sense. Seems like that would grow the code size, but I guess thats really only a problem with small projects. The real benefits would be in larger projects.
@TheAndroidFactory
@TheAndroidFactory Месяц назад
I wouldn't worry much about code size to be honest when it comes to something like this. It definitely helps readability and discoverability in the project which is very important as time goes on
@marvelrivera1194
@marvelrivera1194 Месяц назад
Thank you
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Glad it helps!
@aboali8063
@aboali8063 Месяц назад
😢😢😢😢
@diegodeoliveira1304
@diegodeoliveira1304 Месяц назад
Thank you bro! Saved me here.
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Woo! Glad it helped:)
@joeybasile1572
@joeybasile1572 Месяц назад
Thanks bud
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Hope it was helpful :)
@damg77
@damg77 Месяц назад
Cool, thanks soo much!
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Hope it helps! There's a bunch of code on GitHub if you need it
@nicoqueijo
@nicoqueijo Месяц назад
How come the hilt NetworkModule doesn't reside in the network module? For di, are all the hilt modules supposed to reside in the app module?
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Hey this is a great question, but no we want this DI module in the app module because we are using Hilt in the app to inject our networking "library" into the main module. If you had dependencies you needed to organize in the network module to make that function properly, you could use Hilt again in that module to map your dependencies. Does that make sense?
@nicoqueijo
@nicoqueijo Месяц назад
@@TheAndroidFactory I think so. So if I have a Repository in a data module that uses a KtorClient (that resides in the network module) I would make the NetworkModule (that provides the KtorClient) inside the data module, correct?
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Yes, correct. You use the Hilt modules inside your modules that contain the code to either (1) map dependencies your module needs internally for itself to work or (2) fetch dependencies from "outside" your module that your code depends on to operate.
@nicoqueijo
@nicoqueijo Месяц назад
@@TheAndroidFactory Thank you so much for the explanations!
@TheAndroidFactory
@TheAndroidFactory Месяц назад
Of course! Hope it helps :)
@VenewebTV
@VenewebTV Месяц назад
Hi Dom, new day anther excellent video, very useful, thanks, regards from Caracas, Venezuela
@TheAndroidFactory
@TheAndroidFactory Месяц назад
❤️
@nicoqueijo
@nicoqueijo Месяц назад
6:01 how did you highlight an instance of VERSION_11 and quickly highlighted the other two for quick editing?
@TheAndroidFactory
@TheAndroidFactory Месяц назад
I think it is Alt + j on Windows and CTRL + g on Mac! Super useful shortcut once you get the hang of it. Copy and paste over multiple cursors works too which is satisfying 😎
@Son-zh2iq
@Son-zh2iq 2 месяца назад
Fantastic group UI you made. I'm trying to make my own google-calendar-app and so confused how to implement the group thing with sqlite statement. Now I'm back on my track
@TheAndroidFactory
@TheAndroidFactory 2 месяца назад
Glad it helps! Good architecture is key to making your life easier, especially with Compose!!
@resitsahin7787
@resitsahin7787 2 месяца назад
I am working on a very easy case and i am not able to understand what android propose for such simple think. I am using compose and viewmodel. I have two screens. First screen displays a list of email boxes for example. When user clicks the email box, a second screen opened. Now the viewmodel of the second screen will get all the emails assosiated with the selected email box. The problem is sending this id from previous screen to viewmodel state. I use navigation argumends but when i initilize the state of the viewmodel, i do not have this id at hand. Can you make a tuturial for a such case, there is need here. I am looking for statehandle but not sure yet and there not many examples descrbing this. Maybe i am missing something.
@TheAndroidFactory
@TheAndroidFactory 2 месяца назад
Yeah I would look to contain your state at some shared location, like a Singleton or at the Activity level or something and have both your ViewModels reference the same source of data. This series covers this concept quite well, so I hope it helps!
@resitsahin7787
@resitsahin7787 2 месяца назад
Thank you very much, the problem i am having is every one teaching something about android asumes that we know everything except the mentioned topic :) And google always changes things all the time, now i am struggling with dependencies. A tutorial about how gradle version catalog or in general dependency works, where to look to find things would be nice.
@wokhardy1018
@wokhardy1018 2 месяца назад
Wow, these last three videos just made things so much more complex! Im still following along, i think theyre clever solutions and i think im learning a lot following an experienced developer like yourself. The best way improve your own code is to read code by your betters, after all. Still not sure I'd be confident implementing this in my own apps, but handy to have a reference on how its done. Thanks a lot for sharing your knowledge, Dom, youre the best!
@TheAndroidFactory
@TheAndroidFactory 2 месяца назад
Hey thanks for the support and feedback! It can be daunting at first, but after you do it once or twice you'll get the hang of it! Also a lot of the newer content on the channel may be helpful too. Try looking at the series with the digit clock and MVVM pattern. It's an interesting display of the architecture that may help explain it another way :)
@wokhardy1018
@wokhardy1018 2 месяца назад
@@TheAndroidFactory Yes! I'm gonna try using this kind of pattern in my apps, as I said its nice to have a reference I can use. I'm planning on going through each season on your channel. Will take me months, but I'm learning a lot! I've already become a much better developer since just watching this and the last season
@TheAndroidFactory
@TheAndroidFactory 2 месяца назад
That's some dedication!! Haha thank you for everything and I hope you enjoy all the content. It gets progressively better as well because I became better at creating content along the way. Most of the code is available on GitHub too, so you should be able to download it quite easily :)