Android and iPhone

Android Application Development

Course Outline
  1. Lesson 1: Hello Android Framework
    • Introduction
    • Creating an Android Project
    • Within Eclipse
    • From Command line
    • Running Your Application
    • Running you project on the emulator
    • Components of an Android application
    • Application Life-cycle
    • Modifying created project
    • Change activitys name
  2. Lesson 2: Android SDK Tools and Activity Class
    • Android Software Layers
    • Linux kernel
    • C/C++ Libraries
    • Android Runtime
    • Application Framework
    • Application layer
    • Android Libraries
    • The Android Manifest File
    • Structure of the Manifest File
    • Android SDK Tools
    • Activity life-cycle through Java
    • Create an Activity
    • Methods to remember
  3. Lesson 3: ListActivity and ListView
    • Introduction
    • Views
    • Using Views
    • Adding a View to your application
    • List Views and List Activity
    • Using a ListActivity
    • Adding ListView
    • Add Event to List Items 2
    • Summary
    • Methods to remember
  4. Lesson 4: Intents and Intent filters
    • Introduction
    • Intents
    • Explicit Intents
    • Implicit Intents
    • Native Android Actions
    • Data Transfer
    • Intent to Call Activities
    • Direct calls
    • Sub-activities: Calling Activities for Results
    • Register an IntentFilter
    • Methods to remember
  5. Lesson 5: Custom Views
    • Introduction
    • Different Uses of Customized Views
    • Modify Existing Views
    • Step by Step
    • What is in onDraw()
    • The full picture
  6. Lesson 6: Dialogs and Toasts
    • Dialogs
    • Dialog sub-classes
    • Creating dialogs with user-defined layout
    • Activities with Dialog Theme
    • Toasts
    • Methods to remember
  7. Lesson 7: More UI – Options Menu, Context Menu, and WebView
    • Introduction
    • Menus
    • Building a menu from Java code
    • Building a menu from a resource file
    • Handle Select Events
    • Sub-menus
    • Context Menus
    • Handling Context Menu Selection
    • Additional Menu Item options
    • Checkboxes and Radio Buttons
    • Shortcut Keys
    • Condensed Titles 3
    • Menu Item Click Listener
    • Intents
    • WebView
    • Methods to remember
    • Practical Exercise
  8. Lesson 8: Android Storage: Network, File I/O, and SharedPreferences
    • Android Storage Options
    • Shared Preferences
    • Internal Storage
    • SQLite Databases
    • Network Connection
    • Connecting to the internet
    • File I/O
    • Including files as resources
    • Shared Preferences
    • Retrieving Shared Preferences
    • Save activity state
  9. Lesson 9: Android Storage: SQLite and Content Providers
    • Introduction
    • SQLite in your application
    • SQLite library
    • SQLiteOpenHelper
    • SQLiteDatabase
    • Cursors
    • Databases in Android
    • Native Android Content Providers
    • Methods to remember
  10. Lesson 10: Android Notifications
    • Introduction
    • Creating a notification
    • Notification actions
    • Example: NotificationManager
    • Summary

Duration: 64 Hours
Course Fee: INR. 1,50,000 + Tax

Android Programming with Java Basics

