What you'll learn:
- Learn the most important aspects of Android architecture
- Decouple user interface logic in your codebase using MVC pattern
- Employ Dependency Injection to follow Separation of Concerns principle
- Discover the real roles of Activities and Fragments in Android applications
- Understand Single-Activity vs. Multi-Activity trade-offs
- Use clean packages structure to reflect the business domain of your application
- Avoid "Spaghetti Code" and "God Classes"
In this course, you'll deep dive into Android design and architecture and learn how to write clean, readable and maintainable code in your Android applications.
As you probably know, starting developing for Android isn't that hard. Really, you can go from zero to publishing an app on Google Play in just few months. However, it's even easier to mess up your Android project with dirty code.
The symptoms of dirty code are all too common: classes with thousands of lines of code, duplicated code all over the place, obscure naming, random structure of packages, Singletons, etc. All these are very serious problems which, sooner or later, appear in and slow down most Android projects.
However, it doesn't have to be like that! There are best practices which you can learn and use in your Android applications that will ensure their long-term quality:
Model-View-X architectural patterns
Package by Feature
Logic Reuse Through Composition and Inheritance
After completing this course, you'll start writing clean and readable code. Different features will be encapsulated in small, decoupled classes which will be organized into meaningful packages to reflect your application's business domain. You'll be using standard design and architectural patterns, so other developers will have easier time ramping up on your code. And much, much more...
No more Activities and Fragments having thousands of lines of code. No more code duplication. No more changes in many different places each time you add a new feature. No more spaghetti code!
Over the years, I worked as a corporate Android developer, wrote Android applications as a freelancer and, today, Iconsult companies about their Android projects and train their developers. The material in this course summarizes years of professional experience with many different types of Android applications.
All in all, in this course you'll acquire advanced knowledge and skills which will make you more productive as a developer and boost your career. Furthermore, you'll start taking professional pride in your work and enjoy Android development much more going forward. If this sounds appealing, this course is for you!