Learning Path: Android: App Development with Android N
0.0 (0 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
8 students enrolled

Learning Path: Android: App Development with Android N

Develop cutting-edge apps with the latest iteration of Android and App Inventor
0.0 (0 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
8 students enrolled
Created by Packt Publishing
Last updated 8/2017
English [Auto-generated]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 10.5 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Create the user interface with elements such as layouts and views
  • Use and evangelize the best third-party libraries in the business
  • Explore the concept of API in our app
  • Exercise the testing puzzles such as unit testing with Powermock and espresso
  • Leverage the latest in the Android ecosystem, such as wearables, Chromecast, and more
Course content
Expand all 72 lectures 10:29:06
+ Learning Android N Application Development
39 lectures 04:29:04

This video gives an overview of the entire course.

Preview 04:47

The aim of this video is to teach the main features of Android N.

Why Android N?

The aim of this video is to teach the basics of Android.

Basics of Android

The aim of this video is to explain the anatomy of our app

Anatomy of Our app

The aim of this video is to take a look at the various tools that help us in building android apps.

Tools Overview
The aim of this video is to have a look at Android Studio and emulators in a live environment
Tools – Android Studio and Emulators
With this video, we share an overview of the steps involved in creating the UI of the application.
Preview 03:34
The aim of this video is to get started with a simple "hello world" application.
Hello World
The aim of this video is to implement the home screen card of our application.
Home Page Card

The aim of this video is to create the home page card in the application and see it in the IDE preview

Home Page Card Implementation

The aim of this video is to explain a way to create an object that represents a news article and find a way to show multiple news articles on the screen

NewsArticle, Adapters, and RecyclerView

The aim of this video is to create a NewsArticle object that represents each news article

Creating a NewsArticle

The aim of this video is to implement an array adapter that will be responsible for drawing a list of news articles on the screen.

Implementing the ArrayAdapter

The aim of this video is to Implement the RecyclerView in the app.

Implementing the RecyclerView
Our aim is to understand and implement the details page in our app.
The Details Page
Our aim is to know more about event handling and navigation in our app.
Event Handling and Navigation

The aim of this video is to enable navigation to the Details Activity.

Enabling Navigation
The aim of this video is to understand and implement the multiwindow features in our app.
Android N Multiwindow Features
The aim of this video is to explain all the steps involved in creating the networking layer in the app.
Networking Section Overview

The aim of this video is to teach the basic concepts associated with networking (or talking to servers on the Internet) in a typical mobile app like ours.

Networking Basics
The aim of this video is to learn about the News API that we will be using the app.
News API

The aim of this video is to understand the steps in making sense of the news API response.

Parsing the News API Response
The aim of this video is to parse the NewsAPI response with JSONSchemaToPOJO and GSON.
Parsing the News API Response – Implementation

The aim of this video is to understand how to best use a networking library and retrofit.

With this video, learn to Implement retrofit in the app.
Retrofit Implementation
The aim of this video is to test a network API call.
Testing API calls

In this video, learn how to connect the network response to the UI to show actual news in the app.

Connecting the Response to the UI
In this video, you will learn about measurement tools.
Analytics and More
In this video, we'll implement firebase analytics and crash reporting in the app.
Analytics and Crash Reporting Implementation

The aim of this video is to teach you how to add attribution in the app.

Addition Attribution

The aim of this video is to introduce the types of testing in Android and why it's useful.

Introduction to Testing in Android

In this video, understand and implement unit testing in our app.

Unit Testing in Android

In this video, we will implement unit testing powered by Powermock.

Unit Testing with Powermock

We now understand and implement instrumentation testing in android.

Instrumentation Testing in Android

The aim of this video is to implement espresso-based instrumentation tests in the app.

Espresso Implementation
The aim of this video is to help you prepare your app for it to be launched on the Play Store.
Preparing to Upload to the Play Store

Launch an app on the Play Store.

Uploading to the Play Store

The aim of this video is to discuss some of the best practices in Android app development.

Best Practices

We look back at some of the things we've done in this course and some of the ways we can improve our app.

Review of the Project
Test Your Knowledge
5 questions
+ Create Android apps with App Inventor
33 lectures 06:00:02
This video will an overview of entire course.
Preview 07:31
The advent of the mobile device opens an entirely new category of software development.
Why App Development?
Of all of the many ways to create mobile apps, why choose App Inventor? Simplicity, ease of use, and a low learning curve.
Why Use App Inventor?

An Integrated Development Environment (IDE) is a developer’s toolbox. In this video, we describe what an IDE is, what its advantages are, and how it can be used.

What Is an IDE?

Can you really develop an Android app in a browser? In this video, we get an overview of the web-based IDE.

Introduction to Web-Based IDE

The emulator allows us to test our applications on our computer while we are developing them. In this video, we look at how to install the emulator.

Installing the Emulator

Sequence, Selection, and Iteration are fundamental programming concepts in nearly any programming language. In this video, we discuss what these terms mean.

Sequence, Selection, and Iteration
Variables hold data while our program is running. We can store data in variables, alter variable values, and pass variables from one procedure or event handler to another.

While programming, we should take advantage of multiple ways to give feedback to a user. Changing the screen color upon an event happening is one easy way to do this.

Changing Screen Background Color

We can save our program to edit later, and we can generate an APK (distributable) file that can be deployed on the Google Play Store.

Save Project Source and Generate APK
The Google Play Store is one of the most common places to make mobile apps available to a wide market. In this video, we see how to package apps for the Google Play Store.
Deploying your App on the Google Play Store
One variable can hold one piece of data, but what if you need to hold multiple pieces of similar data? Use a List.
Variable Type – List

Iteration (looping) allows us to perform a sequence of steps repeatedly. In this video, we discuss how to use iteration in App Inventor.


If tests allow us to make decisions, and then perform logic based on that decision, this is considered conditional logic or if tests

If Tests

We can use procedures to create modular, re-usable code. This saves significant development and maintenance time, as we can create more functionality with less code.


Procedures become truly re-usable when we use tokens, called parameters, which can be set when the procedure is called. Procedures can also perform work and return a result. In this video, we take a deep look at both of these concepts.

Advanced Procedures
There are many ways to interact with an app on an AndroidTM device, beyond simply looking at the screen. Many applications can be used via BluetoothTM exclusively! Thus, it’s important to interact with the user with multiple forms of media, including sound.

A professional app will have a uniform color theme and buttons with images that embrace that theme. In this video, we discuss where to find inspiration to determine a color theme, and where to go to create buttons.

Create an Image for a Button
In this video, we take the image created in our previous video, and add them to a button.
Add Image to a Button
One of the biggest advantages of mobile app programming versus traditional programming—most mobile devices have a camera. Many mobile apps can leverage this onboard device to allow the user to import personalized images and data into the app.
Invoke the Camera

In mobile programming, simple is better. In this case study, we’ll look at several screens from a live application, and determine how we can simplify them.

Mobile Usability Case Study
The trick to creating a fluid screen is knowing what layouts to use and how to nest them.
While a single-screen app is ideal, sometimes we need to have multiple screens in our apps. We can invoke screens without data, we can pass data, and/or we can receive data in return.
Call One Screen from Another

Screens can be very effective if they communicate with each other. In this video, we see how to pass data from one screen to another, and how to retrieve data from a screen that is closed.

Pass Data between Screens
Discuss the concept of a fun learning game.
Example Concept – Learn Chemistry

One of the first things to consider when creating an app is how to arrange components on a screen. Creating a fluid, response user interface often requires nesting layouts, and those who nest these layouts are artists.

Advanced Layouts
We rely on three major components when we create an interactive, touch and drag application. A canvas is the container for all of the moving shapes and images in our app. A ball is a simple circle that can move across a canvas and can detect collision with another ball or ImageSprite. An ImageSprite is similar to a ball, but we can use any image we wish as the background for the ImageSprite.
Using Ball and Canvas

When two images touch, the Android environment raises an event. We can use these events to our advantage. For instance, we may want to know when a missile image hits a spaceship, so that we can increment a score counter, or show a different image for the spaceship.

Detecting Collision Events

TinyDB allows us to store data in a name:value pair format. The name, which is called a Tag in TinyDB, has to be unique, and the value can be nearly anything: text, a number, or a list. If you’ve programmed before, you may be familiar with this concept, often called a HashTable or HashMap.

Saving Data in TinyDB

Storing data in TinyDB is good, and retrieving is better! In this video, we see how to retrieve data previously stored in TinyDB.

Select a Random Item from TinyDB

How can we determine if two lists are identical? In this video, we apply the logic that we’ve used before to determine if two lists contain the same elements. If they do not, we take action based on the difference.

Compare Lists

“The cloud”. What is it? How can it help us create our apps? We can use the cloud to synchronize data across our own hardware. More importantly, we can use the cloud to harvest knowledge around the world, centralize it in one location, and then synchronize it to our devices. App InventorTM now allows us to store data in the cloud, using a Firebase database. Without a doubt, this is a game changer for AndroidTM apps created in App InventorTM.

Congratulations! You’ve reached the last video in this App InventorTM course. In this video, we’ll consider where to go next with your app concept.
Wrap Up
Test Your Knowledge
5 questions
  • Working knowledge about Java

Android Nougat is the 7th major version of the Android operating system. It introduces notable changes to the operating system and its development platform, including the ability to display multiple apps on-screen at once in a split-screen view, support for inline replies to notifications, as well as an OpenJDK-based Java environment, support for the Vulkan graphics rendering API, and "seamless" system updates on supported devices. AppInventor enables the democratization of information technology. If you want to gain experience in building feature-rich Android apps, then go for this Learning Path.

Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

The highlights of this Learning Path are:

  • Explore all the new features of Android
  • Create and deploy your own apps on Play Store

Let’s take a quick look at your learning journey. This Learning Path begins with an introduction to Android Nougat. Explore all the new features of Android and start building your own apps. You will learn how to create UI with Android’s key developer tools, the Android Studio and Android SDK. Networking concepts with the API are the next in line, followed by creating an application that will give you a practical hands-on experience such as a newsreader application. Complete the building process by implementing fire base Analytics and Crash Analysis to measure the success and health of your app.
By the end of this Learning Path, you'll get acquainted with how to publish your apps on the Play Store.

About the Authors

Soham Mondal has worked with Android for about 4 years now and his own app “Skyro Voice Recorder” has around half a million downloads on the Play Store and has been featured there a couple of times. Apart from that, he has consulted with a bunch of startups on Android/UX and was an organizer with Blrdroid, one of the largest Android groups in the world.

Brandan Jones has been an adjunct assistant professor for the University of Cincinnati since the 2000-2001 school year. He has taught many courses in programming, from introductory programming to full stack development. He proposed and created the first Android programming course at the University of Cincinnati, and has been teaching it ever since. He reapplied this course and taught it at Northwestern University’s School of Continuing Studies as well.

Who this course is for:
  • This Learning Path is for developers who have built applications on Java and want to gain experience in building apps in Android.