VINOTH GEORGE.C
B.Tech (IT)
1. Introduction
What is Android?
•
A software platform and open source operating system for
mobile devices
•
Based on the Linux kernel(2.6)
•
Developed by Google and later the Open Handset
Alliance (OHA)
•
Allows writing managed code in the Java language
•
Possibility to write applications in other languages and
compiling it to ARM native code
•
Unveiling of the Android platform was announced on 5
November 2007 with the founding of OHA
2. Smart Phone OS
Symbian
Windows Mobile
RIM Blackberry OS
Apple
iOS
Google Android
Palm
WebOS
Windows Phone 7
What is the Open Handset Alliance (OHA)?
→
It's a consortium of several companies. Comprises
handset manufacturers, software firms, mobile operators,
and other manufactures and funding companies
•
Devoted to advancing open standards for mobile devices
•
Develop technologies that will significantly lower the cost
of developing and distributing mobile devices and services
Android Software Updates
•
Android 1.0
–
G1
•
1.5
–
Cupcake
•
1.6
–
Donuts (CDMA support)
•
2.0
–
Éclair (Droid introduced with Éclair)
•
2.2
–
Froyo
•
2.3 Gingerbread (SDK released 2 weeks ago and source
will follow soon)
•
API Levels used by apps to identify software version on
the device
•
Android apps are generally forward compatible with
newer version, but not necessarily backwards
compatible
3. Features
•
software stack for mobile devices
–
incl. OS, middleware and key applications
•
Open source
–
source code is open and contributions are
welcome
•
application framework enabling reuse/replacement of apps
•
Dalvik
virtual machine optimized for mobile
•
integrated browser based on
webkit
•
Optimized graphics
–
2D graphics library, 3D based on OPEN
GL ES
•
SQLite
for data storage(RDBMS)
•
Media support (MPEG4, H.264, MP3, AAC, JPG, PNG,…)
•
Support for radio interfaces, Bluetooth,
WiFi
, 3G, 4G, EDGE,
GPRS Camera, GPS, accelerometer
•
Software Development Kit (SDK)
•
Preinstalled applications from Google (GMS)
–
Gmail, Maps, Search, Voice Search,
Youtube
•
User interface controls and widgets
•
User interface layout
•
Secure networking and web browsing
•
Structured storage and relational databases (SQLite RDBMS)
•
2D and 3D Graphics SGL and OpenGL
•
Audio and visual media support
•
Access to optional hardware (GPS)
4. Packages
Android makes mobile Java easier
Well, sort of…
2.1 Hardware
Android is not a single piece of hardware; it's a complete, end
-
to
-
end
software platform that can be adapted to work on any number of hardware
configurations. Everything is there, from the
bootloader
all the way up to the
applications.
2.2 Operating System(s)
•
Android uses Linux for its device drivers, memory management, process
management, and networking.
•
The next level up contains the Android native libraries. They are all
written in C/C++ internally, but you’ll be calling them through Java
interfaces. In this layer you can find the Surface Manager, 2D and 3D
graphics, Media
codecs
, the SQL database (
SQLite
), and a native web
browser engine (
WebKit
).
•
Dalvik
Virtual Machine.
Dalvik
runs
dex
files, which are
coverted
at
compile time from standard class and jar files.
•
All applications written in Java and converted to the
dalvik
executable .
dex
•
Every android app runs its own process, with its own instance
of the
dalvik
virtual machine
•
Not a traditional JVM, but a custom VM designed to run
multiple instances efficiently on a single device
•
VM uses
linux
kernel to handle low
-
level functionality incl.
security, threading, process and memory management
Dalvik
VM
Android is growing
Does not include iTouch or iPad, as not smartphones
Uneven distribution of OS by regions
Bruce Scharlau, University of Aberdeen, 2010
Android applications are
compiled to
Dalvik
bytecode
Write app in Java
Compiled in Java
Transformed to Dalvik bytecode
Linux OS
Loaded into Dalvik VM
Software Stack
•
Linux kernel
•
Libraries
•
Android run time
–
core libraries
–
Dalvik virtual machine
•
application layer
•
application protocol
Android Architecture
Android Application
Development
Eclipse IDE
Android
SDK
Android
Emulator
Android
Mobile
Device
Android development
Android
Manifest
Resource
XML
Java Source
Generated
Class
Java
Compiler
Android
Libraries
.dex
File
Dalvik
VM
2.3 Security
Android is a multi
-
process system, in which each application (and
parts of the system) runs in its own process. Most security between
applications and the system is enforced at the process level through
standard Linux facilities, such as user and group IDs that are
assigned to applications.
Additional finer
-
grained security features are provided through a
"permission" mechanism that enforces restrictions on the specific
operations that a particular process can perform, and per
-
URI
permissions for granting ad
-
hoc access to specific pieces of data.
2.4 Performance
3.1 Development requirements
•
Java
•
Android SDK
•
Eclipse IDE (optional)
Software Development
artesis
2008 |
20
3.2 IDE and Tools
Android SDK
•
Class Library
•
Developer Tools
dx
–
Dalvik Cross
-
Assembler
aapt
–
Android Asset Packaging Tool
adb
–
Android Debug Bridge
ddms
–
Dalvik Debug Monitor Service
•
Emulator and System Images
•
Documentation and Sample Code
Eclipse IDE + ADT (Android Development Tools)
•
Reduces Development and Testing Time
•
Makes User Interface
-
Creation easier
•
Makes Application Description Easier
3.3 Programming Language(s)
•
Java
–
officially supported
•
C/C++
–
also possible but not supported
Application Framework
•
Rich, extensible set of Views
–
apps can inclused lists, grids, text boxes, buttons, web browser
•
Content Providers
–
allows data access from other applications or share own data
•
Resource Manager
–
access to localized strings, graphics, layout files
•
Notification Manager
–
enables custom alerts to be displayed in status bar
•
Activity Manager
–
Manages lifecycle of applications and provides navigation backstack
Application Fundamentals
•
Activities
–
application presentation layer
•
Services
–
invisible components, update data sources, visible activities, trigger notifications
–
perform regular processing even when app is not active or invisible
•
Content Providers
–
shareable data store
•
Intents
–
message passing framework
–
broadcase messages system wide, for an action to be performed
•
Broadcast receivers
–
consume intent broadcasts
–
lets app listen for intents matching a specific criteria like location
•
Notifications
–
Toast notification
–
Status Bar Notification
–
Dialog notification
Client apps
•
Developed using the Android SDK and installed on user devices
•
Compiled Java code, with data and resource
–
bundled by Android
Asset Packaging tool (AAPT) into Android package or .apk
•
All applications have Android Manifest file in its root directory
–
provides essential information about app
•
Could be installed directly on phone, but necessary to be distributed
thru Market
Web Apps
•
An alternative to standalone apps
•
Developed using web standards and accessed through browser
–
nothing to install on devices
•
Mixing client and web apps is also possible
–
Client apps can
embed web pages using “Webview” in Android app
SDK
•
Android APIs, Full Documentation and Sample code
•
Development tools
–
Dalvik Debug Monitor Service (DDMS)
–
Android Debug Bridge (ADB)
–
Android Emulator
•
Online support and blog
•
Native Development Kit also available
–
allows developers to implement parts of apps in native
-
code
languages like C/C++
–
Plug in available to use Eclipse integrated development
environment
•
Developer forums and developer phones from Google, MOTO Dev
studio from Motorola
4.1 Advantages
There are a host of advantages that Google’s Android will derive from being an
open source software
. Some of the advantages include:
•
The ability for anyone to customize the Google Android platform
•
The consumer will benefit from having a wide range of mobile applications to
choose from since the monopoly will be broken by Google Android
•
Men will be able to customize a mobile phones using Google Android platform
like never before
•
Features like weather details, opening screen, live RSS feeds and even the
icons on the opening screen will be able to be customized
•
As a result of many mobile phones carrying Google Android, companies will
come up with such innovative products like the location
•
In addition the entertainment functionalities will be taken a notch higher by
Google Android being able to offer online real time multiplayer games
©
artesis
2008 |
28
4.2 Limitations
Bluetooth limitations
o
Android doesn't support:
Bluetooth stereo
Contacts exchange
Modem pairing
Wireless keyboards
But it'll work with Bluetooth headsets, but that's about it
Firefox Mobile isn't coming to Android
Apps in Android Market need to be programmed with a custom form of Java
→ Mozilla and the Fennec won't have that
4.3 Future possibilities
•
Google Android Sales to Overtake iPhone in 2012
•
The OHA is committed to make their vision a reality: to deploy the Android
platform for every mobile operator, handset manufacturers and developers to
build innovative devices
•
Intel doesn’t want to lose ownership of the netbook market, so they need to
prepare for anything, including Android
•
Fujitsu launched an initiative to offer consulting and engineering expertise to
help run Android on embedded hardware, which aside from cellphones, mobile
internet devices, and portable media players, could include GPS devices, thin
-
client computers and set
-
top boxes.
•
More Android devices are coming and some will push the envelope even further
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο