MA-WA1920: Enterprise iphone and ipad Programming

Size: px
Start display at page:

Download "MA-WA1920: Enterprise iphone and ipad Programming"

Transcription

1 MA-WA1920: Enterprise iphone and ipad Programming Description This 5 day 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. Audience Developers and architects responsible for ios application development. At Course Completion 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 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. Course Outline Module 1: to ios and XCode to ios The iphone Hardware The ios Architecture The Core Services Layer The Media Services Layer The Cocoa Touch Layer to XCode Creating an ios Project in XCode Project Workspace Adding Classes to a Project Class Browsing Code Completion

2 Building Code Running Your Application Debugging Refactoring Code Module 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 Module 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 Module 4: Inheritance and Polymorphism Simple Example Using Inherited Behavior Extending Behavior Customizing Inherited Behavior Using Customized Behavior Late Binding and Polymorphism Dynamic Type Checking Module 5: Category, Protocol and Properties to Category

3 Category Syntax Category Details 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 Module 6: Memory Management 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 Module 7: The Foundation Framework NSString String to Number Conversion NSMutableString NSNumber NSMutableArray NSMutableDictionary Getting and Setting Data from Dictionary Iteration Through the Dictionary Memory Management Module 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

4 Create a Window Based Application Key Files in the Application 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 Module 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 Module 10: Tab Bar Controller The Anatomy of UITabBarController The Child Controllers Creating a Tab Bar Controller Showing Tab Bar Controller Manipulating Tabs Accessing All Tabs Module 11: Basics of Table View 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

5 Module 12: Navigation Controller 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 Module 13: File System Services 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 Module 14: SQL Database Storage 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 Module 15: Network Programming 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 Module 16: Multimedia Programming Playing Audio Steps to Play Audio Advanced Playback Control

6 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 Module 17: Concurrent Programming and Multi-tasking 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 Module 18: Supporting Multiple Device 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 Module 19: Testing and Tuning Applications to Unit Testing 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 Module 20: Application Provisioning to Provisioning Setting Your Application Icon The Application ID The Provisioning Portal Web Site Enrolling Other Developers

7 Obtaining a Developer Certificate Provisioning Profile Create a Provisioning Profile Set the Code Signing Certificate Unit Testing Using a Device Function Testing Using a Device Distribution Profile Uploading Application to App Store Contact us today. Visit or call