Module 1: Get started developing in Kotlin
This module consists of lessons devoted to the fundamental building blocks of the language. You will learn the Kotlin variable and type system, basic operators and ranges, and control structures in lesson 1. At lesson 2, you will be introduced to the definition of a function, its modifiers and where it can be defined along with various enhancements in Kotlin, including lambdas, function type, named and default parameters. Lastly, you will create small programs to learn about Classes and Objects.
Module 2: Introduction to Android
Begin with an overview of Android system and its version history, you will learn to setup the official IDE by following the detailed installation instructions, create your first Android app, build and run it on a device and emulator. Along the process, you will be introduced to the basic Android Studio features and its Tool windows, explore how an Android project and its app module are structured.
Module 3: User Interface (UI)
Plays a great part in mobile apps, it gives the look and feel, the presentation, and the overall interactivity of an app. In the first part of this module, you will learn the structure and components of an Android UI and how it is built in detailed. You will create layouts for apps by writing eXtensible Markup Language (XML) and working with ConstraintLayout in the IDE Layout Editor. This module ends with an introduction to the special interfaces: app bar, navigation drawer, menus, and notifications, together with UI’s styles and themes.
Module 4: Application Components
Are the essential building blocks of an Android app. In this module, you will be introduced to all four different types of app components: Activity, Service, Broadcast Receiver, and Content Provider, learn the distinct purpose each type serves and the lifecycle that defines how these components are created and destroyed. Out of the four components, the main focus in this course will be on Activity component and Fragment, a self-contained component with its own lifecycle that can only be hosted by an Activity. In addition, this module will also cover the messaging object that facilitates communication between the components and learn to request an action from components in other app.
Module 5: Performing Network Operations
You will first look into the Android single-threaded model, conforming several rules when working with the main UI thread, as well as the ways to create separate thread which is known as the worker / background thread, before learn about Android permissions and the basic tasks involved in connecting to and monitoring the network connection. You will write code to make network requests with native framework API and subsequently with HTTP client library, which offers lengthy list of capabilities that makes network operations more efficient. By going through all lessons in this module, you will be able to create Android apps that download content and parse date efficiently, while minimizing network traffic.
Module 6: Working with Data and Persistent Storage
Android provides several options to save app and user data persistently, each of these options is designed to specific needs, for example the space the data requires, kind of data to be stored, and whether the data is private to the app or is accessible to other apps and the user. In this module, you will learn how to preserve data either in key-value pairs, files on the device, or in a database.
Module 7: Publish Your App
Publishing is the general process that makes your Android apps available to users. This module first walks you through the steps to generate a release version of your app, and next outline the main tasks you need to perform to distribute your app on the official Android app marketplace – the Google Play store.