Mobile Application Development

mewlingtincupSoftware and s/w Development

Nov 9, 2013 (4 years and 7 months ago)


Mobile Application
Course Catalogue
Tel.: +973 17140144 Fax: +973 17140114
Email: | Website: P.O.Box 15107 | Manama - Kingdom of Bahrain
iPhone® and iPad®
A Comprehensive Hands-On Introduction
B.D 960.000
30 Sep - 3 Oct, 2013
8 AM - 4 PM
Mobile Application Development
iPhone® and iPad® Programming:
A Comprehensive Hands-On Introduction - 4 Days
You Will Learn How To:
• Apply core development techniques to create iPhone and iPad applications
• Design and test user interfaces with Interface Builder and the Simulator
• Add functionality to applications using Objective-C and Xcode
• Combine navigation controllers and tab bars to provide a multifunctional user interface
• Incorporate images, animations and autorotation into your applications
Who Should Attend
People workig in IT Departments & Programmers who are new to iPhone and iPad development, and those who need to create business
applications, who have previous programming experience and knowledge of either C or an object-oriented programming Language.
Hands-On Exercises
• Building applications with Xcode
• Writing Objective-C code to control the user interface
• Incorporating Cocoa Touch Frameworks
• Combining multiple views with tab bars
• Retrieving and updating data via web services
• Enhancing the user experience with autorotation and
Course Outline
Introduction to iPhone and iPad Development
Overview of iPhone and iPad devices
• Rich, revolutionary development platform and APIs
• Programming considerations for handheld devices
Getting started with application development
• Exploring the iOS Software Development Kit (iOS SDK)
• Xcode
• Cocoa Touch
• Objective-C
• Simulator
• Interface Builder
• Frameworks
Creating the User Interface Leveraging Storyboards
• Linking views visually
• Presenting views modally
• Experimenting with different segues
• Displaying contents in a Popover
• Embedding views in containers
Building applications with Xcode
• Enhancing productivity with templates
• Importing external resources
• Developing iPhone/iPad universal applications
Designing views with Interface Builder
• Dragging and dropping objects
• Linking objects to controllers
• Controlling size, position and alignment
• Defining scenes with the storyboard
Testing with the Simulator
• Recognizing limitations in comparison to a real device
• Test-driving the application
Coding the User Interface with Objective-C
Programming with Objective-C
• Applying the Model-View-Controller (MVC) design pattern
• Working with Cocoa Touch Frameworks
Saving data to permanent storage
• Reading and writing files
• Persisting data with property lists
Presenting Data with Table Views Selecting the style to suit
your application
• Plain
• Grouped
• Indexed
Creating table views
• Populating table view data
• Customizing table views with images and formatting
Responding to user row selection
• Implementing delegate methods
• Providing visual feedback
Applying Navigation Tools and Techniques Displaying
multiple views using the tab bar
• Creating multiple tabs
• Associating tabs with views Linking views with a navigation
• Building hierarchical applications
• Drilling down through different levels of detail Interacting with
Web Services
Evaluating implementation decisions
• SOAP vs. REST native support
• Parsing JSON vs. other formats
Establishing network communications
• Leveraging the iOS networking classes
• Issuing HTTP requests and reading
• Posting updates to a database
Enhancing the User Interface
Recognizing gestures and adding animations
• Responding to swipes and taps
• View transitions: curling and flipping views
• Animating view properties
• Adding gesture recognizers to views
• Importing sound files into the project
Rotating views with autorotation
• Supporting different layouts
• Setting object struts and springs
Extended Features
B u i l d i n g
iPhone and iPad
Extended Features
B.D 960.000
Sep 15 - 19, 2013
8 AM - 4 PM
Mobile Application Development
You Will Learn How To:
• Create compelling, intuitive advanced mobile applications that stand out in
a competitive market
• Effectively manage application data using Core Data and the SQLite database
• Incorporate Core Location and MapKit to create location-aware applications
• Write code to interact with the address book and calendar
• Enhance applications with multimedia and animation
Who Should Attend
People workig in IT Departments &

