Easy-to-understand introduction to Modern Android Development by Frozen Coder
The purpose of this lecture is to provide an easy-to-understand introduction to the working principles of Android libraries centered around Android Jetpack and how to apply them to your apps.
Theory and usage of Android Architecture Components
Automating tests in Android code
Learn with certainty through the theory that summarizes only the key points, In this hands-on training, you'll learn in a balanced way by creating an app right away! 💻
Android Rocket Ride Let's start strong! 🚀
Jetpack is a Google-made tool that helps developers build high-quality applications quickly and easily. A collection of libraries and tools to help you create.
The best way to learn how to use Android libraries is to refer to the official documentation from Google Developers, but the explanations are often complicated and the Korean documentation is often not updated quickly.
So, I decided to create an easy-to-understand Android course. This course covers architectural patterns, how to use the Android Jetpack Library, dependency injection, and test automation .
If you have the same concerns Let's do it together 😎
Jetpack for Android apps Those who want to apply MVVM
Google Developers' Those who do not understand official documents
Jetpack library Those who want to learn systematically
I'm curious about the lecture ✨
Unique features of this course
I've extracted only the key points from the lengthy official Google Developers documentation and explained them in slides.
After explaining the library, let's apply it to create an app.
The theory and practice are almost 1:1 in proportion, allowing for balanced learning.
We have excluded as much code as possible that is not necessary for understanding the structure of the library.
Covers all the most essential Jetpack libraries related to building architecture.
Changes in students after attending the lecture 😁
🏃♀️ You will understand the differences between MVC, MVP, and MVVM architectures and be able to apply them to your app.
🏃♀️ You will be able to understand and use the principles of the Jetpack library.
🏃♀️ You will be able to understand and apply Dependency Injection.
🏃♀️ You will learn the importance of test automation and how to test your code in Android.
Learn one by one, session by session 🔎
Section 0 <Enter>
Explain the differences between MVC, MVP, and MVVM architectures and learn why Jetpack was created.
Section 1
This article explains the principles and usage of AAC's ViewBinding, ViewModel, Lifecycle, LiveData, and DataBinding. It also explains how to use the Repository pattern.
Section 2: Creating a Book Search App
Let's apply what we learned in Section 1 to create an app that searches for books.
Section 3 <Reinforcement Theory>
In Section 2, we further explain the theory behind the technologies we used to create the app, but which do not fall under AAC.
Section 4
Learn how to implement screen transitions in your app using Jetpack Navigation.
Section 5
Learn how to use Jetpack Rooms in your app to work with SQLite databases.
Section 6
Learn how to update your UI using Kotlin Flow instead of Live Data.
Section 7
Learn how to store simple data using Jetpack DataStore instead of Shared Preferences.
Section 8
Learn how to build an infinitely scrolling data stream using Jetpack Paging.
Section 9
Learn how to perform background tasks using Jetpack WorkManager.
Section 10
Explain why dependency injection is important and learn how to inject dependencies with Hilt.
Section 11
Learn how to write build.gradle scripts in Kotlin.
Section 12 <Conclusion>
Let's evaluate the MAD Score of the apps we've created so far.
Appendix
Learn about test automation in Android.
Expected Questions Q&A 💬
Q. Why should I take this course?
We'll explain how to work with the Jetpack library in a really easy-to-understand way.
Q. What are the features of Jetpack Library?
It is an important library that contains core functions that make Android structurally secure and is maintained stably because it is managed by Google.
Q. Can you also explain Jetpack Compose?
Jetpack Compose is a relatively new API that is still undergoing significant changes, so it will not be covered in this course.
Q. Is there anything I need to prepare before attending the lecture?
Please install Android Studio on your computer. It would be helpful to learn basic Kotlin syntax beforehand.
Other contents
- Source code 📑
In this lecture, we created three apps. The app's source code can be downloaded from my Github repository (click "App Source Code").
App source code used in the Architecture Pattern and Android App Architecture lectures.
Part 1. App source code used in Android Architecture Components theory
(A review after listening to all the lectures)
(I wrote it in a modified format (sound font) to make it easier to read, so please understand.)
- The 'Basics' section organized before entering the section was 'very'well' organized
- The instructor's know-how is included
- This is a great place for test lectures. I didn't understand the tests in Google Code Lab, but I learned a lot from this lecture.
(I was impressed by the basics section that previews the test section in the appendix. If you're worried about paying, take a look here.)
- The lectures are simple and easy to understand. It'll be easy to complete, and I'm happy that I'll have a completed app as a reference after listening to the lecture. (Since there are many parts that have already been used in code labs, it was easy for me because it felt like a review, but I don't know about others.)
(However, the fact that it is simple and easy can be both an advantage and a disadvantage -> It would be good for learners to supplement and look for parts that they don't understand or are lacking.)
- Google teachers must have created Jetpack to make apps easy... The content is quite extensive and it's not easy to study. You won't be able to get everything you want just by watching this lecture, and it seems like learners will have to search and study more.
- The lecture fee is definitely worth it, and if the company provides learning support, just pay without hesitation!
You should do it yourself with your own money, but it would be good to buy it during the Inflearn discount and study with a sunk cost(?) (In conclusion, I recommend the lecture. You will get more from listening than not listening, and if you pay and watch it instead of worrying about the lecture fee or lecture quality, you will probably study up to Section 3.)
- The instructor is kind and quick to answer questions.
- If there's an Android lecture that I need next time, I'm willing to buy it.
- There was a 3-star review on the course review, and I agree with some of it.
(The screen transition is applied to the architecture, and since the file is split a lot, it can't be helped, but you have to follow the code and look at it, but the code is covered by the editor, or you end up pressing the undo button a lot when the scroll transitions. It would be good to have a 5-second gap so that you can press the next video on YouTube? It would be good to have a 3-5-second gap so that you can stop the video after the code is completed. Also, the instructor seemed to speak a little fast, but I don't know if it's because I lack listening skills or because it's my first time taking an English class and library, but there were parts that I had to listen to repeatedly to understand. The speaking speed is a matter of the student's likes and dislikes, and... it would be difficult to control, so I think you can just listen to it repeatedly.)
I listened to a good lecture. Thank you.
Thank you, hhyeok1026, for your valuable review. I feel rewarded for making the course because you gave me such a good review. As you said, I think I didn't realize that the course transition speed was fast because I was an instructor. Thank you for explaining it in detail :)
I've used jetpack technologies once, but I wanted to know more about them, and I was worried because there was so much to learn, so I ended up taking this course. It was very helpful because the concepts were explained easily and accurately.
In particular, it was good that I could understand the overall flow by applying and refactoring all of the jetpack technologies within one project, rather than learning them in fragments.
I think it's also a big advantage that you answer questions quickly.
Thank you for the great course :)
The lecture was so good 👍
The code provided in the lecture did not have any errors.
It was good because it was different from other lectures in this part (not having to spend time catching errors).
It was good because the code process was skipped quickly, which saved time and prevented boredom.
In the process of refactoring by technology, it was good to organize the content by finding and using the technology on the blog.
Overall, I organized the information I knew, and I think I should listen to the lecture again and make the information I don't know mine.
Thank you for creating an Android lecture that is absolutely uncommon.
Thank you for watching, Ua. I'm glad that the lecture was helpful. You've organized the repository neatly, too. Thank you for your hard work studying :-)
This is one of the few really good lectures that kindly explains MAD.
There is a lot to study, so I will have to review it a lot, but if I understand this lecture properly, I think it will be a great help to me personally. I learned a lot 😊
Park Soo-bin, thank you for your valuable course review. I am glad that the efforts to make the lectures dense while improving quality were conveyed well :)
First of all, I was so impressed that you explained not only how to apply the library, but also the evolution of the library. I was so happy to learn why Jetpack provides so many libraries and the reasons for providing them.
Before, I thought, "I have to study all of this and know how to use it well to get a job. Why is there so much to do?" It was a big realization for me, who had a headache memorizing and copying and pasting the usage instructions.
And especially, regarding Hilt, you explained advanced information that is not easy to understand even if you read the official documentation, such as the SOLID principles and how Hilt works, in an easy-to-understand way, which was very helpful. In this situation, I think I just referred to the code lab sample codes and attached them, thinking, "I have to attach this annotation, I have to attach this scope." But now I think I understand the principle, so thank you so much.
(Additional)
In addition, it was great to learn about the test code writing method that was not easy to do on my own (especially UI Test using Espresso) by adding not only architecture but also Kotlin kts application and test tasting part.
I will apply what I learned to the project I have been working on and make it my own!
JI HUN LEE, thank you so much for your valuable review. I feel like my lecture intention was conveyed well, so I feel like it was worth the effort to teach :)