• No results found

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
17
0
0

Loading.... (view fulltext now)

Full text

(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

7.5.1. Android Emulator and Virtual Devices 7.5.2. Dalvik Debug Monitor Service (DDMS) 7.5.3. Android Debug Bridge (ADB)

7.5.4. 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 10.1. Activities

10.2. Resources 10.3. Intents

10.4. Content Providers 10.5. Services

Day 4

11. Android Application

11.1. Android Runtime Environment and Application behavior 11.2. Application Architecture

11.3. Physical Structure of an Android Application 11.4. Lifecycle of Application Components

11.5. Lifecycle of Application 11.6. Debugging Android application 12. User Interface Programming - Basics 12.1. UI Basics

12.2. Views & View Groups 12.3. Layouts & Layout Manager 12.4. XML based Layouts

Day 5

13. User Interface Programming - Basics 13.1. Java based User Interfaces

13.2. Common Controls & Widgets 13.3. Custom Components

13.4. Dialogs

14. User Interface Programming - Advanced

(4)

14.1. Adapters and Adapter based Views 14.2. ListView

14.3. GridView 14.4. Tab Widget 14.5. Gallery

Day 6

15. Menus 15.1. Basics

15.2. Types of Menus 15.3. XML based Menus 16. User Input Handling 16.1. User Events

16.2. Touch based input 16.3. Other forms of inputs 17. Styles and Themes

18. 2D Graphics, Animation & Fonts 18.1. Graphics Subsystem

18.2. Drawable Resources 18.3. Animation

18.4. Fonts

Day 7 19. File I/O

19.1. Android File System 19.2. Saving Application State 19.3. Preferences

19.4. File Management Tools

20. Android Storage APIs

(5)

20.1. Introduction to SQLite

20.2. Working with SQLite databases 20.3. Content Providers in Depth

20.4. Creating a custom Content Provider

Day 8

21. Multimedia programming 21.1. Playing Audio & Video 21.2. Recording Audio & Video 21.3. Camera

22. Background Work 22.1. Threading

22.2. Background Threads 22.3. AsyncTask

22.4. Handlers, Loopers and Runnables 22.5. Alarms

Day 9 23. Services

23.1. Why use Services?

23.2. Architecture of an Android application using Services 23.3. Invoking Local Services

23.4. Creating Local Services 24. Location API

24.1. Introduction to GPS 24.2. Location Tracking 24.3. Region Monitoring

24.4. Using Location in Applications

24.5. Maps API

(6)

24.6. Using Maps in Applications

Day 10

25. Android Networking, Connectivity and Telephony APIs 25.1. Managing Internet Connectivity

25.2. Wi-Fi

25.3. Telephony

25.4. Working with RESTful based web services.

26. Multiple Devices & Screen Resolutions

Day 11

27. Inter-process Communication 27.1. Introduction to Binder

27.2. Introduction to AIDL 27.3. Remote Procedure Calls 27.4. Remote Services

28. Device fragmentation 28.1. Screen

28.1.1. Size 28.1.2. Screen 28.2. Input mechanism

28.2.1. Keyboard 28.2.2. Track Pad 28.2.3. DPad 28.2.4. Etc.

29. Introduction to Native Development 29.1. Why Native Development?

29.2. Working with NDK

(7)

Day 12

30. Mobile Web

30.1. Evolution of Mobile Web

30.2. Current Web Browsers and Toolkits 30.2.1. Browsers for different platforms 30.2.2. WebKit

30.3. Markups, Scripts and Standards 30.3.1. CSS

30.3.2. HTML 30.3.3. Javascript

30.4. Server side Detection and content Delivery

Day 13

31. Designing Android Applications 31.1. Thinking about application design

31.2. Application User Interface design guidelines.

31.3. Styling UI

31.4. Popular UI design patterns 32. Application Performance

32.1. Measuring application performance.

32.2. Resolving Performance issues 32.3. Performance Guidelines

Day 14 & 15

33. Software Testing Basics

33.1. Common terminology and concepts

33.2. Different types of Software testing

(8)

33.3. Testing Life cycle & Process

33.3.1. Tools for managing Testing process 33.4. Testing documentation basics

33.5. Unit Testing

34. Testing Android Applications 34.1. Unit Testing

34.1.1. Introduction to Test Driven Development 34.1.2. Unit testing basics

34.1.3. Frameworks for Unit Testing 34.2. Tools

34.3. Test management

34.4. Mobile testing best practices 34.5. Automation

35. Application Distribution

35.1. Mobility Application Business Model 35.2. Evolution of Software Distribution

35.2.1. Software Distribution 2.0 35.3. Android Application Distribution

Day 16

36. Mobile Application Development Process

36.1. Desktop vs Mobile Software Development Process 36.2. Mobile Software Development Process

36.2.1. Design

36.2.2. Development

36.2.3. Testing

36.2.4. Deployment

36.2.5. Maintenance

37. Mobile Design

(9)

37.1. Importance of Design in mobile applications 38. Mobile Application Design Process

38.1. Story boarding 38.2. Prototypes 38.3. Application flow

39. Patterns and best practices of design 39.1. Android Application design

(10)

Mobility Introduction – iOS

Duration – 13 Working days Start Date – 1

st

Oct 2013

Day 1

40. Introduction to Mobility 40.1. Mobility Paradigm 40.2. Desktop to Mobile 40.3. Evolution of the Mobile 40.4. Smart phone revolution 41. Mobile Ecosystem

41.1. Contemporary Mobility platforms 41.2. Popular mobility platforms 41.3. Android

41.4. iPhone

42. Comparing the various platforms 43. Application Types

43.1. Basic Architecture of Mobility applications 43.2. Native Applications

43.3. Web Applications

43.4. Web Applications vs Native Applications 43.5. Hybrid Applications

44. Mobility Hardware/Software Aspects 44.1. Introduction to Mobile hardware 44.2. Resource constraints

44.3. Device Fragmentation

44.4. Platform Fragmentation

(11)

Day 2

45. Introducing iPhone & iOS 45.1. iPhone

45.2. iOS Platform

45.3. iOS Architecture and Software Stack 46. iOS Development Environment

46.1. Introduction to iOS SDK 46.2. Introduction to iOS 4.x.

46.3. Using XCode

46.4. Using Interface Builder 46.5. Using iPhone Simulator 47. Objective-C Basics

47.1. Fundamentals of the C Programming Language 47.1.1. Pointers

47.1.2. Loops 47.1.3. Conditionals

47.2. Object Oriented Programming using Objective-C 47.2.1. Classes & Objects

47.2.2. Properties 47.2.3. Protocols 47.2.4. Categories Day 3

48. Memory Management

48.1. Reference Counting

48.2. AutoreleasePools

49. Foundation Framework

(12)

49.1. Introduction to Foundation Framework

49.2. Working with basic Foundation Framework classes 49.2.1. NSString

49.2.2. NSArray 49.2.3. NSDictionary

50. XCode and Interface Builder in-depth 50.1. Source code management 50.2. Best practices

51. Debugging and trouble shooting Applications 51.1. XCode, gdb debugger

51.2. Static code analyzer.

51.3. Tracking and resolving issues.

Day 4

52. Design Patterns used by Apple 52.1. Delegate Pattern

52.2. Model View Controller Pattern 52.3. Target-Action

52.4. Lazy Initialization 52.5. Singleton Pattern 52.6. Factory Pattern 53. Hello IPhone

53.1. Creating a simple application

53.2. Creating a simple application with User Interaction

Day 5

54. iPhone Application Basics

54.1. iPhone Runtime environment 54.1.1. iOS 3.x vs iOS 4.x

54.2. Anatomy of an iPhone application

54.3. Application Life cycle and States

(13)

54.3.1. Managing the life-cycle of an application 54.3.2. Managing the state of an application

Day 6

55. User Interface Programming - Basics 55.1. Cocoa & Cocoa Touch Frameworks 55.2. Views

55.2.1. Creating Views using XIB vs Objective-C 55.3. Custom Views

55.4. Basic User Controls

55.4.1. Labels, Text Fields, Buttons, Sliders, Picker etc.

55.4.2. Building application screens

55.4.3. Adding user event handling – Touch Events 55.5. View Controllers

55.5.1. Basics

55.5.2. View Controller Lice-cycle

55.5.3. View Controller Memory Management 55.5.4. MVC patter in applications

55.5.5. Creating a flow of the application.

55.6. Picker View

55.7. Alerts and Action Sheets 55.8. Toolbars

Day 7

56. User Interface Programming – Intermediate 56.1. Image View

56.2. Web View

56.2.1. Basic HTML rendering – local and remote content.

56.2.2. CSS, Javascript

56.2.3.

(14)

56.3. Scroll View 56.4. Table Views

56.4.1. Basics

56.4.2. Populating TableView with data 56.4.3. Customizing TableView

56.4.4. TableView Cells

56.4.5. Customizing TableView Cells

Day 8

57. User Interface Programming – Advanced 57.1. Applications with Multiple Views 57.2. Animating View Switching

57.3. Simple View Controller for Multiple Views 58. Tab based applications (Tab Bar Controller)

59. Navigation based applications (Navigation Controller)

Day 9

60. Events, Multi Touch and Gestures API 61. Sensors

61.1. Accelerometer 62. iPad Programming

62.1. Universal Application 62.2. SplitView Controller 62.3. Popover Controller 63. 2D Graphics & Animation

63.1. Quartz 2D & Core Graphics

Day 10

64. Application Preferences

(15)

64.1. Application Settings and Preferences 64.2. Settings Bundle

64.3. Reading Settings

64.4. Modifying Settings Bundle

64.5. Implementing User Interface for setting preferences 65. File I/O

65.1. File System

65.2. Application Folders 65.3. File permissions

65.4. Moving around in the File System 65.5. Creating, Updating and Deleting Files 65.6. XML file parsing.

66. Data Persistance - Basics 66.1. Persisting Application Data 66.2. Property lists

66.3. Working with SQLite databases

Day 11

67. Data Persistance - Advanced 67.1. Core Data

68. Location API & Maps 68.1. Core Location 68.2. Mapkit

Day 12

69. Multimedia programming

69.1. Playing Audio & Video

69.2. Accessing iPod library

70. Networking, Connectivity etc.

(16)

70.1. Making web request 70.2. Restful services 71. Localization

71.1. Introduction to Localization and Internationalization 71.2. Making your applications Localized

71.3. NSLocale class

Day 13

72. Mobile Web

72.1. Evolution of Mobile Web

72.2. Current Web Browsers and Toolkits 72.2.1. Browsers for different platforms 72.2.2. WebKit

72.3. Markups, Scripts and Standards 72.3.1. CSS

72.3.2. HTML 72.3.3. Javascript

72.4. Server side Detection and content Delivery 73. PhoneGap

73.1. Introduction to multi platform web application development 73.2. Using Phone Gap.

74. Designing iPhone Applications

74.1. Apple Human Interface Guidelines 74.2. Popular UI design patterns

75. Mobile Application Design Process 75.1. Story boarding

75.2. Prototypes 75.3. Application flow 76. Application Performance

76.1. Measuring application performance.

(17)

76.2. Resolving Performance issues 76.3. Performance Guidelines

77. Testing iPhone Applications 77.1. Unit Testing

77.1.1. Introduction to Test Driven Development 77.1.2. Unit testing basics

77.1.3. Frameworks for Unit Testing 77.2. Tools

77.3. Test management

77.4. Mobile testing best practices 77.5. Automation

78. Application Distribution

78.1. Mobility Application Business Model 78.2. Evolution of Software Distribution

78.2.1. Software Distribution 2.0

78.3. iPhone Application Distribution

References

Related documents

Seventeen of the items evaluated the academic staff satisfaction with the working conditions in four aspects including: management and ensuring health and safety

For example, if a patient has a prescription for pureed foods and moderately thick liquids (IDDSI Functional Diet Scale score of 2, capturing items at both levels 3 and 4 of the

The main objective of this paper is to investigate to which extent limit order books react to changes in expected trade informativeness. Therefore, we are interested in the shape of

Table 8 – Number Ni of allowed axle group passages and aggressiveness Ai = Nref/Ni (Nref for standard single axle) for each axle group (A to E) of the vehicles on the pavements (tb:

towns in Mato Grosso are known as “Southerner’s towns”, which differ considerably from neighbouring traditional towns. To address conflicting values in the case of the

The purpose of this study was to determine if the introduction of a simulation and role- play would support improved perceptions by first year nursing students of communication with

The Spanish Working Group (SWG) has organized a Special IGCP Symposium within the frame of the XXVIII Spanish Palaeontological Meeting. Within the Symposium nine works were

The primary aim of the present study is to examine whether there is any significant relationship between patterns of cash flow components and financially