Those who want to take full advantage of the Cocoa Touch frameworks who have
previous iOS programming experience at the level of Course 2761, «iPhone and iPad Programming Introduction.»
Hands-On Exercises
• Programming with Objective-C categories, protocols and blocks
• Persisting information with SQLite and Core Data
• Finding a device location using Core Location
• Displaying dynamic maps and annotating using Map Kit
• Scheduling local notifications
• Building a split-view iPad application
Course Outline
Moving Forward with iOS Development
• Overview of Cocoa Touch frameworks
• Exploring device capabilities
• Adding frameworks to a project
Taking Objective-C to the Next Level
Incorporating advanced features
• Extending a class with categories
• Leveraging blocks to simplify code
Applying design patterns
• Sharing data using the singleton pattern
• Modularizing code with delegates
• Implementing effective Data Access
Objects (DAOs)
Implementing Data Storage Techniques
with SQLite and Core Data
Saving application settings
• Maintaining user preferences locally
• Interacting with the Settings application
Archiving objects
• Preparing data structures for archiving
• Conforming to the NSCoding protocol
Persisting data into SQLite
• Inserting, updating and deleting records
• Querying data for display
• Handling errors using NSError
Managing object graphs with Core Data
• Working with managed objects
• Designing the data model with Xcode
• Creating entities and relationships
• Integrating Core Data into an application
Determining and Displaying Location
Incorporating the Core Location framework
• Establishing device latitude and longitude
• Working with the location manager
• delegate
• Implementing forward and reverse
• geocoding
Best practices for location services
• Managing battery life
• Dealing with restrictions and permissions
• Displaying maps with MapKit
• Embedding maps in your application
• Adding annotations to identify locations
• Customizing annotation views
Enabling Mobile Communication Services
Sending messages with e-mail and SMS
• Checking device capabilities
• Retrieving contacts from the address book
• Creating content using address book
Creating and retrieving calendar events
• Querying events with the EventKit framework
• Displaying standard calendar interfaces
Scheduling and receiving notifications
• Investigating the architecture
• Responding to events with local notifications
• Extracting information from a notification payload

