Vous êtes sur la page 1sur 21

ABSTRACT

The unveiling of the Android platform on was announced with the


founding of the Open Handset Alliance, a consortium of 48 hardware, software,
and telecom companies devoted to advancing open standards for mobile devices.
Google has made most of the Android platform available under the Apache free-
software and open source license.
Android is a freel downloadable open source software stac! for
mobile devices that includes an operating sstem, middleware and !e applications
based on "inu# and $ava.
Google developed Android collaborativel as part of the Open
Handset Alliance, a group of more than %& mobile and technolog companies
wor!ing to open up the mobile handset environment. Android's development !it
supports man of the standard pac!ages used b $ett, and so, due to that fact and
$ett's modularit and lightweight footprint, it was possible to port $ett to it so that
it will be able to run on the Android platform.
This paper on Android deals with the histor of the Android, the
earl prototpes, basic building bloc!s of an android application and the features of
the android.

CONTENTS
1. INTRODUCTION
2. FETURES OF ANDROID
3. BUILDING BLOCKS
4. HARDWARE AND SOFTWARE RUNNING ANDROID
5. STORING, RETREIVING AND EXPOSING DATA
6. SECURITY AND PERISSIONS IN ANDROID
!. SYSTE ARCHITECTURE
". APPLICATIONS DEVELOPED ON ANDROID PLATFOR
#. CONCLUSION
1$. REFERENCES
INTRODUCTION
Android is a software platform and operating sstem for mobile devices,
based on the "inu# !ernel, and developed b Google and later the Open Handset
Alliance. (t allows developers to write managed code in the $ava language,
controlling the device via Google-developed $ava libraries. Applications written in
) and other languages can be compiled to A*+ native code and run, but this
development path isn't officiall supported b Google.
Android is available as open source. Google threw open the entire
source code ,including networ! and telephon stac!s- that were not available
previousl, under an Apache license. )ertain parts that relate to a specific hardware
can't be made open and are not considered part of the Android platform. .ith
Apache "icense, vendors are free to add proprietar e#tensions without submitting
those bac! to the open source communit. .hile Google's contributions to this
platform are e#pected to remain open-sourced, the branches could e#plode using
varieties of licenses.
FEATURES OF ANDROID
H%&'()* +%,-.*( Android can adapt to traditional smart phone laouts, as
well other /GA, 01, and %1 graphics libraries.
S*-/%0) Android uses 23"ite to store all its 4un!-- ( mean, information.
C-&&)1*232*, Android supports a wide variet of technologies, including
5luetooth, .i6i, G2+781G8, and 8/-1O.
)((%02&0 ++2 and 2+2 are available for Android, as well as threaded
te#t messaging. 2o ou can send as man te#ties as ou li!e.
W)4 B/-5()/ Android comes pre-loaded with the .eb 9it application.
*emember, if ou don't li!e it, ou can alwas switch it out for something
else later on than!s to the open source nature of the Google Android
bac!end.
6%3% V2/*.%+ %172&) 2oftware ou write in $ava can be compiled in
1alvi! 5te codes ,sa that five times fast. ( !eep ending up with :1anish
light bulb:.- These can then be put into a 1alvi! /irtual +achine. 5asicall
more robust applications are supported than on some other +obile
Operating 2stems.
)'2% S.88-/* Android supports a wide range of audio, video, media, and
still formats. +;8G-4, OGG, and AA) are 4ust a few of these.
<nfortunatel the +edia ;laer as its !nown right now is prett basic,
although more robust offerings on are the hori=on from %rd ;art
developers.
A''2*2-&%+ H%/'5%/) S.88-/* Got a touch screen ou want to put to its
full use> ?o problem. Android is capable of utili=ing outside hardware li!e
G;2, accelerometers, and all that other fun stuff.
BUILDING BLOCKS
There are four building bloc!s to an Android application@
A1*232*,
B/-%'1%(* I&*)&* R)1)23)/
S)/321)
C-&*)&* P/-32')/
A1*232*,
Activities are the most common of the four Android building bloc!s. An
activit is usuall a single screen in our application. 8ach activit is implemented
as a single class that e#tends the A1*232*, 4%() 1+%((. Aour class will displa a user
interface composed of /iews and respond to events. +ost applications consist of
multiple screens. 6or e#ample, a te#t messaging application might have one screen
that shows a list of contacts to send messages to, a second screen to write the
message to the chosen contact, and other screens to review old messages or change
settings. 8ach of these screens would be implemented as an activit. +oving to
another screen is accomplished b a starting a new activit. (n some cases and
activit ma return a value to the previous activit -- for e#ample an activit that
lets the user pic! a photo would return the chosen photo to the caller.
I&*)&* %&' I&*)&* F2+*)/(
Android uses a special class called (ntent to move from screen to screen.
(ntent describes what an application wants done. The two most important parts of
the intent data structure are the action and the data to act upon. Tpical values for
action are +A(? ,the front door of the application-, /(8., ;()9, 81(T, etc. The
data is e#pressed as a <*(. 6or e#ample, to view contact information for a person,
ou would create intent with the /(8. action and the data set to a <*(
representing that person.
There is a related class called an (ntent 6ilter. .hile an intent is effectivel
a reBuest to do something, an intent filter is a description of what intents an activit
,or 5roadcast *eceiver, see below- is capable of handling. An activit that is able
to displa contact information for a person would publish an (ntent 6ilter that said
that it !nows how to handle the action /(8. when applied to data representing a
person. Activities publish their (ntent 6ilters in the A&'/-2'%&29)(*.:;+ file.
.
The new activit is informed of the intent, which causes it to be launched. The
process of resolving intents happens at run time when start Activit is called,
which offers two !e benefits@
Activities can reuse functionalit from other components simpl b ma!ing
a reBuest in the form of an (ntent
Activities can be replaced at an time b a new Activit with an eBuivalent
(ntent 6ilter
B/-%'1%(* R)1)23)/<
Aou can use a 5roadcast *eceiver when ou want code in our
application to e#ecute in reaction to an e#ternal event, for e#ample, when the
phone rings, or when the data networ! is available, or when it's midnight.
5roadcast *eceivers do not displa a <(, although the ma use the ?otification
+anager to alert the user if something interesting has happened. 5roadcast
*eceivers are registered in Android+anifest.#ml, but ou can also register them
from code using C-&*):*./)02(*)/R)1)23)/ =>. Aour application does not have to
be running for its 5roadcast*eceivers to be calledC the sstem will start our
application, if necessar, when a 5roadcast*eceiver is triggered. Applications can
also send their own intent broadcasts to others with C-&*):*.()&'B/-%'1%(* =>.

S)/321)<
A S)/321) is code that is long-lived and runs without a <(. A good e#ample
of this is a media plaer plaing songs from a pla list. (n a media plaer
application, there would probabl be one or more activities that allow the user to
choose songs and start plaing them. However, the music plabac! itself should
not be handled b an activit because the user will e#pect the music to !eep
plaing even after navigating to a new screen. (n this case, the media plaer
activit could start a service using C-&*):*.(*%/*S)/321) => to run in the
bac!ground to !eep the music going. The sstem will then !eep the music
plabac! service running until it has finished. ?ote that ou can connect to a
service ,and start it if it's not alread running- with the C-&*):*.42&'S)/321) =>
method. .hen connected to a service, ou can communicate with it through an
interface e#posed b the service. 6or the music service, this might allow ou to
pause, rewind, etc.
C-&*)&* P/-32')/<
Applications can store their data in files, an 23"ite database, or an
other mechanism that ma!es sense. A content provider, however, is useful if ou
want our application's data to be shared with other applications. A content
provider is a class that implements a standard set of methods to let other
applications store and retrieve the tpe of data that is handled b that content
provider.
?ot ever application needs to have all four, but our application will be written
with some combination of these.
All the components needed for android application should listed in an
#ml file called Android+anifest.#ml. This is an D+" file where ou declare the
components of our application and what their capabilities and reBuirements are.
HARDWARE AND SOFTWARE RUNNING ANDROID
H%/'5%/) /.&&2&0 A&'/-2'
The Android O2 can be used as an operating sstem for cell phones, net
boo!s and tablet ;)s, including the 1ell 2trea!, 2amsung Gala# Tab and other
devices.
The world's first T/ running Android, called 2candinavia, has also been
launched b the compan ;eople of "ava.
The first commerciall available phone to run the Android operating sstem
was the HT) 1ream, released on 00 October 0&&8.
G--0+)?( 9+%0(728 (;%/* 87-&)(
Android phones that are sold and mar!eted b Google.
?e#us One manufactured b HT)
?e#us 2 manufactured b 2amsung
S-9*5%/) ')3)+-8;)&*<

8arl Android device.
The earl feedbac! on developing applications for the Android platform
was mi#ed.
EF8G
(ssues cited include bugs, lac! of documentation, inadeBuate 3A
infrastructure, and no public issue-trac!ing sstem. ,Google announced an issue
trac!er on H8 $anuar 0&&8.-
EFIG
(n 1ecember 0&&F, +erge"ab mobile startup
founder Adam +ac5eth stated, "Functionality is not there, is poorly documented
or just doesn't work... It's clearly not ready for prime time." 1espite this, Android-
targeted applications began to appear the wee! after the platform was announced.
The first publicl available application was the 2na!e game.
E8HGE80G
The Android 1ev
;hone is a 2(+-unloc!ed and hardware-unloc!ed device that is designed for
advanced developers. .hile developers can use regular consumer devices
purchased at retail to test and use their applications, some developers ma choose
not to use a retail device, preferring an unloc!ed or no-contract device.
S-9*5%/) ')3)+-8;)&* @2*
The Android software development !it ,219- includes a comprehensive set
of development tools.
E8%G
These include a debugger, libraries, a handset emulator
,based on 38+<-, documentation, sample code, and tutorials. )urrentl supported
development platforms include computers running "inu# ,an modern des!top
"inu# distribution-, +ac O2 D H&.4.I or later, .indows D; or later. The officiall
supported integrated development environment ,(18- is 8clipse ,currentl %.4 or
%.J- using the Android 1evelopment Tools ,A1T- ;lug-in, though developers ma
use an te#t editor to edit $ava and D+" files then use command line tools ,$ava
1evelopment 9it and Apache Ant are reBuired- to create, build and debug Android
applications as well as control attached Android devices ,e.g., triggering a reboot,
installing software pac!age,s- remotel-.
A preview release of the Android 219 was released on H0 ?ovember 0&&F.
On HJ $ul 0&&8, the Android 1eveloper )hallenge Team accidentall sent an
email to all entrants in the Android 1eveloper )hallenge announcing that a new
release of the 219 was available in a :private: download area. The email was
intended for winners of the first round of the Android 1eveloper )hallenge. The
revelation that Google was suppling new 219 releases to some developers and
not others ,and !eeping this arrangement private- led to widel reported frustration
within the Android developer communit at the time.
On H8 August 0&&8 the Android &.I 219 beta was released. This release
provided an updated and e#tended A;(, improved development tools and an
updated design for the home screen. 1etailed instructions for upgrading are
available to those alread wor!ing with an earlier release. On 0% 2eptember 0&&8
the Android H.& 219 ,*elease H- was released. 8nhancements to Android's 219
go hand in hand with the overall Android platform development. The 219 also
supports older versions of the Android platform in case developers wish to target
their applications at older devices. 1evelopment tools are downloadable
components, so after one has downloaded the latest version and platform, older
platforms and tools can also be downloaded for compatibilit testing.
Android applications are pac!aged in .ap! format and stored under
7data7app folder on the Android O2 ,the folder is accessible to root user onl for
securit reasons-. A;9 pac!age contains .de# files ,compiled bte code files called
1alvi! e#ecutable-, resource files, etc.
STORING,RETREIVING AND EXPOSING DATA
A tpical des!top operating sstem provides a common file sstem that an
application can use to store and read files that can be read b other applications.
Android uses a different sstem on Android, all application data are private to that
application. However, Android also provides a standard wa for an application to
e#pose its private data to other applications. This section describes the man was
that an application can store and retrieve data, e#pose its data to other applications,
and also how ou can reBuest data from other applications that e#pose their data.
Android provides the following mechanisms for storing and retrieving data@
P/)9)/)&1)( <
A lightweight mechanism to store and retrieve !e7value pairs of
primitive data tpes. This is tpicall used to store application
preferences.
F2+)( <
Aou can store our files on the device or on a removable storage
medium. 5 default, other applications cannot access these files.
D%*%4%()( <
The Android A;(s contain support for 23"ite. Aour application can
create and use a private 23"ite database. 8ach database is private to the
pac!age that creates it.
C-&*)&* P/-32')/( <
A content provider is a optional component of an application that
e#poses read7write access to an application's private data, sub4ect to
whatever restrictions it wants to impose. )ontent providers implement a
standard reBuest snta# for data, and a standard access mechanism for
the returned data. Android supplies a number of content providers for
standard data tpes, such as personal contacts.
N)*5-/@ <
1on't forget that ou can also use the networ! to store and retrieve data.
SECURITY AND PERISSIONS IN ANDROID
Android is a multi-process sstem, where each application ,and parts of the
sstem- runs in its own process. +ost securit between applications and the sstem
is enforced at the process level through standard "inu# facilities, such as user and
group (1s that are assigned to applications. Additional finer-grained securit
features are provided through a :permission: mechanism that enforces restrictions
on the specific operations that a particular process can perform, and per-<*(
permissions for granting ad-hoc access to specific pieces of data.
SYSTE ARCHITECTURE
A central design point of the Android securit architecture is that no
application, b default, has permission to perform an operations that would
adversel impact other applications, the operating sstem, or the user. This
includes reading or writing the user's private data such as contacts or e-mails,
reading or writing another application's files, performing networ! access, !eeping
the device awa!e, etc.
An application's process is a secure sandbo#. (t can't disrupt other
applications, e#cept b e#plicitl declaring the permissions it needs for additional
capabilities not provided b the basic sandbo#. These permissions it reBuests can
be handled b the operating in various was, tpicall b automaticall allowing or
disallowing based on certificates or b prompting the user. The permissions
reBuired b an application are declared staticall in that application, so the can be
!nown up-front at install time and will not change after that.
A88+21%*2-& S20&2&0<
All Android applications ,.ap! files- must be signed with a certificate whose
private !e is held b their developer. This certificate identifies the author of the
application. The certificate does not need to be signed b a certificate authorit@ it
is perfectl allowable, and tpical, for Android applications to use self-signed
certificates. The certificate is used onl to establish trust relationships between
applications, not for wholesale control over whether an application can be installed.
The most significant was that signatures impact securit is b determining who
can access signature-based permissions and who can share user (1s.
U()/ ID( %&' F2+) A11)((<
8ach Android pac!age ,.ap!- file installed on the device is given its own
uniBue "inu# user (1, creating a sandbo# for it and preventing it from touching
other applications ,or other applications from touching it-. This user (1 is assigned
to it when the application is installed on the device, and remains constant for the
duration of its life on that device.
U(2&0 P)/;2((2-&(<
A basic Android application has no permissions associated with it, meaning
it can not do anthing that would adversel impact the user e#perience or an data
on the device. To ma!e use of protected features of the device, ou must include in
our Android+anifest.#ml one or more A.()(B8)/;2((2-&C tags declaring the
permissions that our application needs.
The permissions provided b the Android sstem can be found at %&29)(*.
8)/;2((2-&. An application ma also define and enforce its own permissions, so
this is not a comprehensive list of all possible permissions.
A particular permission ma be enforced at a number of places during our
program's operation@
At the time of a call into the sstem, to prevent an application from
e#ecuting certain functions.
.hen starting an activit, to prevent applications from launching
activities of other applications.
5oth sending and receiving broadcasts, to control who can receive
our broadcast or who can send a broadcast to ou.
.hen accessing and operating on a content provider.
5inding or starting a service
D)1+%/2&0 %&' E&9-/12&0 P)/;2((2-&(<
To enforce our own permissions, ou must first declare them in our
Android+anifest.#ml using one or more A8)/;2((2-&C tags.
The A8/-*)1*2-& L)3)+C attribute is reBuired, telling the sstem how the
user is to be informed of applications reBuiring the permission, or who is allowed
to hold that permission, as described in the lin!ed documentation.
The A8)/;2((2-& G/-.8C attribute is optional, and onl used to help the
sstem displa permissions to the user. Aou will usuall want to set this to either a
standard sstem group ,listed in android.+anifest.permissionKgroup- or in more
rare cases to one defined b ourself. (t is preferred to use an e#isting group, as this
simplifies the permission <( shown to the user.
?ote that both a label and description should be supplied for the
permission. These are string resources that can be displaed to the user when the
are viewing a list of permissions ,android@label- or details on a single permission ,
android@description-. The label should be short, a few words describing the !e
piece of functionalit the permission is protecting. The description should be a
couple sentences describing what the permission allows a holder to do. Our
convention for the description is two sentences, the first describing the permission,
the second warning the user of what bad things can happen if an application is
granted the permission.
APPLICATIONS DEVELOPED ON ANDROID PLATFOR
(n 2eptember 0&&8, +otorola confirmed that it was wor!ing on hardware
products that would run Android.
Huawei Technologies is planning to launch smart phones that would run
Android in 3H 0&&I.
"enovo is wor!ing on an Android-based mobile phone that supports the
)hinese %G T1-2)1+A standard.
HT) is planning a :portfolio: of Android based phones to be released
summer of 0&&I.
2on 8ricsson is planning to release an Android based handset in the
summer of 0&&I.
2amsung plans to offer a phone based on GoogleLs Android operating
sstem in the second Buarter of 0&&I.
Gii?ii +ovit +ini is a (nternet device based on Google's Android operating
sstem
CONCLUSION
6inall we concluded that the Androids platform which has developed b
Google is going to pla ma4or role in +obile applications because as it is an open
source and it is also eas to develop mobile applications using Android as because
in order to develop these applications all the A;(s are available and these A;(s are
as same as 4ava A;(s which are eas to understand.
REFERENCES
"icenses Android Open Source Project. Open Handset Alliance .
http@77source.android.com7license . *etrieved on 00 October 0&&8.
Open Handset Alliance ,J ?ovember 0&&F-. (ndustr "eaders
Announce Open ;latform for +obile 1evices. ;ress release.
http@77www.openhandsetalliance.com7pressKHH&J&F.html . *etrieved on
J ?ovember 0&&F.
Google's Android parts was with $ava industr group.
http@77www.news.com78%&H-H%J8&K%-I8HJ4IJ-%I.html .
General Android http@77code.google.com7android7!b7general.htmlMc .
*etrieved on 0I August 0&&8.
?ative ) application for Android
http@77benno.id.au7blog70&&F7HH7H%7android-native-apps.

Vous aimerez peut-être aussi