+ All Categories
Home > Documents > Eng.Ruba A. Salamahsite.iugaza.edu.ps/rsalamah/files/2015/02/Lecture1.pdf · Activity Manager...

Eng.Ruba A. Salamahsite.iugaza.edu.ps/rsalamah/files/2015/02/Lecture1.pdf · Activity Manager...

Date post: 22-May-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
26
Eng.Ruba A. Salamah ECOM 5341 Mobile Computing(Android) 1
Transcript

Eng.Ruba A. Salamah

ECOM 5341 Mobile Computing(Android)1

Lecture #1

Introduction

Mobile Application3

A mobile application, most commonly referred to as

an app, is a type of application software designed

to run on a mobile device, such as a smartphone or

tablet computer. Mobile applications frequently

serve to provide users with similar services to those

accessed on PCs. Apps are generally small,

individual software units with limited function .

What Is Android?4

Google’sAndy Rubin describes Android as:

The first truly open and comprehensive platform for mobile devices, all of the

software to run a mobile phone but without the proprietary obstacles that have

hindered mobile innovation.

5

“Android” specifically refers to a mobile operating system

(based on Linux) that is developed by Google. It is open-

source software, meaning that anyone can download the

source code and use or modify it.

Android was unveiled in 2007 with the founding of the Open

Handset Alliance (OHA).

The first publicly available smartphone running Android,

the HTC Dream, was released on October 22, 2008.

What Is Android?

OPEN HANDSET ALLIANCE6

A business alliance consisting of 47 companies to

develop open standards for mobile devices

OPEN HANDSET ALLIANCE

7

@2011 Mihail L. Sichitiu

8

Phones

HTC G1,Droid,Tattoo

Motorola Droid (X)

Suno S880 Samsung Galaxy Sony Ericsson

@2011 Mihail L. Sichitiu

9

Tablets

Velocity Micro Cruz Gome FlyTouch Acer beTouch

Dawa D7

Toshiba Android SmartBook

Cisco Android Tablet

Android is made up of several necessary and dependent parts :

10

A hardware reference design (support the software stack).

A Linux operating system kernel (low-level hardware interface).

Open-source libraries for application development.

A run time used to execute and host Android applications

including (DVM).

An application framework exposes system services to app layer.

A user interface framework.

Preinstalled applications.

A software development kit (SDK) used to creat apps.

Android Parts

NATIVE ANDROID APPLICATIONS

11

An e-mail client

An SMS management application

A full PIM (personal information management) eg. Calender

contact list.

A WebKit-based web browser

A music player and picture gallery

A camera and video recording application

A calculator

The home screen

An alarm clock

Data collected during a 14-day period ending on June 3, 2013

12

Why Android13

No certification is required to become an Android

developer.

Google Play provides free, up-front purchase, and in-

app billing options for distribution and monetization

of your applications.

There is no approval process for application

distribution.

Developers have total control over their brands.

Why Android14

Why Android15

Development Framework16

Android applications are written using Java as the

programming language but executed by means of a custom

VM called Dalvik, rather than a traditional Java VM.

The SDK

The Android SDK includes everything you need to start developing,

testing, and debugging Android applications with codes written

in Java

Native Development Kit also available (NDK)

allows developers to implement parts of apps in native-code languages like C/C++

Plug in available to use Eclipse integrateddevelopment environment

SDK17

Android APIs libraries, provide developers access tothe android stack

Development tools, let you compile and debug yourapplication to make it excutable.

The Android Virtual Device Manager and emulator,The emulator runs within an Android Virtual Device(AVD) that simulates a device hardware configuration.Using the emulator you can see how your applicationswill look and behave on a real Android device.

Full documentation

Sample code to demonstrate possibilities available

Android Architecture 18

Android Architecture

Application19

Android provides a set of core applications:

Email Client

SMS Program

Calendar

Maps

Browser

Contacts

Etc

All applications are written using the Java language.

Android Architecture

App Framework20

These are the blocks that our applications directly

interacts with. These programs manage the basic

functions of phone like resource management, voice

call management etc. As a developer, you just

consider these are some basic tools with which we

are building our applications.

Android Architecture

App Framework (continue..)21

The Android framework includes the following key

services

Feature Role

View System

Used to build an application, including lists, grids, textboxes, buttons, and embedded web browser

Content Provider

Enabling applications to access data from other applications or to share their own data

Resource Manager

Providing access to non-code resources (localized strings, graphics, and layout files)

Notification Manager

Enabling all applications to display customer alerts in the status bar

Activity Manager

Managing the lifecycle of applications and providing a common navigation backstack

Android Architecture

Libraries22

Including a set of C/C++ libraries used by

components of the Android system

Exposed to developers through the Android

application framework

Android Architecture

Runtime23

Core Libraries

Providing most of the functionality available in the core libraries of the Java language

APIs

Data Structures

Utilities

File Access

Network Access

Graphics

Etc

Android Architecture

Runtime (contiue..)24

Dalvik Virtual Machine

Providing environment on which every Android

application runs

Each Android application runs in its own process, with its own

instance of the Dalvik VM.

Dalvik has been written such that a device can run multiple

VMs efficiently.

Android Architecture

Runtime (contiue..)25

Dalvik Virtual Machine (Cont)

Executing the Dalvik Executable (.dex) format

.dex format is optimized for minimal memory footprint.

Compilation

Relying on the Linux Kernel for:

Threading

Low-level memory management

Android Architecture

Linex Kernel26

Relying on Linux Kernel 2.6 for core system services

Memory and Process Management

Network Stack

Driver Model

Security

Providing an abstraction layer between the H/W and the rest of the S/W st

ack


Recommended