Sign in Go Pro

Courses

Illustration
Android Vector Drawables Fundamentals

In this course, you'll be introduced to the fundamentals of Android Vector Drawables. You'll learn how vector drawables are rendered via various svg elements and attributes. You'll learn how to use paths, clip paths, and groups...

Illustration
Dependency Injection in Android using Kodein

In this course, you’ll learn how to add Dependency Injection to your Android apps using Kodein. We will create a complete app from scratch together, and you will learn to identify which parts of the architecture require to be ...

Illustration
Android Clean Architecture

Does your application suffer from a monolithic architecture that makes it hard for you to maintain, extend and test? Do multiple responsibilities plague your classes? Is your codebase tightly coupled to specific frameworks, dat...

Illustration
Build a Simple Google Assistant App with Zero Code

Google assistant is available is more than 500 million devices, for you to engage with this audience you can develop your own action by extending the Assistant with Actions on Google. This course will give you all you need to c...

Illustration
Beginning JavaScript for React Native

This course will teach you everything you need to know about JavaScript to get started programming mobile apps in React Native. No knowledge of React Native is required - but the course is designed to teach you all the basics ...

Illustration
Android Model-View-ViewModel Pattern

This course will teach you about the Model-View-ViewModel (MVVM) pattern and take you step by step on how to apply it to build and Android Application from scratch. You'll also learn about how MVVM relates to other patterns suc...

Illustration
Build an Ethereum Decentralized App (ÐApp) with Solidity and the Truffle Framework

Create your first Ethereum Decentralized Smart Contract App! In this course, you will learn how to use the powerful Truffle Framework to create Ethereum ÐApps (smart contracts). You will create a Ðapp for a rental agency that ...

Illustration
Introduction to Android Things

Why take this course This course will enable you to become proficient in developing and creating the next generation of Internet of Things (IoT) and Android Things device applications. Giving you the skills and knowledge to be ...

Illustration
Advanced React Native

In this course, you will start with a basic Todo List application, and extend with using a variety of advanced React Native features. These techniques include how to animate parts of your app, how to structure your application,...

Illustration
React Native with Redux

In this course, you will take an existing React Native application, and modify it to use Redux instead of local state. Redux is a state management library, and is often used with React Native to simplify data flow within an app...

Illustration
Build a React Native Application

