Android course (lecture1)

Post on 02-Jul-2015

313 views 0 download

Transcript of Android course (lecture1)

Android

CourseAmira Elsayed Ismail

1

Agenda

• Why Learn Android?

• Prerequisites.

• Android History.

• What is Android?

• Android Architecture.

2

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

4

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

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

7

8

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

Android Architecture

Android system is composed of following

items:

Linux Kernel.

Libraries.

Applications Framework.

Applications.

10

11

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

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

Android Architecture (Cont’d)

Libraries

Media framework

PacketVideo, openCORE platform.

Support Audio, Video, Still-frame formats.

14

Android Architecture (Cont’d)

Libraries

SQLite

Self-contained.

Serverless.

Zero-configuration.

SQL Database.

15

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

Android Architecture (Cont’d)

Libraries

Surface Manager

Manages access to display subsystem.

Seamlessly composites graphic layers 2D/3D

layers from different applications.

17

Android Architecture (Cont’d)

Libraries

SGL (Skia graphic library)

An underlying 2D graphics engine.

Used to draw text, geometries & images.

18

Android Architecture (Cont’d)

Libraries

SSL (Secure Sockets Layer)

Cryptographic protocol to provide

information security over internet.

19

Android Architecture (Cont’d)

Libraries

FreeType

Bitmap and vector font rendering.

20

Android Architecture (Cont’d)

Android Runtime

Dalvik Virtual Machine

Provides application portability and runtime

consistency.

Runs optimized file format (.dex) and Dalvik

bytecode.

21

22

Android Architecture (Cont’d)

Android Runtime

Core Libraries

Data structures

File Access

Graphics

Network Access

Utilities

23

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

25

Android Architecture (Cont’d)

Applications Framework

Window Manager

Dispatch input events to clients.

Transition animation.

Create layout/surfaces (using

SurfaceManager).

26

Android Architecture (Cont’d)

Applications Framework

Content Providers

Manage access to structured access of data.

Mainly used for data sharing purposes.

27

28

Android Architecture (Cont’d)

Applications Framework

View System

Basic building block for UI components.

Can be extended to build custom UI

components.

29

Android Architecture (Cont’d)

Applications Framework

Package Manager

Provides methods for querying and

manipulating installed packages.

30

Android Architecture (Cont’d)

Applications Framework

Telephony Manager

Provides access to telephony services on

android.

Can monitor telephone state changes.

31

Android Architecture (Cont’d)

Applications Framework

Location Manager

Provide access to system location services.

Able to track location periodically or one-

time.

32

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

Android Architecture (Cont’d)

Applications Framework

Notification Manager

Notify users about events.

34

35