Advanced Android is a series of training sessions aimed at Android developers with at least 6 months of experience.
Improve skills by focusing on reliable and maintainable Android development practices, essencial for longer projects.
Each training session is as an intensive hands-on workshop, with short lectures, exercises and, more importantly, discussions about concrete problems and solutions. Participants can bring their own code to be discussed, and will leave with concrete solutions and code examples ready to be used in their projects.
This first session is dedicated to Architecture, the cornerstone of any maintainable software. We're going to discuss the principles that ensure the quality and maintainability of an application, however complex it needs to be, focusing on the specifics of Android development. The result will be apps with less bugs and faster to develop and maintain.
Each section will include example code projects.
- Clean Architecture
- Organizing components into layers, to separate concerns: views, business domain and data.
- Dependency Injection
- Keep your code modular, by ensuring your components stay decoupled and easily interchangeable. This will include an introduction to the Dagger 2 library.
- Make sure your view code doesn't get out of hand with the MVP development pattern, separating view logic from implementation specifics.
- Custom Views
- Reuse layouts and avoid repetition by leaning how to deconstructing activities into custom views.
- Communication between components inside your app are the main source of software complexity. We will discuss the usage of callbacks, event buses and reactive patterns (with a short introduction to RxJava).
Favorite development phone