Programming for Android

Contact Us for Dates
5 days practical workshop for up to 12 people.
Only £1975
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.

Layout

The course comprises instructor-led presentations and practical hands-on exercises. The practical sessions are structured to give the delegates the opportunity to put into practice some of the theory covered during the instructor-led sessions.

Training Course Objectives

  • 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.

Who it is for

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

Training Course Prerequisites

  • Basic knowledge of Java programming language.

Chapters

Chapter 1 Introduction to Android

  • What is Android?
  • A Short History
  • Advantages of Android
  • Disadvantages of Android
  • References

Chapter 2 The Architecture of Android

  • Key Components Stack
  • The Kernel
  • Libraries
  • The Dalvik JVM
  • Application Framework
  • Applications

Chapter 3 The Development Environment

  • What Do We Need?
  • Setting Up the SDK
  • Create a Virtual Device
  • Creating a Project
  • Running Your Application
  • Buttons of the Emulator
  • Run Configuration
  • Debugging an Application
  • Using Third Party JAR
  • Creating Reusable Library
  • Dalvik Debug Monitor Server (DDMS)
  • The Console Views
  • Developing for Multiple Android Versions

Chapter 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
  • The onCreate() Method
  • Registering an Activity
  • The Default Activity
  • Process Lifecycle
  • The Application Class
  • The Application Context

Chapter 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

Chapter 6 Layout Management

  • Background
  • LinearLayout
  • LinearLayout Orientation
  • fill_parent Example
  • Layout Gravity
  • Weight
  • TableLayout
  • Managing the Width
  • RelativeLayout
  • RelativeLayout Example
  • ScrollView
  • HorizontalScrollView

Chapter 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

Chapter 8 Intents and Intent Filter

  • What is an Intent?
  • The android.content.Intent Class
  • Explicitly Specifying Component Name
  • Example
  • Implicit Target Component Specification
  • Intent Filters
  • Action Name
  • Category Name
  • Data Type Filter
  • 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

Chapter 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

Chapter 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 an Utility Method
  • Additional Notes
  • Using Dialogs
  • AlertDialog
  • Handling Button Click Events
  • ProgressDialog
  • Setting Progress Amount

Chapter 11 Advanced GUI Development

  • Spinner View
  • Creating a Spinner
  • Handling Item Selection Event
  • The ListView
  • Creating a ListView
  • Handling ListView Events
  • The Adapter Model
  • Adapter Class
  • Example Adapter
  • Using an Adapter
  • The ArrayAdapter Class
  • 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

Chapter 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

Chapter 13 SQL Database Storage

  • Introduction
  • 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

Chapter 14 Network Programming

  • Introduction
  • 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

Chapter 15 Background Task Processing

  • Introduction
  • The Handler Framework
  • The Basic Approach
  • Creating a Handler
  • Posting a Message
  • Doing Background Work
  • AsyncTask
  • Doing the Work
  • Starting Work
  • Getting Result from the Task
  • Updating GUI From the Task
  • Ending the Task
  • What is Service
  • Why Use a Service?
  • Service for Background Work
  • Creating a Service
  • Example Service Class
  • Starting and Stopping a Service
  • Starting Long Running Work
  • Sending Control Messages to a Service
  • Usability Guidelines

Chapter 16 Multimedia Programming

  • Introduction
  • 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

Chapter 17 Testing Applications

  • Introduction
  • New Sources of Defects
  • Special Testing Considerations
  • Android Testing Framework
  • The Architecture
  • Creating a Test Project
  • Test Case Class for an Activity
  • Test 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

Chapter 18 Packaging and Distributing Applications

  • Introduction
  • Pricing Options
  • Getting the Application Ready
  • About Signing the Application
  • Exporting and Signing the Application
  • Going to Android Market
  • Doing Maintenance