|
Home > Training >
iPad and iPhone
>
|
WA1920 Enterprise iPhone and iPad Programming Training and Courseware
|
This iPhone training course teaches application development for the iOS platform. It covers iPhone, iPad and iPod Touch devices. This course starts off by building a solid foundation in Objective-C. It then goes into details of application user interface development. After that the class teaches network access, SQL database, multimedia and graphics programming. After completing this iPhone training course, a student will be able to build robust, high performing and compelling applications for iPhone and iPad. |
|
What students will learn?
- User friendly GUI development
- Network communication
- Multi-tasking and multi-threading
- Data storage in file system and database
- Multi-media programming
- Detecting memory leaks and resolving them
- Performance tuning
Audience
Developers and architects responsible for iOS application development.
Prerequisites
Prior knowledge of programming in an object oriented language such as C++, Java or C# is required. Knowledge of Objective-C is not required. Nearly a full day is spent on teaching Objective-C.
Duration
5 days |
|
Course Outline
Chapter 1. Introduction to iOS and Xcode
- Introduction to iOS
- The iPhone Hardware
- The iOS Architecture
- The Core Services Layer
- The Media Services Layer
- The Cocoa Touch Layer
- Introduction to Xcode
- Creating an iOS Project in Xcode
- Project Workspace
- Adding Classes to a Project
- Class Browsing
- Code Completion
- Building Code
- Running Your Application
- Debugging
- Refactoring Code
- References
- Summary
Chapter 2. Basics of Objective-C
- A Brief History
- Basic Application
- Writing Functions
- Native Data Types
- struct - Custom Data Types
- Conditional Execution - if
- Conditional Execution - switch
- Looping
- Pointers
- Why We Need Pointers
- Pointer to struct
- Stack Memory
- Dynamic Memory
- Array
- String
- Summary
Chapter 3. Classes and Objects
- Principles of Object Oriented Programming
- Class and Object
- Defining a Class
- Defining an Interface
- Defining the Implementation
- Using a Class
- Defining a Method
- Method Overloading
- Accessing Variables and Calling Methods
- The self and super Keywords
- Constructors
- Using Constructor
- Destructor
- Class Level Variables
- Class Level Methods
- The id Data Type
- Encapsulation Through Member Variable Protection
- Hidden Private Methods
- Summary
Chapter 4. Inheritance and Polymorphism
- Introduction
- Simple Example
- Using Inherited Behavior
- Extending Behavior
- Customizing Inherited Behavior
- Using Customized Behavior
- Late Binding and Polymorphism
- Dynamic Type Checking
- Summary
Chapter 5. Category, Protocol and Properties
- Introduction to Category
- Category Syntax
- Category Details
- Introduction to Protocol
- Syntax for Protocol
- Example – Define a Protocol and Conform
- Example - Implement Protocol Methods
- Polymorphism Using Protocol
- Testing for Protocol Conformance
- Optional Protocol Methods
- Encapsulation Using Property
- Property Syntax
- Example Property
- Accessing Properties
- Property Attributes
- Selector
- Summary
Chapter 6. Memory Management
- Introduction
- How Reference Count Works
- Object Ownership Rules
- Ownership Example
- Beware of Object Lifetime
- Writing Setter Methods
- Simplify Setter Using Property
- Alternate Allocation Methods
- Auto Release Pool
- Working With Auto Release Pool
- Returning a New Object
- Writing a Getter Method
- Auto Release and Property Getter
- Nested Pools
- Surviving Auto Release Pool
- Cocoa and Autorelease
- Quiz
- Summary
Chapter 7. The Foundation Framework
- Introduction
- NSString
- String to Number Conversion
- NSMutableString
- NSNumber
- NSMutableArray
- NSMutableDictionary
- Getting and Setting Data from Dictionary
- Iteration Through the Dictionary
- Memory Management
- Summary
Chapter 8. iOS Application Fundamentals
- Basics of an iOS Application
- The Application and Its Delegate
- Creating a Delegate Class
- Application Lifecycle
- Application State
- The Suspended State
- Application Termination
- Window and Views
- The Key Players
- Create a Window Based Application
- Key Files in the Application
- Introduction to Interface Builder
- Interface Builder GUI
- The XIB File
- A Typical XIB File
- Adding Views to a Window
- Setting View Attributes
- Connections
- Adding an Outlet Variable
- Connecting an Outlet
- Adding an Event Handler Method
- Making an Event Connection
- The Start Up Sequence
- Testing and Debugging an Application
- Summary
Chapter 9. Model View Controller Based Application
- The Model View Controller (MVC) Pattern
- Advantages of MVC
- Model View Controller in iOS
- Example: Navigation Controller
- Controller Hierarchy
- Usage Pattern Based UI Design
- iOS Controller Types
- Example Custom Controller
- The UIViewController Class
- Developing a Custom Controller Class
- Design the Root View
- Using a Custom Controller
- Summary
Chapter 10. Tab Bar Controller
- Introduction
- The Anatomy of UITabBarController
- The Child Controllers
- Creating a Tab Bar Controller
- Showing Tab Bar Controller
- Manipulating Tabs
- Accessing All Tabs
- Summary
Chapter 11. Basics of Table View
- Introduction
- Styles of Table View
- The Architecture
- Creating a Table View Controller
- A Closer Look at the Plain Style
- Developing The Controller Class
- Creating Cells and Reuse
- Showing Information in a Cell
- Cell Style
- Setting Accessory Icon
- Create the Table Controller in XIB
- Show the Table View
- Handling Row Section Event
- Grouped Style
- Summary
Chapter 12. Navigation Controller
- Introduction
- The Anatomy of Navigation Controller
- Properties of UINavigationController
- The Content Controller Stack
- Creating a Navigation Controller
- Creating Navigation Controller Using API
- Navigating Within a Tab Bar
- Moving Forward
- Moving Backward
- Customizing the Navigation Bar
- Adding a Toolbar at the Bottom
- Summary
Chapter 13. File System Services
- Introduction
- Home Directory Structure
- Application Provisioning and Files
- Paths of Standard Application Directories
- Creating Directories
- Listing Directory Contents
- File Management
- Bulk Read and Write
- Granular Read and Write
- Summary
Chapter 14. SQL Database Storage
- Introduction to SQLite
- The SQLite API
- Opening and Closing Database Connection
- Defining the Schema
- Creating a Table
- Inserting or Updating Data
- Retrieving Rows
- Bundling Database With Application
- Summary
Chapter 15. Network Programming
- Introduction
- The NSURL Class
- Simple Content Download
- Asynchronous HTTP Request
- NSData to String Conversion
- Making POST Request
- Basic Authentication
- Maintaining HTTP User Session
- Parsing XML
- Parsing Using NSXMLParser
- The Delegate
- Example Delegate Class
- Summary
Chapter 16. Multimedia Programming
- Introduction
- Playing Audio
- Steps to Play Audio
- Advanced Playback Control
- Monitoring Audio Playback
- Recording Audio
- Preparing to Record
- Control Recording
- Playing Video
- Prepare to Play a Movie
- Start Playing
- Removing the Player's View
- Enabling Device Rotation
- Summary
Chapter 17. Concurrent Programming and Multi-tasking
- Introduction to Concurrent Programming
- Starting Work in Background Thread
- Auto Release Pool Issue
- Updating the GUI
- Canceling Work
- Running Code Briefly While in Background
- Example: Continue Running Code in Background
- Running an Application Indefinitely in Background
- Checking if a Device Supports Background Execution
- Guidelines for Background Execution
- Notifying User While in Background
- Presenting Local Notification on a Schedule
- Presenting Notification Immediately
- Outcome of Notification
- Summary
Chapter 18. Supporting Multiple Devices
- The Problem
- Development Strategy
- Create a Device Specific Application
- Creating Device Specific Executables in a Project
- Create a Universal Application
- Creating Device Specific Controllers
- Using Device Specific Views from a Controller
- Summary
Chapter 19. Testing and Tuning Applications
- Introduction to Unit Testing
- Introduction to OCUnit
- Test Case Methods
- Test Case Initialization and Clean Up
- OCUnit Support in XCode
- Profiling Your Application
- Detecting Memory Leaks
- Detecting Heavy CPU Usage
- Memory Tuning Tips
- Network Tuning Tips
- Disk I/O Tuning Tips
- Summary
Chapter 20. Application Provisioning
- Introduction to Provisioning
- Setting Your Application Icon
- The Application ID
- The Provisioning Portal Web Site
- Enrolling Other Developers
- Obtaining a Developer Certificate
- Development Provisioning Profile
- Create a Development Provisioning Profile
- Set the Code Signing Certificate
- Unit Testing Using a Device
- Function Testing Using a Device
- Distribution Provisioning Profile
- Uploading Application to App Store
- Summary
|
|
|
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston,
Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
|
|
 |
