android course1

34
Android Course Amira Elsayed Ismail

Upload: andres-dominguez

Post on 06-May-2015

173 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Android course1

Android CourseAmira Elsayed Ismail

Page 2: Android course1

2

Agenda• Why Learn Android?• Prerequisites.• Android History.• What is Android?• Android Architecture.

Page 3: Android course1

Why Learn Android?• Run your applications on 59% of the smartphones

worldwide (Jul - 2012).

• Join in 600,000 applications for android (Jul - 2012).

• Not just smartphone, Android OS is being used in, TVs, Microwaves, Car Tapes. Etc…

• High job success rates.

• Create app sell to market very easily.

Page 4: Android course1
Page 5: Android course1

Prerequisites• Object-oriented programming.

• You must understand terms like (Class, Instance, Method, Superclass and Subclass).

• Installation of Eclipse IDE & Android SDK Tools.

• Install all SDKs preferably (2.1, 2.2 & 4.x).

• An android device. (Optional but highly recommended).

Page 6: Android course1

Android History• Started by Android Inc. in 2005, which had been

financed by Google.

• In 2007 Google bought Android Inc.

• Android beta was released in Nov 2007.

• Android v1.0 was released in Sep 2008.

• Latest android version is 4.4 (Kitkat).

Page 7: Android course1
Page 8: Android course1
Page 9: Android course1

What is Android? Android is an operating system for

mobile devices such as smartphones and tablet computers.

Android has beaten Apple iOS, being the leading mobile operating system from first quarter of 2011

Page 10: Android course1

Android Architecture Android system is composed of following

items: Linux Kernel. Libraries. Applications Framework. Applications.

Page 11: Android course1
Page 12: Android course1

Android Architecture (Cont’d) Linux Kernel

Its customized Linux kernel with a lot more android specific code to support devices.

One of the kernel's main function is to control hardware.

Page 13: Android course1

Android Architecture (Cont’d) Libraries

Webkit Modern web browser engine used in both

web view as well as native browser.

Support CSS, Java script, DOM, Ajax etc.

Page 14: Android course1

Android Architecture (Cont’d) Libraries

Media framework PacketVideo, openCORE platform.

Support Audio, Video, Still-frame formats.

Page 15: Android course1

Android Architecture (Cont’d) Libraries

SQLite Self-contained.

Serverless.

Zero-configuration.

SQL Database.

Page 16: Android course1

Android Architecture (Cont’d) Libraries

OpenGL|ES(openGL for EmbeddedSystems) Standard specification for 2D/3D graphics.

Can simulate physics.

Complex 3D scenes can be drawn.

Used in (Virtual reality, Augmented reality, Game programming, Scientific visualization and Flight simulation).

Page 17: Android course1

Android Architecture (Cont’d) Libraries

Surface Manager Manages access to display subsystem.

Seamlessly composites graphic layers 2D/3D layers from different applications.

Page 18: Android course1

Android Architecture (Cont’d) Libraries

SGL (Skia graphic library) An underlying 2D graphics engine.

Used to draw text, geometries & images.

Page 19: Android course1

Android Architecture (Cont’d) Libraries

SSL (Secure Sockets Layer) Cryptographic protocol to provide

information security over internet.

Page 20: Android course1

Android Architecture (Cont’d) Libraries

FreeType Bitmap and vector font rendering.

Page 21: Android course1

Android Architecture (Cont’d) Android Runtime

Dalvik Virtual Machine Provides application portability and runtime

consistency.

Runs optimized file format (.dex) and Dalvik bytecode.

Page 22: Android course1
Page 23: Android course1

Android Architecture (Cont’d) Android Runtime

Core Libraries Data structures File Access Graphics Network Access Utilities

Page 24: Android course1

Android Architecture (Cont’d) Applications Framework

Activity Manager Interact with overall activities running in the

system. Manage lifecycle of activities. Manage stacking of activities.

Page 25: Android course1
Page 26: Android course1

Android Architecture (Cont’d) Applications Framework

Window Manager Dispatch input events to clients. Transition animation. Create layout/surfaces (using

SurfaceManager).

Page 27: Android course1

Android Architecture (Cont’d) Applications Framework

Content Providers Manage access to structured access of

data. Mainly used for data sharing purposes.

Page 28: Android course1
Page 29: Android course1

Android Architecture (Cont’d) Applications Framework

View System Basic building block for UI components. Can be extended to build custom UI

components.

Page 30: Android course1

Android Architecture (Cont’d) Applications Framework

Package Manager Provides methods for querying and

manipulating installed packages.

Page 31: Android course1

Android Architecture (Cont’d) Applications Framework

Telephony Manager Provides access to telephony services on

android. Can monitor telephone state changes.

Page 32: Android course1

Android Architecture (Cont’d) Applications Framework

Location Manager Provide access to system location services. Able to track location periodically or one-

time.

Page 33: Android course1

Android Architecture (Cont’d) Applications Framework

Resource Manager Link external resources to native app at

build time. Resources may include XML Layouts,

Bitmaps, raw files etc.

Page 34: Android course1

Android Architecture (Cont’d) Applications Framework

Notification Manager Notify users about events.