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.