Why Study this Course?

Learn why you should study this course.

We'll cover the following

Assume you’re building a house. You’ll need an excellent architect to plan out the house’s layout before construction begins and ensure you get a house with a solid foundation. The same is valid for software. Software architecture is the foundation and root of any software to ensure that it can be scaled and maintained in the future.

Course objectives

In this course, we’ll develop a news application that consumes data from an API and displays a list of articles that will be able to search for articles, save them as favorites, and open them to read using a WebView. By creating this application, you’ll be able to:

  • Retrieve data from web services to your Android applications.
  • Work with APIs using the Retrofit and OkHttp networking libraries.
  • Store data locally using the Room library for offline viewing.
  • Work with lifecycle components like LiveData.
  • Work with the new paging library for pagination purposes.
  • Understand coroutines.
  • And finally, be able to build small applications using the MVVM architecture.

Course structure

Let’s see how this course will help us achieve our set objectives and expectations regarding software architecture:

  • The course is divided into chapters and lessons that are appropriately organized, from setting up our environment to actual coding.
  • There are illustrations with charts and images that are clear and concise so we can easily grasp complex concepts that may be difficult to understand with only text.
  • Simple and practical explanations that we can run and tweak ourselves to see how the performance makes it an active learning experience.
  • Questions and assessments at the end of each chapter to test our understanding of key concepts.
  • Testing environments to test the APIs that we’ll work with.

This course will give you the knowledge and expertise you need to develop Android applications using the MVVM architecture. These applications will be easily testable, maintainable, and scalable, and will reduce time to develop and market for your clients.