Enriching an Application with Multimedia
Interacting with the camera and photo library
• Capturing images and video
• Picking items from the camera roll
• Extracting information from multimedia assets
Incorporating multimedia into an application
• Playing audio and video files
• Handling media player notifications
Creating Compelling Content
Optimizing iPad screen usage
• Creating split-view applications
• Extending the Xcode template
Enhancing a project with animation
• Transforming and fading views
• Nesting animation blocks
Building iPhone® and iPad® Applications:
Extended Features - 4 Days
Developing Applications for
Android™ Devices
B.D 960.000
8 AM - 2 PM
2 PM - 8 PM
25- 29 Aug, 2013
Cost Time
Mobile Application Development
You Will Learn How To
• Deliver professional, robust mobile business applications
and integrate with enterprise systems
• Create intuitive, reliable software using activities, services
and intents
• Design engaging User Interfaces that work seamlessly
with a range of phones and tablets
• Store and retrieve data with content providers and the
SQLite database
• Integrate Android applications with enterprise web and
location-based services
Who Should Attend
People workig in IT Departments & Java programmers who are new to Android development and need to create
professional mobile applications, who have knowledge of Java at the level of Course 471, «Java Programming
Comprehensive Introduction,» or equivalent experience.
Hands-On Exercises
• Creating an Android application from scratch
• Building the UI using the ADT Visual Designer
• Adding event handling to the Graphical User Interface
• Integrating applications with the SQLite database
• Developing a content provider and binding to a list
• Ensuring compatibility with tablet and phones
Course Outline
Introducing the Android Platform
• Establishing the development environment
• Analyzing components of the architecture
Leveraging Application Fundamentals Building
mobile applications
• Creating activities to process user input
• Implementing views to build the User Interface (UI)
• Packaging applications for deployment
• Developing unit tests
Supporting asynchronous behavior
• Performing background tasks with services
• Communicating with Intents
Creating User Interfaces Selecting visual components
• Building the layout
• Connecting a view to an activity
• Positioning form elements
Working with resource declarations
• Declaring component definitions and layouts
• Handling multiple screen resolutions
• Localizing applications
Processing User Input
Communicating with the user
• Creating and displaying Toast
• Generating status bar notifications
• Collecting confirmation with dialogs
Interacting with the UI
• Responding to user input events
• Launching activities with intents
• Writing Java event handlers
• Generating context and option menus
Managing the activity lifecycle
• Integrating with the Android system
• Persisting data in response to notifications
Persisting Application Data
Selecting storage options
• Contrasting internal and external storage locations
• Saving application configuration with
Shared Preferences Manipulating the SQLite
• Executing queries to locate information
• Specifying column selections with projections
Consuming and creating content providers
• Accessing shared data resources
• Addressing content providers with URIs
Maintaining System Responsiveness
Avoiding Application Not Responding (ANR) errors
• Unloading the UI thread
• Designing for asynchronous execution
Building background services
• Launching IntentServices
• Declaring services in the manifest
Exchanging Data over the Internet
Interacting with server-side applications
• Synchronizing Android devices with servers
• Socket communications
Developing clients for web services
• Connecting to RESTful services
• Creating and parsing JSON
Enhancing the User Experience
Working with tablets
• Developing for the Honeycomb and Ice Cream
• Manipulating objects with drag and drop
• Optimizing applications for high screen resolution
• Combining fragments into a multipane UI
Leveraging geolocation and mapping capabilities
• Plotting positions on Google maps
• Establishing location through GPS, Cell-ID and
Developing Applications for Android® Devices - 4 Days
Android Application
Extended Features
B.D 960.000
Sep 22 - 26, 2013
8 AM - 2 PM
2 PM - 8 PM
Mobile Application Development
You Will Learn How To
• Develop feature-rich applications by incorporating extended features oe Android APIs
• Create home-screen App Widgets to display dynamic data and graphics
• Apply Android UI design patterns to produce a consistent user experience
• Implement techniques to enhance scurity and ensure backward compatibility
• Enable NFC to create the foundation for an electronic payment system
Who Should Attend
People workig in IT Departments & Experienced Android developers who want to build advanced Android applications and
have knowledge at the level of Course 2771, «Developing Applications for Android Devices.»
Hands-On Exercises
• Building an interactive App Widget
• Integrating user interface gestures
• Simplifying data exchange with NFC
• Securing the application with the device administration API
• Employing support libraries to ensure backward compatibility
• Displaying an animation splash screen
Building Android® Application - Extended Features - 4 Days
Mobile Application Development
Course Outline
Android Development Overview
• Defining application architecture
• Configuring Android components
• Building and deploying applications
Constructing App Widgets
Analyzing the key components
• Establishing component relationships
• Extending AppWidgetProvider
Implementing the Widget
• Reacting to user input events
• Updating RemoteViews
Developing Rich User Interfaces
Controlling the application look and feel
• Preparing styles and themes
• Inheriting and extending platform themes
Streamlining interface interaction
• Recording new gestures
• Employing the GestureDetector
Enriching the user experience
• Positioning components with ViewGroups
• Integrating web pages using WebView
Leveraging Android UI Design Patterns
Building visually compelling applications
• Ensuring consistency in the user experience
• Action bar
• Contextual action bar
• Search bar
Providing a seamless navigation experience
• Designing the screen flow
• Supporting common gestures
Enabling Backward Compatibility
Harnessing the compatibility library
• Supporting extended features on earlier
Android platforms
• Integrating the compatibility library for API support
Detecting unsupported features
• Discovering method availability with Reflection
• Encapsulating compatibility code
Integrating Device Hardware Communicating using
voice and text
• Initiating calls with the TelephonyManager
• Handling SMS broadcast events
Binding to environment sensors
• Interacting with SensorEventListener
• Simulating sensor input
Enhancing Application Security Restricting device
• Defining security policy
• Disabling hardware functionality
Securing application data
• Protecting communication with HTTPS
• Configuring application permissions
Near Field Communication (NFC) Employing NFC tags
• Enabling the NFC sensor
• Emulating smart cards to integrate with payment systems
Transferring files to other NFC devices
• Setting up a P2P connection
• Pushing NFC Data Exchange Format
(NDEF) messages
Improving Performance with Native Development Kit
Establishing a native code environment
• Installing the NDK
• Declaring the JNI interface
Specifying the native code boundary
• Implementing supporting methods
• Compiling NDK code
Web Development
B.D 960.000
Sep 8 - 11, 2013
8 AM - 4 PM
Mobile Application Development
You Will Learn How To
• Leverage HTML5 to create modern, feature-rich sites with
the latest standards
• Improve accessibility and SEO with semantic elements,
ARIA and microdata
• Design professional, eye-catching presentations with
• Leverage geolocation, local storage, messaging and
background processing
• Program engaging interfaces with drag-and-drop, Canvas-
based graphics, audio and video
Who Should Attend
People workig in IT Departments & Web designers and developers interested in upgrading their sites to HTML5 who have
knowledge of HTML and CSS at the level of Course 470, «Developing a Website,» as well as prior JavaScript programming
Hands-On Exercises
• Improving semantics, accessibility and SEO with markup
• Preventing user error with validation and pickers
• Modernizing with borders, shadows, fonts and media
• Customizing the user experience with location-specific
• Enabling offline applications with browser storage
• Depicting data graphically with the Canvas API
Course Outline
Advancing Web Standards
• Demystifying HTML5
• Regressive enhancement to support legacy browsers
Improving Usability, Accessibility and Search Engine Optimization
Enhancing markup with new semantics
• Upgrading pages to HTML5
• Sectioning content with structural elements
• Maintaining correct document outline
Annotating HTML with related vocabularies
• Maximizing accessibility with ARIA roles
• Optimizing page rank with microdata
Helping users with form completion
• Guiding input with autofocus and placeholder
• Validating data entry without scripting
• Preventing errors with constraints and pickers
Enriching Site Design with CSS3
Manipulating borders and backgrounds
• Vendor prefixes
• Rounded corners
• Gradients
• Resizable border images
Creating elaborate effects
• Floating text and boxes with shadows and opacity
• Animating transformations and transitions
HTML5 Web Development: Hands-On - 4 Days
Mobile Application Development
Customizing appearance across browsers
• Installing downloadable fonts with @font-face
• Hiding values in custom data-* attributes
• Addressing mobile layout with media queries
Providing Content with AppCache and Geolocation
Enabling users to work offline
• Defining an application cache manifest
• Addressing caching caveats
The geolocation API in JavaScript
• Estimating user latitude and longitude
• Selecting content by proximity
Programming HTML5 Applications
Developing modern JavaScript best practices
• Leveraging anonymous inline literal callback functions
• Simplifying JavaScript development with jQuery
Persisting data with browser storage APIs
• Saving name/value pairs in Web Storage
• Anticipating databases and object stores with JSON
Editing rich text
• Testing and supporting features with Modernizr
• Enhancing data entry with WYSIWYG editors
Manipulating files with drag-and-drop
• Handling events on draggables and drop targets
• Enabling drag-and-drop file upload with native APIs
Exchanging data with Messaging APIs
• Posting messages across windows
• Accessing external providers with Cross-Origin Resource Sharing (CORS) and XMLHttpRequest 2
• Pushing data with EventSource and WebSocket
• Improving responsiveness with Web Workers
Drawing Dynamic Images
Filling the canvas element
• Charting with lines and rectangles
• Adding text and embedding images
Reducing download time with XML-based graphics
• Representing equations with MathML
• Comparing canvas to Scalable Vector Graphics (SVG)
• Replacing PNG images with smaller SVG files
Engaging Users with Multimedia Features
Enhancing a site with sound
• Embedding audio in a web page
• Supporting MIME types
Adding video to the web
• Converting between H.264, Ogg and WebM formats
• Captioning video with Web Video Text Tracks (WebVTT)
Become a Certified
Mobile Application Developer
Hands-on Objective-C Programming
for the Mac®/iPhone®/iPad
iPhone® and iPad® Programming:
A Comprehensive Hands-On Introduction
Building iPhone® and iPad® Application:
Extended Features
Java Programming: A Comprehensive
Hands-On Introduction
Developing Applications for
Android™ Devices: Hands-On
Building Android™ Applications:
Extended Features
Mobile Application and Device Security:
Certified iPhone®
Mobile Application Development Professional
HTML 5 Web Development
Designing Website for
Mobile Devices: Hands-On
Security Web Applications, Services
and Servers: Hands-On
Certified Android™
Mobile Application Development Professional
Certified Mobile Website
Development Professional
T. +973 17 140 144
F. +973 17 140 114