Android/GogoTraining/Introduction to Android 5 Programming

Description
This course will show you how to quickly and easily write applications for Android mobile devices, including both phones and tablets. This course is fully updated for Android 5 (Lollipop) and uses the latest development tools, including Android Studio and the Android version of Eclipse. You’ll begin the course by learning how to use either Android Studio or Eclipse (your choice!) to build and debug Android 5 (Lollipop) applications that run on the Android Simulator. You’ll learn how Android 5 applications display views, use widgets, use single and multiple activities, and more. At the end of the course you will have the foundation skills to develop and support Android 5 applications. You will also have the skills to take the follow-on Advanced Android 5 Programming course.

Prerequisites
Completion of the Java Programming courses from GogoTraining below or equivalent experience.
 * Advanced Java 7 Programming
 * Introduction to Java 7 and Object-Oriented Programming

Objectives
As a result of taking this course, you will be able to:
 * Utilize either Android Studio or Eclipse to write and debug Android 5 applications
 * Use Android XML Layout to lay out your user interface
 * Write Android 5 apps that use widgets such as TextViews and Buttons
 * Gain an understanding of the Android Java Class Library
 * Create Single Activity apps for both Android phone and tablet devices
 * Create Multiple Activity apps, passing data to/from the Activities
 * Make use of Android 5 widgets such as text views and buttons
 * Run your apps on the Android Phone/Tablet simulators

Outline
Module 00: Course Introduction - Introduction to Android 5 Programming

Module 01: Introduction to Android 5
 * Android As World’s Most Popular Mobile Device
 * Development Framework
 * Android Dashboard
 * Android Development Tool Choices
 * Android Block Diagram
 * Android Documentation
 * Demo: Tour of developer.android.com

Module 02: Eclipse ADT
 * About Eclipse ADT Bundle
 * System Requirements
 * Downloading and Installing
 * Starting Up Eclipse ADT
 * Creating A New Android Project
 * Selecting the Application Template
 * Entering Project Options
 * Building, Running, and Stopping
 * Lab Exercise: Download and Install Eclipse ADT
 * Demo: Verifying your installation of Eclipse ADT

Module 03: Android Studio Beta
 * About Android Studio
 * System Requirements
 * Downloading and Installing
 * Starting Up Android Studio
 * Creating A New Android Project
 * Selecting the Application Template
 * Entering Project Options
 * Building, Running, and Stopping
 * Lab Exercise: Download and Install Android Studio
 * Demo: Verifying your installation of Android Studio

Module 04: Android SDK Manager
 * About Android SDK Manager
 * Startup from Eclipse
 * Startup from Android Studio
 * Checking Installation Status
 * Downloading New Updates
 * Android APIs compared to Google APIs
 * Lab Exercise: Download and Install Android SDK Manager
 * Demo: Verify Latest Software Versions of the Android SDK

Module 05: Android Virtual Device Manager
 * About Android Virtual Device Manager
 * Startup from Eclipse
 * Startup from Android Studio
 * Creating New AVDs
 * Starting AVDs
 * Common Issues/Troubleshooting
 * Lab Exercise: Creating an Android Virtual Device
 * Demo: Tour of and Creating Android Virtual Device Manager

Module 06: Hello Android App Using Eclipse
 * Creating New Project
 * Configuring the Project
 * Configuring Launch Icons
 * Creating Blank Activity
 * Project Workspace
 * Running/Stopping the App
 * Demo: Building Android Hello App With Eclipse
 * Exercise: Creating Hello Android Using Eclipse

Module 07: Hello Android App Using Android Studio Beta
 * Creating New Project
 * Configuring the Project
 * Configuring Launch Icons
 * Creating Blank Activity
 * Project Workspace
 * Running/Stopping the App
 * Demo: Building Android Hello App With Android Studio
 * Exercise: Creating Hello Android Using Android Studio

Module 08: Activity and View Class
 * Activity Class
 * View Class
 * Application Lifecycle
 * MVC – Model, View, Controller
 * Resources
 * Android Manifest
 * Demo: Exploring Activities
 * Exercise: Creating a Flashlight App

Module 09: Android Widgets
 * About Android Widgets
 * Selected Widgets
 * Widget Design Pattern With Java Code
 * Widget Design Pattern With XML Layout
 * Selected Widgets
 * Toast

Module 10: TextView Widget Using Java
 * TextView using Java
 * TextView Properties and Methods
 * TextView using XML Layout
 * TextView XML Attributes
 * Demo: Exploring TextView with Java
 * Exercise: Creating a Touch Counter App with TextView using Java

Module 11: TextView Widget Using XML
 * TextView XML Layout
 * Using findViewById
 * activity_main.xml
 * MainActivity.java
 * Debugging Code Crash
 * Demo: Exploring TextView with XML Layout
 * Exercise: Creating a Touch Counter App with TextView using XML

Module 12: Button Widget Using Java
 * About Button Widget Class
 * Common Design Patterns
 * Creating Button in Java
 * Listening for Button Clicks
 * Demo: Exploring Button Class
 * Exercise: Creating a Touch Counter App with Button using Java

Module 13: Button Widget Using XML Layout
 * About Button Widget XML Layout
 * Creating XML Layout
 * Handling Button Click in XML
 * Handling Button Click in Java
 * Demo: Exploring Button Class
 * Exercise: Creating a Touch Counter App with Button using XML

Module 14: Keyboard Input with EditText
 * About Keyboard Input
 * Keyboard Choices
 * Keyboard Input using EditText (Single-Line Input)
 * Demo: Exploring Keyboard Input
 * Exercise: Keyboard Input of Name and Phone Number

Module 15: List Activity Using Java
 * About List Activity
 * List Activity Design Pattern
 * List Activity Data Source
 * Array Adapter
 * Demo: Exploring List Activity
 * Exercise: Exploring List Activity

Module 16: List Activity Using XML
 * ListActivity XML Layout Pattern
 * Important ID: @android:id/list
 * Important ID: @android:id/empty
 * Demo: Exploring List Activity with XML
 * Exercise: Exploring List Activity with XML

Module 17: Using Intents
 * About Intents
 * Intent Common Design Patterns
 * Intents and Starting Activities
 * Selected System Defined Intents
 * Intents and Permissions
 * Demo: Exploring Intents
 * Exercise: Exploring Intents

Module 18: Creating Activities
 * Apps With Multiple Activities
 * Creating Activities Design Pattern
 * Using Intents to Start to Activities
 * Ending Activities
 * Demo: Creating Activities
 * Exercise: Creating Activities