Course Outline
  1. Creating Basic Java Applications
    • Creating Applications in Packages
    • Java Variables
    • Java Conditionals and Loops
    • Java Arrays
    • Java Array Lists
  2. Java Object Oriented Concepts Review*
    • Creating a Java Class
    • Improving the Java Class
    • Using Inheritance
    • Understanding Interfaces
    • The Static Context
  3. Creating Your First Android Applications
    • The Hello World Application
    • Working with the Emulator
    • Strings
    • Drawables
    • Introducing the Manifest
    • Understanding the Activity Lifecycle
  4. Creating Listeners
    • Listeners Using an inner class
    • Listeners Using an interface
    • Listeners By Variable Name
    • Long Clicks
    • Keyboard Listeners
  5. Understanding Android View Containers
    • Linear Layout
    • Relative Layout
    • Table Layout
    • List View
  6. Android Widgets Part I
    • Custom Buttons
    • Toggle Buttons
    • Checkboxes and Radio Buttons
    • Spinners
  7. Android Widgets Part II
    • Autocomplete Text Box
    • Map View
    • Web Views
    • Time and Date Pickers
  8. Communicating Between Activities
    • Switching Activities
    • Putting Extra
    • Using Shared Preferences
  9. Storing Information on the Device
    • Internal Storage
    • External Storage
    • Web Communication and Storage
  10. Audio and Video
    • Playing Audio with the MediaPlayer
    • More Audio Options
    • Playing Video with the MediaPlayer
    • Recording and Storing Audio Content
  11. Custom List Views
    • List Activities with Custom Layouts
    • List Activities with Custom Adapters
    • Displaying multiple items in a List View
  12. Integrating Web Services
    • Text Based Web Services
    • Sending data to a Web Services
    • Integrating a JSON based web service
  13. Creating Home Screen Widgets
    • Creating the Widget Background
    • Placing and Updating the Widget
    • Events on the Widget
  14. Drawing and Animation
    • The Android Drawing API
    • Animation with XML
    • Programatic Animation
  15. Geolocation
    • Determining Location
    • Integrating Google Maps
  16. Camera Hardware
    • Taking Pictures and Saving in the Album
    • Recording Video Content

Duration: 63 Hours
Course Fee: INR. 1,00,000 + Tax


Fundamentals of iOS Application Development

Course Outline
  1. Day 1 : A Review of the Process to Become an Apple Developer
  2. Difference Between Developing for a Mobile Device vs. a Desktop Device
  3. Understanding Resolutions and Screen Sizes
  4. Starting a Simple Single View Application Project in Xcode 6
    • Using the Xcode Project Window
    • Understanding Xcode and the Files Associated with a Project
    • The Storyboard
    • View Controller
    • First Responder
    • Labels
    • Constraints
    • Application Icons and Launch Screen
  5. Basic Interactions
    • The Model-View-Controller Programming Paradigm
    • The View Controller
    • Outlets and Actions
    • Buttons and Actions
    • Labels and Outlets
    • Writing Methods Using Swift
    • Formatting Text
  6. Day 2 : More Complex User Interfaces
    • Active, Static and Passive Controls
    • Image View
    • Text Field
    • Setting Attributes
    • Keyboards
    • Constraints
    • Sliders
    • Switches
  7. Rotation and Adaptive Layouts
    • Points, Pixels and the Retina Display
    • Orientations
    • Default Constraints
    • Adaptive Layouts
    • Size Classes and Storyboards
    • iPad Layout
  8. Day 3 : Using Multiviews
    • View Switcher
    • Content View Controller
    • Views with Toolbars
    • Root View Controller
    • Implementing Views
    • Animating Transitions
  9. Tab Bars and Pickers
    • Delegates and Data Sources
    • Tab Bar Controller
    • Date Picker
    • Single Component Picker
    • Using the Controller as a Delegate and Data Source
    • Multicomponent Pickers
    • Dependent Components
  10. Day 4 : Table Views
    • Adding Images
    • Table View Cell Styles
    • Customizing Table View Cells
    • Creating a UITableView Subclass
    • Adding New Cells
    • Grouped and Indexed Sections
    • Implementing a Search Bar
  11. Navigation Controllers and Table Views
    • Stacking Controllers
    • Implementing Swipe-to-Delete
  12. Day 5 : Collection View
    • Defining Custom Cells
    • Layout Flow
    • Header Views
  13. Split Views and Popovers
    • Creating Master-Detail Applicatons
    • Split Views on the iPhone
    • Customizing Split Views

Duration: 40 Hours
Course Fee: INR. 80,000 + Tax


Java Fundamentals for Android Development

