Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Size: px
Start display at page:

Download "Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013"

Transcription

1 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone revolution 2. Mobile Ecosystem 2.1. Contemporary Mobility platforms 2.2. Popular mobility platforms 2.3. Android 2.4. iphone 3. Comparing the various platforms 4. Application Types 4.1. Basic Architecture of Mobility applications 4.2. Native Applications 4.3. Web Applications 4.4. Web Applications vs Native Applications 4.5. Hybrid Applications 5. Mobility Hardware/Software Aspects 5.1. Introduction to Mobile hardware 5.2. Resource constraints 5.3. Device Fragmentation 5.4. Platform Fragmentation

2 Day 2 6. Introducing Android 6.1. Android Platform 6.2. Android Architecture and Software Stack 6.3. Android Virtual Machine (Dalvik VM) 7. Android Development Environment 7.1. Android SDK 7.2. Eclipse Android Developer Tools 7.3. Installing and Configuring the Software Development Kit 7.4. Anatomy of Eclipse Android project 7.5. Android SDK development tools Android Emulator and Virtual Devices Dalvik Debug Monitor Service (DDMS) Android Debug Bridge (ADB) Android Asset Packaging Tool 7.6. Hello Android Application Day 3 8. Java for Android 9. Patterns used by Android 9.1. Adapter Pattern 9.2. Singleton Pattern 9.3. Builder Pattern 9.4. Model View Controller Pattern 9.5. Observer Pattern 9.6. Factory Pattern

3 10. Application Building Blocks Activities Resources Intents Content Providers Services Day Android Application Android Runtime Environment and Application behavior Application Architecture Physical Structure of an Android Application Lifecycle of Application Components Lifecycle of Application Debugging Android application 12. User Interface Programming - Basics UI Basics Views & View Groups Layouts & Layout Manager XML based Layouts Day User Interface Programming - Basics Java based User Interfaces Common Controls & Widgets Custom Components Dialogs 14. User Interface Programming - Advanced

4 14.1. Adapters and Adapter based Views ListView GridView Tab Widget Gallery Day Menus Basics Types of Menus XML based Menus 16. User Input Handling User Events Touch based input Other forms of inputs 17. Styles and Themes 18. 2D Graphics, Animation & Fonts Graphics Subsystem Drawable Resources Animation Fonts Day File I/O Android File System Saving Application State Preferences File Management Tools 20. Android Storage APIs

5 20.1. Introduction to SQLite Working with SQLite databases Content Providers in Depth Creating a custom Content Provider Day Multimedia programming Playing Audio & Video Recording Audio & Video Camera 22. Background Work Threading Background Threads AsyncTask Handlers, Loopers and Runnables Alarms Day Services Why use Services? Architecture of an Android application using Services Invoking Local Services Creating Local Services 24. Location API Introduction to GPS Location Tracking Region Monitoring Using Location in Applications Maps API

6 24.6. Using Maps in Applications Day Android Networking, Connectivity and Telephony APIs Managing Internet Connectivity Wi-Fi Telephony Working with RESTful based web services. 26. Multiple Devices & Screen Resolutions Day Inter-process Communication Introduction to Binder Introduction to AIDL Remote Procedure Calls Remote Services 28. Device fragmentation Screen Size Screen Input mechanism Keyboard Track Pad DPad Etc. 29. Introduction to Native Development Why Native Development? Working with NDK

7 Day Mobile Web Evolution of Mobile Web Current Web Browsers and Toolkits Browsers for different platforms WebKit Markups, Scripts and Standards CSS HTML Javascript Server side Detection and content Delivery Day Designing Android Applications Thinking about application design Application User Interface design guidelines Styling UI Popular UI design patterns 32. Application Performance Measuring application performance Resolving Performance issues Performance Guidelines Day 14 & Software Testing Basics Common terminology and concepts Different types of Software testing

8 33.3. Testing Life cycle & Process Tools for managing Testing process Testing documentation basics Unit Testing 34. Testing Android Applications Unit Testing Introduction to Test Driven Development Unit testing basics Frameworks for Unit Testing Tools Test management Mobile testing best practices Automation 35. Application Distribution Mobility Application Business Model Evolution of Software Distribution Software Distribution Android Application Distribution Day Mobile Application Development Process Desktop vs Mobile Software Development Process Mobile Software Development Process Design Development Testing Deployment Maintenance 37. Mobile Design

