Getting Started
  • Intro to Course
  • Installing Android Studio (Mac)
  • Installing Android Studio (Windows)
  • Building your first Android Marshmallow app
  • Get Your FREE 10 App Asset Pack
  • Mark's Android Studio Theme
  • Download Android Source Code & Assets
Git & Android
  • Terminal Basics (Mac)
  • Basics of Version Control & Git
  • Understanding Git
  • Setting up Github
  • Github vs Bitbucket
  • Git Remote & Local
  • Github Desktop
  • Handling Merge Conflicts in Git
Learn to code in Java
  • Creating a Java Module - Android Prerequisite
  • About the Java Lessons - Android Prerequisite
  • Variables & How Computers Work - Android Prerequisite
  • Java Strings - Android Prerequisite
  • Java Numbers - Android Prerequisite
  • Java Methods - Android Prerequisite
  • Java Conditionals - Android Prerequisite
  • Java Arrays - Android Prerequisite
  • Java ArrayLists - Android Prerequisite
Cool Calculator - The Basics of Android
  • Android App Cool Calc - Project Setup & Changing App Theme
  • Android App Cool Calc - Adding Images & Supporting Multiple Screen Sizes
  • Android App Cool Calc - Understanding Widgets, Layouts, Gravity & Weights
  • Android App Cool Calc - Understanding dp & Managing Multiple Layouts
  • Android App Cool Calc - Using Android Monitor to Debug Layout Issues
  • Android App Cool Calc - OnClickListeners & Widget Imports
  • Android App Cool Calc - Implementing Calculator Logic
Fit or Flab - Working With Activities
  • Android Activity Lifecycle
  • Setting Up Layout Part 1 - Custom Drawables, Rounded Corners
  • Setting Up Layout Part 2 - Drawables & Tint
  • OnClickListeners Without Buttons
  • The 2nd Android Activity
  • Intents & Extras
  • Android Studio 2.2 Constraint Layouts Part 1
  • Android Studio 2.2 Constraint Layouts Part 2
  • Android Exercise - Another Activity
Fragments & Mastering Android Layouts
  • Understanding Android Fragments
  • Android App HeroMe - Working With Graphics & Drawables
  • Android App HeroMe - Custom Drawables & Custom Buttons
  • Android App HeroMe - Fragments & Fragment Manager
  • Android App HeroMe - Changing Views Programmatically
  • Android App HeroMe - Adding & Replacing Fragments
  • Android Exercise - Finishing HeroMe
Object Oriented Programming & Fragments on Android
  • Java Classes - Android Prerequisite
  • Java Inheritance - Android Prerequisite
  • Java Polymorphism - Android Prerequisite
  • Java Data Encapsulation - Android Prerequisite
Grids & Lists With Recycler View
  • Android App Dev Radio - How to plan out an app
  • Android App Dev Radio - Project setup and the fragments
  • Android App Dev Radio - Adapters, view holders, and more fragments
  • Android App Dev Radio - Managing data, adapters, and more fragments
  • Android App Dev Radio - Designing cards and working with view holders
  • Android App Dev Radio - Clicking cards and loading a new full screen fragment
  • Android Exercise & Source Code - Dev Radio Details Screen
Maps & GPS
  • Android App Store Locator - Creating project & architecting app
  • Android App Store Locator - Adding Google Maps to a fragment
  • Android App Store Locator - Implementing a CardView search bar
  • Android App Store Locator - Google Play location services
  • Android App Store Locator - Showing user location with map markers
  • Android App Store Locator - Converting GPS to a zip code
  • Android App Store Locator - Converting coordinates to zip code
  • Android App Store Locator - Showing recycler view over the map
Multimedia on Android
  • Android App Instaslam - Project setup & Tabbed Activity template
  • Android App Instaslam - Fragments for tabs and action button
  • Android App Instaslam - Android menu popups
  • Android App Instaslam - Full screen activities & percentage layouts
  • Android App Instaslam - Access photos and videos with Cursors
  • Android App Instaslam - Adapters & view holders in the same file
  • Android App Instaslam - Decoding paths into bitmaps
  • Android App Instaslam - Background threads & async task
Web Requests & REST on Android
  • Understanding Web Requests & HTTP
  • All about JSON
  • Android App Funshine - Project creation & API setup
  • Android App Funshine - Implementing Volley for web requests
  • Android App Funshine - Use GPS to get weather data
  • Android App Funshine - Parsing JSON
  • Android App Funshine - Designing the UI
  • Android App Funshine - Showing data from server in UI
  • Android App Funshine - Showing server data in a list
Building a Chat App With Firebase
  • Android App Chat: Firebase & Project Setup
  • Android App Chat: Adding Firebase to Project
  • Android App Chat: Firebase Auth & Registration
  • Android App Chat: Firebase Auth & Login
  • Android App Chat: Creating a Username