android course (lecture1)

35
Android Course Amira Elsayed Ismail 1

Upload: amira-elsayed-ismail

Post on 02-Jul-2015

310 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Android course (lecture1)

Android

CourseAmira Elsayed Ismail

1

Page 2: Android course (lecture1)

Agenda

• Why Learn Android?

• Prerequisites.

• Android History.

• What is Android?

• Android Architecture.

2

Page 3: Android course (lecture1)

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.

3

Page 4: Android course (lecture1)

4

Page 5: Android course (lecture1)

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).

5

Page 6: Android course (lecture1)

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).

6

Page 7: Android course (lecture1)

7

Page 8: Android course (lecture1)

8

Page 9: Android course (lecture1)

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

9

Page 10: Android course (lecture1)

Android Architecture

Android system is composed of following

items:

Linux Kernel.

Libraries.

Applications Framework.

Applications.

10

Page 11: Android course (lecture1)

11

Page 12: Android course (lecture1)

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.

12

Page 13: Android course (lecture1)

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.

13

Page 14: Android course (lecture1)

Android Architecture (Cont’d)

Libraries

Media framework

PacketVideo, openCORE platform.

Support Audio, Video, Still-frame formats.

14

Page 15: Android course (lecture1)

Android Architecture (Cont’d)

Libraries

SQLite

Self-contained.

Serverless.

Zero-configuration.

SQL Database.

15

Page 16: Android course (lecture1)

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).

16

Page 17: Android course (lecture1)

Android Architecture (Cont’d)

Libraries

Surface Manager

Manages access to display subsystem.

Seamlessly composites graphic layers 2D/3D

layers from different applications.

17

Page 18: Android course (lecture1)

Android Architecture (Cont’d)

Libraries

SGL (Skia graphic library)

An underlying 2D graphics engine.

Used to draw text, geometries & images.

18

Page 19: Android course (lecture1)

Android Architecture (Cont’d)

Libraries

SSL (Secure Sockets Layer)

Cryptographic protocol to provide

information security over internet.

19

Page 20: Android course (lecture1)

Android Architecture (Cont’d)

Libraries

FreeType

Bitmap and vector font rendering.

20

Page 21: Android course (lecture1)

Android Architecture (Cont’d)

Android Runtime

Dalvik Virtual Machine

Provides application portability and runtime

consistency.

Runs optimized file format (.dex) and Dalvik

bytecode.

21

Page 22: Android course (lecture1)

22

Page 23: Android course (lecture1)

Android Architecture (Cont’d)

Android Runtime

Core Libraries

Data structures

File Access

Graphics

Network Access

Utilities

23

Page 24: Android course (lecture1)

Android Architecture (Cont’d)

Applications Framework

Activity Manager

Interact with overall activities running in the

system.

Manage lifecycle of activities.

Manage stacking of activities.

24

Page 25: Android course (lecture1)

25

Page 26: Android course (lecture1)

Android Architecture (Cont’d)

Applications Framework

Window Manager

Dispatch input events to clients.

Transition animation.

Create layout/surfaces (using

SurfaceManager).

26

Page 27: Android course (lecture1)

Android Architecture (Cont’d)

Applications Framework

Content Providers

Manage access to structured access of data.

Mainly used for data sharing purposes.

27

Page 28: Android course (lecture1)

28

Page 29: Android course (lecture1)

Android Architecture (Cont’d)

Applications Framework

View System

Basic building block for UI components.

Can be extended to build custom UI

components.

29

Page 30: Android course (lecture1)

Android Architecture (Cont’d)

Applications Framework

Package Manager

Provides methods for querying and

manipulating installed packages.

30

Page 31: Android course (lecture1)

Android Architecture (Cont’d)

Applications Framework

Telephony Manager

Provides access to telephony services on

android.

Can monitor telephone state changes.

31

Page 32: Android course (lecture1)

Android Architecture (Cont’d)

Applications Framework

Location Manager

Provide access to system location services.

Able to track location periodically or one-

time.

32

Page 33: Android course (lecture1)

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.

33

Page 34: Android course (lecture1)

Android Architecture (Cont’d)

Applications Framework

Notification Manager

Notify users about events.

34

Page 35: Android course (lecture1)

35