ENTERPRISE ANDROID APPLICATION DEVELOPMENT– GTMC2

Course Description

Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse tools. This Android training course teaches students the architecture, API and techniques to create robust, high performance and appealing applications for the Android devices. While many classes focus on the mobile device, this course also deals with the server side architecture. This makes the class ideal for enterprise class businesses. After taking this Android training course, students will be able to build robust and high performance applications for the enterprises.

What students will learn:

  • The architecture of Android OS.
  • Using the Eclipse based development environment.
  • GUI development.
  • Supporting multiple languages.
  • Accessing data from files, network and SQL database.
  • Audio and video playback.
  • Automated testing of your applications.
  • Selling your applications in Android market.

^^

Duration

5 days

^^

Target Audience

Developers and architects who will be developing applications for Android devices.

^^

Course Prerequisites

Basic knowledge of Java is required to join this course. These skills are taught in the course below. Familiarity with Eclipse is a plus but not necessary.

If you have any questions or doubts as to whether you meet the pre-requisites for this course, or indeed are wondering which course best suits you, please consult with us to discuss your suitability for course attendance.

^^

Suggested Follow on Courses

Please contact us for further details.

^^

Course Content

1. INTRODUCTION TO ANDROID

What is Android?

A Short History

Advantages of Android

Disadvantages of Android

Q3 2011 Global Sales Figures

2011 US Only Market Share

Android Carriers

References

2. THE ARCHITECTURE OF ANDROID

Key Components Stack

The Kernel

Libraries

The Dalvik JVM

Application Framework

Applications

3. THE DEVELOPMENT ENVIRONMENT

What Do We Need?

Setting Up the SDK

Install Eclipse Plugin

Create a Virtual Device

Creating a Project

Running Your Application

Android Hardware Buttons

Run Configuration

Debugging an Application

Using Third Party JAR

Creating Reusable Library

Dalvik Debug Monitor Server (DDMS)

DDMS Tools in Eclipse

The Console Views

Developing for Multiple Android Versions

4. APPLICATION FUNDAMENTALS

Recapping The Basics

Packaging an Application

Application Reusability Architecture

The Manifest File

Activity

Creating an Activity Class

Activity Lifecycle

Launching an Activity

Pausing and Stopping an Activity

Destroying an Activity

Saving State

Creating Views

Registering an Activity

The Default Activity

Process Lifecycle

The Application Class

The Application Context

 

5. BASIC GUI PROGRAMMING

The Fundamentals

View Hierarchy

Creating Views Programmatically

Creating View in XML Layout

More on XML Layout

Common Programming Tasks with Views

TextView and EditText

Button

CheckBox

RadioButton and RadioGroup

ToggleButton

ImageView

RatingBar

6. LAYOUT MANAGEMENT

Background

LinearLayout

LinearLayout Orientation

match_parent (fill_parent) Example

Layout Gravity

Weight

TableLayout

Managing the Width

RelativeLayout

RelativeLayout Example

ScrollView

HorizontalScrollView

7. RESOURCE MANAGEMENT AND LOCALIZATION

Introduction

Main Types of Resources

Defining Value Resources

Defining String Arrays

Creating Image Resource

Alternate Resource Folders

Alternate Folder Name Rules

How Android Finds Resources

Dealing with Screen Orientation

Orientation Change and Activity Lifecycle

Developing for Tablets

Basics of Localization

Testing for Localization

Loading Localized String from Code

8. INTENTS AND INTENT FILTERS

What is an Intent?

The android.content.Intent Class

Explicitly Specifying Component’s Class

Example: An Activity Launching Another Activity

Implicit Target Component Specification

Intent Filters

Data Type Filter

Action Name

Category Name

Hint Matching Logic

Example Hint Matching – 1

Example Hint Matching – 2

Default Component of an Application

Starting an Activity

Getting Output from Activity

Example of Launcher: ActivityA

Example of Launched: ActivityB

Pending Intent

9. APPLICATION MENU

Introduction

Defining Menu Items

Menu XML File

Option Menu

Populating Menu Items from Resource

Manipulating Menu Items

Handling Menu Item Click Event

Context Menu

Showing a Context Menu

Handling Context Menu Item Click

10. SHOWING NOTIFICATION MESSAGES

Introduction

Toast

Popping a Toast

Advanced Toast

Status Bar Notification

Advantages of Status Bar Notification

Steps to Create a Status Bar Notification

Posting the Notification

Using a Utility Method

Additional Notes

