Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 22

Introduction

to 
Android
 
Android
• An Open Handset Alliance (OHA) project
• Open software platform for mobile devices
• A complete stack – OS, Middleware, Applications
• Powered by Linux operating system
• Fast application development in Java
• Mobile Apps are apps or services that can be
pushed to a mobile device or downloaded and
installed locally.
Android

• Multiple applications, running simultaneously


• User may switch between running applications
• Background services
• Has access to wi-fi, phone state, audio settings,
external memory access.
Distributing Android apps
• Android Market
• Self-publish on your own web site
• Use a 3rd party application store
Linux Kernel
• Android relies on Linux version 2.6 for core system
services, acts as a layer between hardware and
software.

Manages the following:


• Security
• Memory management
• Process management
• Network stack
• Driver model.
Dalvik VM

• Not a Java VM

• Design constraints: slow CPU, little RAM

• Will run on OS without swap space

• On compiling .class files will be changed to .dex format

• The .dex format runs on the Dalvik platform.


Android applications are compiled
to Dalvik bytecode
Write
Write app
app in
in Java
Java
Compiled
Compiled in
in Java
Java

Transformed
Transformed to
to Dalvik
Dalvik bytecode
bytecode

Loaded
Loaded into
into Dalvik
Dalvik VM
VM

Linux OS

Bruce Scharlau, University of Aberdeen,


2010
Libraries
A set of C/C++ libraries used by various components of the
Android system.

Some of the core libraries are listed below:


• System C library - an implementation of the standard C system
library (libc), tuned for embedded Linux-based devices
• Media Libraries - the libraries support playback and recording
of many popular audio, video and image formats .
• Surface Manager - manages access to the display subsystem
and seamlessly composites 2D and 3D graphic
• LibWebCore - a modern web browser engine which powers
both the Android browser and an embeddable web view
• SGL - the underlying 2D graphics engine
• FreeType - bitmap and vector font rendering
• SQLite - a powerful and lightweight relational database
engine available to all applications
Application Framework
• Activity Manager :
Maintains the activities/screens of the applications
that are displayed
• Window Manager: Co-ordinates the orientation of phone, sensors etc.

• Content : Manages the data to be transferred between


Manager Activities / screens
• View System : Controls the various layouts, button
and UI level objects
• Notification : Deals with the display of AlertBox, Toast msgs.
Manager
• Telephony : Handles the process like call, sms, mms etc.
Manager
• Location : Uses Google Maps to access location related info
Manager
Network Connectivity

• It supports wireless communications using:

• GSM mobile-phone technology

• 3G

• 802.11 Wi-Fi networks

• Integrated Browser
Android has a working emulator

Bruce Scharlau, University of Aberdeen,


2010
Available Platforms
 Iphone (Cocoa FrameWork & Linux Based OS)
 Android (Android Java FrameWork and Linux
OS)
 Blackberry (Blackberry Java Framework and
Proprietary OS)
 Nokia (Symbian Framework and OS)
 Windows Mobile (Windows Mobile OS)
 Palm-OS (Palm Web-OS and Linux OS)
 Samsung & LG (Bada framework and Linux OS)
iPhone
Touchscreen interface, with several
patents
Full MacOSX instead of subset (half
a Gb)
Webbrowsing with most advanced
webbrowser to date on handheld
device (Safari)
App Store Business
Apple Tablet Market
© artesis 2008 | 13
iPhone Apps
Download iPhone SDK, if you are a Registered iPhone
Developer or enrolled in the iPhone Developer Program
SDK includes :
Xcode
IPhone simulator
Monitoring instruments
Interface builder

• loading an application onto devices is only possible after


paying a Apple Developer Connection membership fee of 99 $
(standard) or 299 $ (enterprise)
• => XCode demo : UDecide
Jailbreaking & Cydia
A jailbreak is the act of breaking out of a jail in UNIX-
like operating systems or bypassing digital rights
management (DRM). It is a specific form of privilege
escalation. In the context of the iPhone, it allows the
user to run arbitrarily defined code or applications,
bypassing Apple's code distribution mechanism (the
iTunes App Store and the iTunes Application).
Cydia is a package manager for installing unofficial
3rd-party applications on the iPhone
Among other things, this allows iPhone users to
bypass Apple's restrictions on certain kinds of
applications, such as launchers, custom wallpapers
(themes) and battery status apps
Android vs iPhone?
Statistics
Openness
iPhone Android

Open Source NO YES

Write anything you want NO YES

Device Homogeneity YES NO

© artesis 2008 | 18
The End

You might also like