Android Programming - Jelly Bean

This course has been superseded

We suggest the following instead:
Android Programming

Course Description

This intensive, hands-on five-day course teaches programmers how to develop activities, services, content providers, and broadcast receivers for the Android platform. Students will first learn how to create activities using views, layouts, dialogs, and menus. Next, they will learn about intents, broadcast receivers, and services. Coverage of data storage is next with chapters on preferences, files, SQLite, data adapters, and content providers. Finally, the course ends with coverage of location-based services and application publishing.
5 Days
Contact us for pricing
 

Prerequisites

Introduction to Java or equivalent experience is required. Basic understanding of Java threads, Java inner classes and XML is recommended.

Course Introduction

Course Objectives
Course Overview
Using the Workbook
Suggested References

Getting Started

Android Overview
Android Architecture
The Dalvik VM
Android Components
Android Installation
SDK Platform-tools and the SDK Manager
Eclipse and the ADT Plugin
A Simple Android Application
The Android Emulator
User Interface Layouts
Android Event Handlers
LogCat

Activities

Creating an Activity
Activity Lifecycle
Callback Methods
Resource Conservation
Intents
AndroidManifest.xml
Packaging

Resources

Alternative Resources
R.java
String Resources
StringArrays
Boolean and Integer Resources
Color and Dimension Resources
Style Resources
Image Resouces
System Resources
Localization
Format Strings

Views and Event Handlers

Views and ViewGroups
Common Properties
Text View
Edit Text
TextChanged Events
Button
Check Box and Toggle Button
Radio Group and Radio Buttons
DatePicker
ProgressBar and RatingBar
Threads and Handlers
AsyncTask

Layouts

Layouts
Inflation
LinearLayout
FrameLayout
RelativeLayout
Table Layout
Combining Layouts
Scrolling
Screen Orientation Changes
Graphical Layout Tool

Fragments

What are Fragments?
Creating a Fragment
Add a Fragment to an Activity via XML
Add a Fragment Programmatically
BackStack
Alternative Layouts
Fragment Lifecycle
ListFragment
The Android Support Library

Dialogs

Toast
Custom Toast
Dialogs
AlertDialog
AlertDialog Buttons
Dismissing a Dialog
AlertDialog Items
Event Notifications
Custom Dialogs
ProgressDialog
DatePickerDialog

Menus

Menus and Menu Items
OptionsMenu
Reacting to Menu Item Selections
ContextMenu
Contextual Action Mode
Defining Contextual Actions
Popup Menu
Submenus
CheckBoxes and Radio Buttons in Menu Items

Intents and Broadcast Receivers

Android Components
Explicit Intents
Passing Extra Data to an Intent
Activities with Results
Implicit Intents
Intent Types and Categories
Intent Filters
Intent Filter Actions and Categories
Intent Filter Data
Broadcast Receivers
Registering Broadcast Receivers Programmatically
Registering Broadcast Receivers via the Manifest
Broadcasting Intents

Services

What is a Service?
Defining a Service: Extend IntentService
Defining a Service: Extend Service
Registering and Starting a Service
Stopping a Service
Creating a Bound Service
Binding to a Service
Remote Bound Services
Call a Remote Service
Service Lifecycle

Notifications

Notifications
Creating a Notification Builder
Configuring a Notification Builder
Pending Intents
NotificationManager
Updating a Notification
More Notification Properties

Data Storage: Preferences and Files

The Android File System
Preferences
Creating Preferences
Reading Preferences
Updating and Deleting Preferences
Using PreferenceScreen
PreferenceActivity and PreferenceFragment
Working with Files
openFileInput() and openFileOutput()
The cache Directory
ExternalStorage
RawResource Files

Data Storage: SQLite Database

SQLite
Android SQLite Classes
Executing SQL Statements
The raw query() and query Methods
Cursors
Managed Cursors and LoaderManager
Encapsulate Data Access with an Adapter
Using SQLiteOpenHelper
Managing Database Upgrades
Inserting and Updating Data
Deleting Data
Transactions

Data Adapter Widgets

Data-Driven Adapter Controls
Adapters
ArrayAdapter
CursorAdapter
SimpleCursorAdapter
ListView
ListActivity
AdapterView Events
Spinner
AutoCompleteTextView
Grid View
ViewPager and PagerAdapter
The ViewHolder Pattern

Implementing a Content Provider

Content Providers
Content URI and MIME Types
Implement the ContentProvider Interface
Sharing Your Data
Registering your Provider and Permissions

Accessing Contacts and Other Android Providers

Built-In Content Providers
Accessing Content Providers
Content URIs
LoaderManager and CursorLoader
Settings
Browser and Call Log
MediaStore
Contacts
Using ContactsContract

Location-Based Services

LocationManger and LocationListener
Registering a LocationListener
Location
Permissions
Determining Distance and Bearing
Geocoding and Reverse Geocoding
Proximity Alerts
Using Google's Map Service
Google Maps Android API
Displaying a Google Map with MapFragment
GoogleMap Gestures and Events
LatLng and the GoogleMap Camera
Markers and BitmapDescriptors
Polylines and Polygons

Publishing an Application

Publishing
Packaging and Signing
Distribution
Updates