9 37.1. Importance of Design in mobile applications 38. Mobile Application Design Process Story boarding Prototypes Application flow 39. Patterns and best practices of design Android Application design

10 Mobility Introduction ios Duration 13 Working days Start Date 1 st Oct 2013 Day Introduction to Mobility Mobility Paradigm Desktop to Mobile Evolution of the Mobile Smart phone revolution 41. Mobile Ecosystem Contemporary Mobility platforms Popular mobility platforms Android iphone 42. Comparing the various platforms 43. Application Types Basic Architecture of Mobility applications Native Applications Web Applications Web Applications vs Native Applications Hybrid Applications 44. Mobility Hardware/Software Aspects Introduction to Mobile hardware Resource constraints Device Fragmentation Platform Fragmentation

11 Day Introducing iphone & ios iphone ios Platform ios Architecture and Software Stack 46. ios Development Environment Introduction to ios SDK Introduction to ios 4.x Using XCode Using Interface Builder Using iphone Simulator 47. Objective-C Basics Fundamentals of the C Programming Language Pointers Loops Conditionals Object Oriented Programming using Objective-C Classes & Objects Properties Protocols Categories Day Memory Management Reference Counting AutoreleasePools 49. Foundation Framework

12 49.1. Introduction to Foundation Framework Working with basic Foundation Framework classes NSString NSArray NSDictionary 50. XCode and Interface Builder in-depth Source code management Best practices 51. Debugging and trouble shooting Applications XCode, gdb debugger Static code analyzer Tracking and resolving issues. Day Design Patterns used by Apple Delegate Pattern Model View Controller Pattern Target-Action Lazy Initialization Singleton Pattern Factory Pattern 53. Hello IPhone Creating a simple application Creating a simple application with User Interaction Day iphone Application Basics iphone Runtime environment ios 3.x vs ios 4.x Anatomy of an iphone application Application Life cycle and States

13 Managing the life-cycle of an application Managing the state of an application Day User Interface Programming - Basics Cocoa & Cocoa Touch Frameworks Views Creating Views using XIB vs Objective-C Custom Views Basic User Controls Labels, Text Fields, Buttons, Sliders, Picker etc Building application screens Adding user event handling Touch Events View Controllers Basics View Controller Lice-cycle View Controller Memory Management MVC patter in applications Creating a flow of the application Picker View Alerts and Action Sheets Toolbars Day User Interface Programming Intermediate Image View Web View Basic HTML rendering local and remote content CSS, Javascript

14 56.3. Scroll View Table Views Basics Populating TableView with data Customizing TableView TableView Cells Customizing TableView Cells Day User Interface Programming Advanced Applications with Multiple Views Animating View Switching Simple View Controller for Multiple Views 58. Tab based applications (Tab Bar Controller) 59. Navigation based applications (Navigation Controller) Day Events, Multi Touch and Gestures API 61. Sensors Accelerometer 62. ipad Programming Universal Application SplitView Controller Popover Controller 63. 2D Graphics & Animation Quartz 2D & Core Graphics Day Application Preferences

15 64.1. Application Settings and Preferences Settings Bundle Reading Settings Modifying Settings Bundle Implementing User Interface for setting preferences 65. File I/O File System Application Folders File permissions Moving around in the File System Creating, Updating and Deleting Files XML file parsing. 66. Data Persistance - Basics Persisting Application Data Property lists Working with SQLite databases Day Data Persistance - Advanced Core Data 68. Location API & Maps Core Location Mapkit Day Multimedia programming Playing Audio & Video Accessing ipod library 70. Networking, Connectivity etc.

16 70.1. Making web request Restful services 71. Localization Introduction to Localization and Internationalization Making your applications Localized NSLocale class Day Mobile Web Evolution of Mobile Web Current Web Browsers and Toolkits Browsers for different platforms WebKit Markups, Scripts and Standards CSS HTML Javascript Server side Detection and content Delivery 73. PhoneGap Introduction to multi platform web application development Using Phone Gap. 74. Designing iphone Applications Apple Human Interface Guidelines Popular UI design patterns 75. Mobile Application Design Process Story boarding Prototypes Application flow 76. Application Performance Measuring application performance.

17 76.2. Resolving Performance issues Performance Guidelines 77. Testing iphone Applications Unit Testing Introduction to Test Driven Development Unit testing basics Frameworks for Unit Testing Tools Test management Mobile testing best practices Automation 78. Application Distribution Mobility Application Business Model Evolution of Software Distribution Software Distribution iphone Application Distribution