Converge important architecture and design concepts together to create robust, maintainable, and extensible applications.

In Detail

Android OS has the largest installation base of any operating system in the world. In this course we will learn the skills it takes to build robust, maintainable Android applications. We will focus on architecture and design concepts that make decision making easy, allowing us to focus on developing features while not getting bogged down in broken code or too much up-front planning. We’ll learn that, with the right understanding and preparation, the process of Android application development can be as rewarding as using and sharing the applications we develop.

This course provides the foundational constructs, processes, and tools that are needed to write stable, full–featured, and maintainable Android applications. We cover architectural concepts for the UI layer, which is often the easiest part of the application to lose control of, and explore the overall application architecture.

You will start by building a UI for a personal project management application, organized into an MVP architecture. You will then leverage Google’s LiveData and ViewModel to handle Activity lifecycle concerns while also implementing RxJava to make the UI layer completely reactive. Next, you will explore Bob Martin’s Clean Architecture and learn how to begin thinking about the application in terms of layers of functionality: from the business domain, through use cases, and finally to the strap-on user interface. Lastly, you will integrate your app with a RESTful API to back up your data in the cloud.

Downloading the example code for this course: You can download the example code files for all Packt video courses you have purchased from your account at http://www.PacktPub.com. If you purchased this course elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.