Course Outline
  1. Lesson 1: Java Basics
    • Introduction
    • Java programming language
    • Java Virtual Machine
    • JDK and JRE
    • Setting up your machine for Java programming
    • Hello World in Java
    • Using a text Editor
    • Using an IDE
    • Java Primitive Data Type
    • Naming
    • Arrays
    • Control Flow
    • If/Else and Switch
    • Switch statement
    • While loop
    • For Loop
  2. Lesson 2: Object Oriented Programming
    • Introduction
    • Object Oriented Programming
    • Objects
    • Classes
    • Inheritance
    • Interface
    • Access Modifiers
    • Constructors
    • Method overriding and overloading
    • Polymorphism
  3. Lesson 3: Java Topics
    • Introduction
    • Java Collections
    • Interfaces
    • Implementations
    • Enumerated types
    • Serialization
    • Deserializing

Duration: 24 Hours
Course Fee: INR. 50,000 + Tax


Professional Android Apps Development

Course Outline
  1. Introduction tAndroid
    • Overview of Android and Android SDK
    • History of Android
    • Android Features
    • Development
  2. Android Architecture Overview
    • Android OS Architecture
    • Linux Kernel
    • Libraries
    • Android Runtime
    • Application Framework
    • Setting Up Android Development Environment
    • System requirements
    • Eclipse and SDK installation, AVD creation
  3. Android Application Fundamentals
    • Android Application building blocks
    • Creating first Android Application
    • Android Application Structure
    • Life-Cycle of Application
    • Manifest File
    • Development tools
  4. Resources
    • Android Resources
    • String resources
    • Layout resources
    • Color resources
    • Dimension resources
    • Image Resources
    • Color Drawable resources
    • Allocating Id ta Resource
    • Defining Your Own Resource IDs for Later Use
    • Resource directory structure
    • Working with XML and raw Resource files
  5. User Interface Designing
    • UI Development in Android
    • Layouts
    • Linear Layout
    • Relative Layout
    • List View
    • Grid View
    • Button controls
    • The Button Control
    • The ImageButton Control
    • The ToggleButton Control
    • Input controls
    • The CheckBox Control
    • The RadioButton Control
    • Date and Time Controls
    • The DatePicker and TimePicker Controls
    • Text Controls
    • TextView
    • EditText
    • AutoCompleteTextView
    • MultiAutoCompleteTextView
  6. Input Events and Adapter
    • Input Events
    • Notifying User
    • Styles and Themes
    • Using Styles
    • Using Themes
    • Understanding Adapters
    • SimpleCursorAdapter
    • ArrayAdapter
    • Using Adapters with AdapterViews
    • The Spinner Control
    • The Basic List Control: ListView
    • The GridView Control
    • The Gallery Control
    • Creating Custom Adapters
  7. Intents and Activity Communication
    • Basics of Android Intents
    • Available Intents in Android
    • Intents and Data URIs
    • Understanding Intent Categories
    • Rules for Resolving Intents tTheir Components
    • Action
    • Data
    • Data Type
    • Data Scheme
    • Data Authority
    • Data Path
    • Intent Categories
    • Introducing Pending Intents
  8. Working with Menus
    • Understanding Android Menus
    • Creating a Menu
    • Working with Menu Groups
    • Responding tMenu Items
    • Responding tMenu Items through onOptionsItemSelected
    • Responding tMenu Items Through Listeners
    • Working with Other Menu Types
    • Expanded Menus
    • Working with Icon Menus
    • Working with Submenus
    • Working with Context Menus
    • Working with Alternative Menus
    • Dynamic Menus
    • Loading Menus Through XML Files
    • Loading Menus Through XML Files
    • Structure of an XML Menu Resource File
    • Introduction tAdditional XML Menu Tags
    • Group Category Tag
    • Checkable Behavior Tags
    • Tags tSimulate a Submenu
    • Menu Icon Tag
    • Menu Enabling/Disabling Tag
    • Menu Item Shortcuts
    • Menu Visibility
  9. Understanding Fragments
    • Screen Size and Density
    • What Is a Fragment?
    • When tUse Fragments
    • Fragment Structure
    • Lifecycle of a Fragment
    • The onInflate() Callback
    • The onAttach() Callback
    • The onCreate() Callback
    • The onCreateView() Callback
    • The onActivityCreated() Callback
    • The onStart() Callback
    • The onResume() Callback
    • The onPause() Callback
    • The onSaveInstanceState() Callback
    • The onStop() Callback
    • The onDestroyView() Callback
    • The onDestroy() Callback
    • The onDetach() Callback
    • Using setRetainInstance()
    • Sample Fragment App Showing the Lifecycle
    • Fragment Transactions
    • The FragmentManager
    • Communications with Fragments
    • Using startActivity() and setTargetFragment()
  10. Working with Dialogs
    • Using Dialogs in Android
    • Understanding Dialog Fragments
    • DialogFragment Basics
    • Constructing a Dialog Fragment
    • Overriding onCreateView
    • Overriding onCreateDialog
    • Displaying a Dialog Fragment
    • Dismissing a Dialog Fragment
    • Working with Toast
  11. Exploring ActionBar
    • Anatomy of an ActionBar
    • Tabbed Navigation Action Bar Activity
    • Implementing Base Activity Classes
    • Assigning Uniform Behavior for the Action Bar
    • Implementing the Tabbed Listener
    • Implementing the Tabbed Action Bar Activity
    • Obtaining an Action Bar Instance
    • Action Bar Navigation Modes
    • Scrollable Debug Text View Layout
    • Options menu Vs. Action bar
    • Action Bar and Menu Interaction
    • Contextual ActionBar
    • ActionViews
    • Custom ActionView
  12. Understanding preferences
    • Exploring the Preferences Framework
    • Understanding ListPreference
    • Understanding CheckBoxPreference
    • Understanding EditTextPreference
    • Understanding RingtonePreference and MultiSelectListPreference
    • Organizing Preferences
    • Using PreferenceCategory
    • Shared Preferences
  13. Data Storage
    • Storage Options in Android
    • The Internal Storage
    • Saving cache files
    • The External Storage
    • Accessing the external storage
    • Tcheck the media availability
    • Hiding your files from the Media Scanner
    • Saving files that can be shared with other apps
    • Saving app-private files
    • Saving cache files
    • SQLite Databases
    • Content Providers
    • Exploring Android–s Built-in Providers
    • Quick SQLite Primer
    • Architecture of Content Providers
    • Structure of Android Content URIs
    • Structure of Android MIME Types
    • Adding a File ta Content Provider
    • Updates and Deletes
    • Implementing Content Providers
    • Planning a Database
    • Extending ContentProvider
    • Implementing the methods
    • Registering the Provider
  14. Threads, Handlers and Asynchronous Processing
    • Android Components and Threading
    • Activities Run on the Main Thread
    • Broadcast Receivers Run on the Main Thread
    • Services Run on the Main Thread
    • Content Provider Runs on the Main Thread
    • Thread Utilities
    • Handlers
    • Implications of Holding the Main Thread
    • Using a Handler tDefer Work on the Main Thread
    • Sample Handler Source Code That Defers Work
    • Constructing a Suitable Message Object
    • Sending Message Objects tthe Queue
    • Responding tthe handleMessage Callback
    • Exploring AsyncTask
    • Subclassing an Async Task
    • Implementing Your First Async Task
    • Calling an Async Task
  15. Broadcast Receivers and Notification Manager
    • Broadcast Receivers
    • Sending a Broadcast
    • Coding a Simple Receiver: Sample Code
    • Registering a Receiver in the Manifest File
    • Using Notifications from a Receiver
    • Monitoring Notifications through the Notification Manager
    • Sending a Notification
  16. Working with Media APIs
    • Using the Media APIs
    • Using SD Cards
    • Playing Media
    • Playing AudiContent
    • Playing VideContent
    • Recording Media
    • Exploring AudiRecording with MediaRecorder
    • Recording Audiwith AudioRecord
    • Exploring VideRecording
  17. Home Screen Widgets
    • Architecture of Home Screen Widgets
    • What Are Home Screen Widgets?
    • User Experience with Home Screen Widgets
    • Creating a Widget Instance on the Home Screen
    • Understanding Widget Configurator
    • Life Cycle of a Widget
    • Widget Definition Phase
    • Widget Instance Creation Phase
    • onUpdate Phase
    • Widget View Mouse Click Event Callbacks
    • Deleting a Widget Instance
    • Uninstalling Widget Packages
    • Defining the Widget Provider
    • Defining Widget Size
    • Widget Preview Tool
    • Widget Limitations and Extensions
  18. Using Telephone APIs
    • Sending SMS Messages
    • Monitoring Incoming SMS Messages
    • Working with SMS Folders
    • Sending E-mail
    • Working with the Telephony Manager
  19. Understanding Security and Permissions
    • Understanding the Android Security Model
    • Overview of Security Concepts
    • Signing Applications for Deployment
    • Declaring and Using Permissions
    • Understanding and Using Custom Permissions
    • Understanding and Using URI Permissions
    • Passing URI Permissions in Intents
    • Specifying URI Permissions in Content Providers
  20. Network Communication and Services
    • Understanding Mobile Networking Fundamentals
    • Understanding Strict Mode with Networking
    • Accessing the Internet (HTTP)
    • Reading Data from the Web
    • Using HttpURLConnection
    • Parsing XML from the Network
    • Parsing JSON from the Network
    • Retrieving Android Network Status
  21. Application Deployment
    • Publishing Options
    • Preparing AndroidManifest.xml for Uploading
    • Deploying app on Google Play Store
    • Becoming a Publisher
    • Developer Console