In this course, you will build a cross-platform React Native application using JavaScript. You will build a ToDo list application that will communicate with a remote API (which is written in Node.js - and is also available for...

Illustration
Android Architecture Components - A Deep Dive

This course demonstrates how the Android Architecture Components can help you solve common problems faced by all Android Developers. In addition to how they are implemented, this course also focuses on why these components are ...

Illustration
Functional programming in Kotlin with Arrow

Functional Programming in Kotlin with Arrow showcases how to solve the main concerns that any Android app can have by using Functional Programming. This course achieves Functional Programming using Arrow, which the Instructor i...

Illustration
Realm & Android Architecture Components

This course will show you how to use Realm with Android Architecture Components. You’ll learn how to: Encapsulate your data access logic within Data Access Objects (DAOs) Represent RealmResults as LiveData Apply LiveData Trans...

Illustration
Constraint Layout

A comprehensive course on the features of ConstraintLayout and examples of how to use them. You will learn how ConstraintLayout works, how ConstraintLayout compares and contrasts to other Android layouts. You will also review t...

Illustration
Detecting Android Memory Leaks with LeakCanary

In this course, you’ll learn how to install LeakCanary into your application and use it. You’ll be shown how to force a leak so that you can interact with the LeakCanary library through the LeakCanary notification. The library ...

Illustration
Android Wear - Building Your First Watch Face

Watch Faces are the most popular category of Android Wear apps. Their main purpose is to allow the user to read the current time, and for that reason, they are active on the watch screen far more than any other types of Android...

Illustration
Android Testing Support Library 1.0

In this course you will learn about new features for the Android Testing Support Library such as Android Test Orchestrator, better idling resources, grant permission rule and more.

Illustration
Espresso Test Recorder

Espresso Test Recorder is a fantastic tool for “breaking the ice” and trying Espresso for the very first time. Available in Android Studio 2.2 and higher, it’s a clean and simple UI based tool, that generates Espresso code for ...

Illustration
Firebase Remote Config

In this course, we’ll be learning about how you can use Firebase Remote Configuration to dynamically alter the look and feel of your Android applications. After looking into what Remote Configuration is, you’ll be looking at ho...

Illustration
RecyclerView

Have you been perplexed by the elusive RecyclerView? In this course, you’ll learn how to master the RecyclerView. From the LayoutManager, to ItemDecoration, you’ll learn it all. By the end of this course, you’ll have RecyclerVi...

Illustration
Sketch

In this course you’ll learn how to use the Sketch design application. This course is a great place to start if you’ve never worked with Sketch or if you’re just needing some help understanding the concepts. This course is lead ...

Illustration
ExoPlayer - Introduction to Audio Playback

This course is an introduction to playing audio with Exoplayer: Google’s open source, application level media player. By the end of this course, you will understand how to incorporate audio playback functionality into your Andr...

Illustration
Android Profiler

This course introduces the Android Profiler tool. It provides real-time information about your Application relating to Memory, CPU and Network usage. The course begins with an introduction to using the tool. I will show you how...

Illustration
Git in Android Studio

This course will walk you through the essentials of using Git in Android Studio. We start out by covering the various user interface components available in the Version Control Tool Window. Then we move on to creating commits, ...

Illustration
Android Architecture Components

This course is retired. Please see the new course on Android Architecture Components here. This course will introduce you to some of the Android Architecture Components. You'll be exposed to ViewModel's, LiveData, how to wire t...

Illustration
Build a Google VR App

In this course, you’ll learn how to build your first Google VR App. You’ll dive into the differences between Cardboard and Daydream, how to use specialized libraries to help build VR scenes, and how to use Open GL.

Illustration
Google Play Developer Console

In this course, you'll learn about the various tools available to you as a developer and application publisher that will help with your application management and deployment processes.

Illustration
Understanding Material Design Guidelines

In this course, you’ll learn come to understand the theory behind Material design and its principles. After this course, you’ll be able to properly apply material design guidelines to your designs.

Illustration
Kotlin

Kotlin is a statically typed programming language for the JVM, Android and the browser. In this course, you will be introduced to Kotlin, its syntax, semantics, constructs and more. This course will cover classes, the standard ...

Illustration
Custom Views and ViewGroups

In this course you will learn how Android Views and ViewGroups are rendered. You will also learn how to create custom views in your application.

Illustration
Espresso Idling Resource

In this course you will learn all about Espresso’s Idling Resource. You’ll learn how it works and how you can build your own custom idling resource to help you with your Android testing.

Illustration
Android Job

Background work on Android can be challenging when you have to support a wide range of API levels. Specifically you can use Alarm Manager, Job Scheduler or GCM Network Manager depending on your minimum API level and if the devi...

Illustration
Bootstrap our App using Android Studio

Unless you’re getting paid by the line of code, you probably don’t want to write repetitive boilerplate code. This course will show how you to quickly generate common code, so you can spend time on the custom logic that is impo...

Illustration
Moshi

In this course, you’ll learn about serialization and deserialization and how to do it with the Moshi JSON library. You’ll dive deep into the workings of Moshi and upon exiting the other side you’ll have a great handle on how an...

Illustration
Realm

In this course, you'll learn about an alternative to SQLite - Realm. Realm is an Object database that allows you to easily store, alter and retrieve data with ease.

Illustration
Accessing Google API's

Learn how to use Google APIs and Services from your backend servers allow you to add features and functionality to your app, without adding to your mobile device code. In this series, you will learn how to create and secure ser...

Illustration
Mockito

If your application has ever suffered from tight coupling, or if you’ve simply had problems testing your logic in isolation in a repeatable manner then you’ve probably heard the term “mocking”. When you use mocks, you can easil...

Illustration
Design Patterns

Design patterns are used in almost every application. In this course you’ll learn about various design patterns, why you’d use each one and how to implement each one in your application. From the Observer to Strategy to Factory...

Illustration
Event Bus

In this course, you will be introduced to the Green Robot Event Bus. You will learn how to use the event bus to decouple your application. You will also learn about the various thread modes that Event Bus offers.

Illustration
MockWebServer

In this course, you’ll learn how to use MockWebServer to test your app without talking to an external server. This will help by making your repeatable tests much more reliable. No more relying on a physical server to be in plac...

Illustration
Material Design

In this course, you’ll be exposed to various components in the Material Design guidelines. We start off with the Collapsing Toolbar Layout with many more lessons from various instructors to come.

Illustration
ButterKnife

ButterKnife allows you to inject your views without using View#findViewById(). In this course, you will learn how to bind views and actions with the ButterKnife library.

Illustration
Android MVP Pattern

In this series you will be provided with an understanding of what the Model View Presenter (MVP) Pattern is. You will be introduced to the Passive View variant and the data and event flows that decoupling the presenter from the...

Illustration
RxJava Subjects

In this course, you will learn what subjects are and how to use them. You will also be introduced to the four built-in subjects that ship with RxJava.

Illustration
RetroFit2

In this course, you will learn how to use Retrofit 2 to communicate with a REST API using the common HTTP verbs: GET, POST, PUT, DELETE and PATCH. You will also learn how to use Retrofit 2 with RxJava, set up Retrofit 2 Logging...

Illustration
Test Driven Development with Espresso

In this course, you will be introduced to what TDD (Test Driven Development) is, how to Test Drive a bug fix and a new Feature, check the fragment backstack for items, how Red/Green/Refactor can save you in regressions and how ...

Illustration
AutoValue

In this course, we will provide a deep dive into AutoValue. AutoValue is a Java library for creating immutable value types easily, we will look at what the value types are and how to create them before we dive deeper behind the...

Illustration
Dagger 2

In this series you’ll learn how to set up Dagger 2 in your application with multiple modules. We will construct Dagger components, modules, learn how constructor injection works and ways reuse an injection to reduce code. We wi...

Illustration
Robolectric 3

In this course, you will dive into adding Robolectric 3 to your application. We will recap how TDD works on Android before moving on to learn testing of TextView and its attributes then creating helpers for resource fetching an...

Illustration
Understanding Gradle and Building a Gradle Plugin

In this course, you will be introduced to various parts of Gradle and Gradle Plugins. You’ll learn about the internals of the build.gradle file and how and what it does for your app. Then we’ll dive into how to create a custom ...

Illustration
RxJava

This course is a collection of individual RxJava lessons. Our goal is to educate you on each of the operators of RxJava and how to use them. Some of the lessons may stand on their own (not be related to any others) while other ...

Illustration
Dagger 1

In this course, you’ll learn how and what dependency injection is and why it’s important. You’ll learn how to implement Dagger 1 into an application and debug various parts of Dagger 1. Finally, you’ll learn how to override beh...

Illustration
Timber Logging Library

Timber is an easy-to-use and easy-to-customize logging framework for Android. In this course, you will learn how to install, configure and customize the Timber Logging library for use in your Android Application.

Illustration
UI Testing with Espresso

In this course, you will learn how to set up your Android Studio environment to use Espresso 2.0. We talk about ViewMatchers, ViewActions and ViewAssertions and how to use them. We also demonstrate a simple TDD (Test Driven Dev...

Illustration
Android Build Variants

In this course, you will be introduced to Android Build Variants. You will learn how to add a debug suffix to a debug build and you’ll also learn how to inspect an APK badging using the aapt build tool. You’ll learn how to conf...