Using Dialogs

AlertDialog

Handling Button Click Events

ProgressDialog

Setting Progress Amount

 

11. ADVANCED GUI DEVELOPMENT

Spinner View

Creating a Spinner

Handling Item Selection Event

The ListView

Creating a ListView

Handling ListView Events

The Adapter Model

Custom Adapter Class

Example Adapter

Using an Adapter

Using a Custom Row Layout

ViewFlipper

Tabbed UI Layout

Creating Tabbed UI

Defining the Tabbed Layout

Creating the Tabs with View Content

Add a Tab with Activity Content

WebView

WebView Methods

12. DATA STORAGE

Data Storage Options

Data Privacy

Shared Preferences

Modifying Shared Preferences

Shared Preferences Example

Default Preferences

Editing Preferences

Example: Editing Preferences

Internal Storage

Example: Write to Internal Storage

Example: Read from Internal Storage

Private Directory

Cache Directory

Example: Writing to Cache File

External Storage

Checking State of External Storage

Working with Files in External Storage

Example: Writing to External Storage

Shipping Files with the Application

Working with Raw Resource Files

Working with Asset Files

13. SQL DATABASE STORAGE

Opening a Database Connection

Transaction Management

A Pattern for Connection and Transaction Handling

Creating Schema

Compiled SQL Statement

Inserting Data

Updating Data

Deleting Data

Fetching Data

Example Queries

Iterating Over a Cursor

Reading Column Values from Cursor

A Complete Example

Cursor Management

Binding Cursor to ListView

Custom Data Binding

Handling Item Click Event

Refreshing the ListView

Schema Creation Issues

Example Helper Class

Using the Helper Class

14. CONTENT PROVIDER

Use of URL

The Structure of Data

MIME Type

Creating a Content Provider

Implement the query() Method

Example query() Method

Implement the insert() Method

Example insert() Method

The update() and delete() Methods

Implement getType()

Registering a Provider

Writing a Data Consumer

Performing a Query

Example Query by a Consumer

Example: Inserting Record

15. NETWORK PROGRAMMING

Communication Using HTTP Protocol

Creating a HttpClient Object

Making a GET Request

Making a POST Request

Setting Timeout

Using Basic Authentication

Using Custom Authentication

XML Parsing Options

Setting Up XML Pull Parser

The Main Loop

Example XML Document

Example Parsing Code

Checking Network Status

16. BACKGROUND TASK PROCESSING AND SERVICE

The Handler Framework

The Basic Approach

Creating a Handler

Posting a Message

Doing Background Work

AsyncTask

Callback Methods of AsyncTask

Doing the Work

Starting Work

Getting Result from the Task

Updating GUI From the Task

Ending the Task

What is a Service?

Creating a Service

Example Service Class

Starting and Stopping a Service

Starting Long Running Work

Sending Control Messages to a Service

Usability Guidelines

17. MULTIMEDIA PROGRAMMING

Recording Audio

Start Recording Audio

Stop Recording

Playing Audio

Playing from Raw Resource

Playing from a File or Network Stream

Stopping and Cleanup

Video Playback

Playing Video

18. BROADCAST RECEIVER

Developing a Broadcast Receiver Component

Registering a Receiver

Broadcasting a Custom Intent

19. LOCATION BASED SERVICES

Guidelines for Obtaining Current Location

Obtaining Current Location from an Activity or Service

Reading Location Data

Other Considerations

Proximity Alert

Geocoding

Example Geocoding and Reverse Geocoding

Using MapView

Setting up the Project

Showing MapView from an Activity

20. ANDROID TELEPHONY API

Common Uses of Telephony API

Making a Phone Call

Sending SMS Message

Call and Service State

Monitoring Call and Service State

Register the Listener

Getting Detail Phone Information

 

21. TESTING APPLICATIONS

New Sources of Defects

Special Testing Considerations

Android Testing Framework

The Architecture

Creating a Test Project

Test Case Class for an Activity

Test Case Initialization

Writing a Test Case Method

Service Test Case Class

Running Test Cases

Useful Methods of an Activity Test Case Class

Additional Assertion Function

The TouchUtils Class

Developing and Testing on a Device

Stress Test Monkey

Third Party Testing Tools

22. PACKAGING AND DISTRIBUTING APPLICATIONS

Pricing Options

Getting the Application Ready

About Signing the Application

Exporting and Signing the Application

Going to Android Market

Doing Maintenance

^^

See more Mobile Computing courses