Duration: 112 Hours
Course Fee: INR. 2,50,000 + Tax


Expert Android Apps Development

Course Outline
  1. 2D Animations
    • Frame-by-Frame Animation
    • Planning for Frame-by-Frame Animation
    • Creating the Activity
    • Adding Animation tthe Activity
    • Layout Animation
    • Basic Tweening Animation Types
    • View Animation
    • Understanding View Animation
    • Adding Animation
    • Property Animations: The New Animation API
    • Property Animation
  2. Packages and Library projects
    • Packages and Processes
    • Details of a Package Specification
    • Translating the Package Name ta Process Name
    • Listing Installed Packages
    • Deleting a Package Through the Package Browser
    • Revisiting the Package Signing Process
    • A Pattern for Understanding Digital Signatures
    • Sharing Data Among Packages
    • The Nature of Shared User IDs
    • Library Projects
    • What Is a Library Project?
    • Library Project Predicates
    • Creating a Library Project
    • Creating an Android Project That Uses a Library
    • Associating the Library Project with the Main Application Project
  3. Location and Maps
    • Applying for the Google Maps API Key
    • Displaying the Map
    • Zooming in and out of Google Maps
    • Changing Map Modes
    • Navigating the Map ta Particular Location
    • Adding Markers tthe Map
    • Displaying a Marker at the Current Location
    • Displaying a Marker at Specific Locations
    • Drawing a Line Connecting TwPoints
  4. Supporting Single and Multitouch
    • Single Touch
    • The MotionEvent Object
    • Receiving MotionEvent Objects
    • Using VelocityTracker
    • Multitouch
    • The Basics of Multitouch
    • Gestures
    • The Pinch Gesture
    • GestureDetector and OnGestureListeners
    • Custom Gestures
    • The Structure of a Gesture
  5. Implementing Drag and Drop
    • Exploring Drag and Drop
    • Basics of Drag and Drop
    • Drag-and-drop Example Application
    • Responding tonDrag in the Dropzone
    • Setting Up the Drag Source Views
  6. Working with Sensors
    • What Is a Sensor?
    • Detecting Sensors
    • Getting Sensor Events
    • Interpreting Sensor Data
    • Light Sensors
    • Proximity Sensors
    • Temperature Sensors
    • Pressure Sensors
    • Gyroscope Sensors
    • Accelerometers
    • Magnetic Field Sensors
    • Orientation Sensors
    • Gravity Sensors
    • Linear Acceleration Sensors
    • Rotation Vector Sensors
  7. Android WebKit API
    • Browsing the Web with WebView
    • Designing a Layout with a WebView Control
    • Loading Content inta WebView Control
    • Adding Features tthe WebView Control
    • Modifying WebView Settings with WebSettings
    • Handling WebView Events with WebViewClient
    • Building Web Extensions Using WebKit
    • Browsing the WebKit APIs
    • Extending Web Application Functionality tAndroid
    • Debugging Web Apps
  8. Advanced Debugging and Analysis
    • Enabling Advanced Debugging
    • The Debug Perspective
    • The DDMS Perspective
    • The Debug Button
    • The Heap Buttons
    • The Threads Buttons
    • The Stop Button
    • The Camera Button
    • The Dump View Hierarchy Button
    • The Systrace Button
    • Traceview
    • The Hierarchy View Perspective
  9. Social Functionalities and Advance Services
    • Facebook Integration
    • Social Networking Integration using Http
    • Loading a user’s Twitter timeline (using JSON)
    • Upstream Messages With Google Cloud Messaging
    • Upstream messaging
    • Create your credentials
    • Sign up for using the new features
    • Using Google Play Services
    • Registering the device for Google Cloud Messaging
    • Send messages upstream
    • Benefits of Upstream messaging
    • Permissions
    • Receiving messages
    • RSS Feed Reading
    • RSS Elements
    • Parsing RSS
    • Push Notifications
    • Using Android Services
    • Understanding Services in Android
    • Understanding Local Services
    • Understanding AIDL Services
    • Calling the Service from a Client Application
  10. Android Application Testing
    • Android automated testing
    • Android test strategy
    • How ttest Android applications
    • Unit tests vs. integration tests on Android
    • Android and JUnit 3
    • What ttest on Android applications
    • Testing preconditions
    • User interface tests
    • Running tests on a server without display
    • Which tests require an Android system trun?
    • Testing standard Java classes
    • Testing Java classes which use the Android API
    • Android test projects and running tests
    • Android test projects
    • Creating a test project with ADT
    • Running the Android test
    • Mocking objects
    • Mocking the context
    • Exercise: Writing a stub for mocking file access
    • Create Android application
    • Create test project and test
    • Application testing
  11. Application Policy and Data Security in Android
    • Application Policy Use Cases
    • Declaring application permissions
    • Declaring permissions for external applications
    • Applications running with the same Linux ID
    • External storage
    • Setting component visibility
    • Debugging
    • Backup
    • Principles of data security
    • Confidentiality
    • Integrity
    • Availability
    • Identifying assets, threats, and attacks
    • What and where tstore
    • End-to-end security
    • The mobile ecosystem
    • Three states of data
    • Digital rights management
  12. Working with Android NDK
    • Determining When tUse the Android NDK
    • Installing the Android NDK
    • Exploring the Android NDK
    • Running an Android NDK Sample Application
    • Creating Your Own NDK Project
    • Calling Native Code from Java
    • Handling Parameters and Return Values
    • Using Exceptions with Native Code
  13. Android Connectivity
    • Wi-Fi Direct
    • Sample Wi-Fi Direct application
    • Bluetooth Connectivity
    • NFC in Android
    • Three Modes Of Operation
  14. Application Internationalization
    1. Internationalizing Applications
    2. Internationalization Using Alternative Resources
    3. Changing the Language Settings
    4. Implementing Locale Support Programmatically
    5. Publishing Applications for Foreign Users
  15. Third-Party In-App Billing APIs for Android
    • What Is In-App Billing?
    • Using In-App Billing
    • Leveraging Android Market In-App Billing APIs
    • Leveraging Amazon Appstore In-App Billing APIs
    • Leveraging PayPal Billing APIs
    • Leveraging Other Billing APIs

Duration: 48 Hours
Course Fee: INR. 1,50,000 + Tax