|
Buy on-site and customized class
Attend a public class
05/28/2012 -
Calgary
$3,450.00
Enroll
05/28/2012 -
Ottawa
$3,450.00
Enroll
06/04/2012 -
Online Virtual
$3,450.00
Enroll
Confirmed!
06/11/2012 -
Calgary
$3,450.00
Enroll
06/18/2012 -
Montreal
$3,450.00
Enroll
06/25/2012 -
Vancouver
$3,450.00
Enroll
07/30/2012 -
Ottawa
$3,450.00
Enroll
08/13/2012 -
Montreal
$3,450.00
Enroll
08/20/2012 -
Calgary
$3,450.00
Enroll
08/27/2012 -
Vancouver
$3,450.00
Enroll
08/27/2012 -
Ottawa
$3,450.00
Enroll
09/10/2012 -
Online Virtual
$2,995.00
Enroll
09/24/2012 -
Toronto
$3,450.00
Enroll
10/22/2012 -
Calgary
$3,450.00
Enroll
10/22/2012 -
Ottawa
$3,450.00
Enroll
11/05/2012 -
Vancouver
$3,450.00
Enroll
11/19/2012 -
Toronto
$3,450.00
Enroll
11/26/2012 -
Montreal
$3,450.00
Enroll
11/26/2012 -
Online Virtual
$2,995.00
Enroll
|
|