Download Lecture#1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
1
ECOM 5341 Mobile Computing(Android)
Eng.Ruba A. Salamah
Lecture #1
Introduction
Mobile Application
3

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’s Andy 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.
What Is Android?
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.
OPEN HANDSET ALLIANCE
6

A business alliance consisting of 47 companies to
develop open standards for mobile devices
OPEN HANDSET ALLIANCE
7
Phones
8
HTC G1,
Droid,
Tattoo
Suno S880
Motorola Droid (X)
Samsung Galaxy
@2011 Mihail L. Sichitiu
Sony Ericsson
Tablets
9
Velocity Micro Cruz
Dawa D7
Gome FlyTouch
Toshiba Android
SmartBook
@2011 Mihail L. Sichitiu
Acer beTouch
Cisco Android Tablet
Android Parts
10
Android is made up of several necessary and dependent parts :

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.
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
12
Data collected during a 14-day period ending on June 3, 2013
Why Android
13




No certification is required to become an Android
developer.
Google Play provides free, up-front purchase, and inapp 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 Android
14
Why Android
15
Development Framework
16


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
development environment
use
Eclipse
integrated
SDK
17





Android APIs libraries, provide developers access to
the android stack
Development tools, let you compile and debug your
application 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 applications
will look and behave on a real Android device.
Full documentation
Sample code to demonstrate possibilities available
Android Architecture
18
Android Architecture
Application
19

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 Framework
20

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, text
boxes, 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
Libraries
22
Including a set of C/C++ libraries used by
components of the Android system
 Exposed to developers through the Android
application framework

Android Architecture
Runtime
23

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 Kernel
26


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