You are on page 1of 18

07CE050

ANDROID OS

WHAT IS ANDROID?
Android is the first free, open source, and fully customizable mobile platform.Android offers a full stack: an operating system, middleware, and key mobile applications. An important factor that sets Android apart from most other mobile operating systems is that it's based on an open source platform. That means Google allows anyone to look at and modify most of Android's source code through rich set of APIs. The first Google phone was the G1, a handset manufactured by a company based in Taiwan called the High Tech Computer Corporation (HTC). The first service provider to support Android in the United States was T-Mobile. Ideally, this would mean that if a developer felt Android needed a specific feature or capability, he or she could build it and incorporate it into the OS. The software would constantly evolve. The Android platform didn't support many of the features of other smartphone operating systems. For example, Android offered no Microsoft Exchange support upon release. Many companies use Microsoft Exchange as a platform for e-mail and scheduling applications. But because of the open source nature of Android and Google's support for third-party developers, it didn't take long before a company offered an application that would sync Exchange functions with the phone.

VVPEC

1

Each layer of the stack groups together several programs that support specific operating system functions. y y y y y Linux Kernel Libraries Android Runtime Application Framework Application VVPEC 2 .07CE050 ANDROID OS ANDROID ARCHITECTURE: The android architecture contains five parts: Google usually refers to the Android OS as a software stack.

security settings.It also includes WiFi drivers. Drivers are programs that control hardware devices.Keypad drivers. For example.etc. which includes Android's memory management programs. The Android kernel includes a camera driver.Audio driver. the HTC G1 has a camera.Memory management.07CE050 ANDROID OS LINUX KERNEL: The base of the stack is the kernel. which allows the user to send commands to the camera hardware. VVPEC 3 . power management software and several hardware drivers.Binder driver.6 OS to build Android's kernel. Google used the Linux version 2.Flash Memory drivers. The Linux Kernel supports Device drivers. security settings.

includes Core Libraries and Dalvik Virtual Machine.07CE050 ANDROID OS ANDROID RUNTIME: Core Libraries: Android runtime Located on the same level as the libraries layer. You can run a virtual machine on a computer that operates on a completely different OS than the physical machine's OS. VVPEC 4 . it simplifies memory management. The Android OS uses virtual machines to run each application as its own process. it shouldn't affect any other applications running on the device. First. Dalvik virtual machine: A virtual machine is a software application that behaves as if it were an independent device with its own operating system. Third. The Android runtime layer includes a set of core Java libraries -Android application programmers build their apps using the Java programming language. if an application crashes. no application is dependent upon another. That's important for a few reasons. Second.

Location manager. y Notification manager: A Notification Manager that enables all applications to display custom alerts in the status bar. This includes the programs that manage the phone's basic functions like resource allocation. Application developers have full access to Android's application framework. y Resource manager: A Resource Manager. y Window manager:Manages the display window of mobile. and layout files. or to share their own data.Package manager. telephone applications.ViewSystem.Resource manager. y Content Providers: Content providers enable applications to access data from other applications (such as Contacts). including lists. grids. switching between processes or programs and keeping track of the phone's physical location.These are explained below: y Activity manager: An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack. graphics. VVPEC 5 .Notification manager. available network.Window manager. This allows them to take advantage of Android's processing capabilities and support features when building an Android application.Content provider. Application framework support Activity manager. buttons. providing access to non-code resources such as localized strings. y Location manager:Manages the location of of the device. y View system: A rich and extensible set of Views that can be used to build an application.Telephony manager. incomming & outgoing calls¶ details. and even an embeddable web browser. y Telephony manager: Telephony manager manages the subscriber¶s detail. text boxes. y Pacakage manager: Manages the software packages installed and deleted from the mobile system.07CE050 ANDROID OS APPLICATION FRAMEWORK: The next layer is the application framework. Think of the application framework as a set of basic tools with which a developer can build much more complex tools.

MP3. the libraries use either hardware 3D acceleration (where available) or the included.a powerful and lightweight relational database engine available to all applications. y y VVPEC 6 .based on PacketVideo's OpenCORE. the libraries support playback and recording of many popular audio and video formats.07CE050 ANDROID OS LIBRARIES: Android includes a set of C/C++ libraries used by various components of the Android system.manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications LibWebCore . JPG. including MPEG4. These capabilities are exposed to developers through the Android application framework.a BSD-derived implementation of the standard C system y library (libc). AAC. AMR.0 APIs. tuned for embedded Linux-based devices y Media Libraries . Some of the core libraries are listed below: y System C library .bitmap and vector font rendering SQLite .264.a modern web browser engine which powers both the Android browser and an embeddable web view SGL .an implementation based on OpenGL ES 1. and PNG y y y y Surface Manager . H. highly optimized 3D software rasterizer FreeType . as well as static image files.the underlying 2D graphics engine 3D libraries .

calender.We can also modify the built. VVPEC 7 . This is where you find the basic functions of the device such as making phone calls.Some of the common appications are maps. accessing the Web browser and accessing your contacts list.It supports all the built in applications as well as we can Built application using Java Language.07CE050 ANDROID OS APPLICATIONS: At the top of the stack are the applications themselves.etc.

including sample applications and a phone emulator. That's three activities. let's say you are participating in a Softrace event. VVPEC 8 . a map application could have a basic map screen. he or she can test it out on the emulator to see how the app will perform on actual hardware. If Softrace were simply an activity. he or she can download the software developer kit (SDK) and get started. you decide you want to listen to music as you burn up the track. When the developer finishes building an application. Android also allows for broadcast intent receivers. a developer has to be familiar with the Java programming language. Midway through the race. The SDK gives the developer access to Android's application programming interface (API). Google even provides step-by-step instructions on how to build an application named Hello World to give developers the chance to become familiar with Android's architecture. Assuming the developer is proficient in Java. which are intents triggered by external events like moving to a new location or an incoming phone call. They include Android's graphics rendering engine. You can switch over to a media player application and start a song while Softrace continues to track your progress. user interface support and other technical details. Emulators are programs that duplicate the features and functions of a specific system or device. a trip planner screen and a route overlay screen. process management software. an intent would interpret your input and activate the route overlay screen. The Android emulator is a program that duplicates the functions of a phone running on the Android platform. This allows developers to work together to create a suite of applications that are more robust and complex than each individual component. Google breaks down all applications into four basic building blocks building block: y Activities: Whenever an application displays a screen to the user. The company even provides tips on basic programming steps like testing and debugging software. If you were to plot a trip using our example of the mapping application. that's an activity. Experienced developers can skip over the tutorial and go straight to building an application. Google provides an extensive Android tutorial on its developer Web site. For example.07CE050 ANDROID OS BUILDING ANDROID APPLICATION: To build an Android application. y Content provider: A content provider allows an application to share information with other applications. The SDK includes several tools. y Services: A service is a program that runs on its own without a user interface. There are other considerations developers must keep in mind while building applications. you would have ended the application as soon as you switched to the media player. For example. y Intents: Intents are the mechanisms for moving from one activity to another.

You take a picture of the item's bar code with the phone's camera. y Rotary Dialer: If you bored of your traditional touch button keypad? Roll back the years and download this retro Rotary Dialer for Android. y Compare everywhere & Go cart: CompareEverywhere and GoCart are two different applications that let you compare prices and read reviews for merchandise while you're in the store. So you can always find where you are. friends. your phone VVPEC 9 . Movie Theaters. Once you create the settings for each location. On the home screen search widget. Whenever You Want. You¶ll see distance and directions to the destination. via your mobile you need to signup for a premium membership. And if GPS reading is temporarily unavailable. For example. Online the service is free. y Voice Search: You can start searching by voice with just the touch of a button. y Locale: Locale is an application that taps into Android's GPS support. y Spotify: Spotify is a digital music service that gives you access to millions of songs. These applications identify the item and aggregate reviews and prices from different sources. y Place Directory: Places Directory allows you to browse nearby places in categories like Restaurants. and if you tap on the listing. you can just look at your phone and see your favorite hotspots. events. and Facebook friends near you. you identify various locations you frequent using Google Maps. You can also call the business or view its location on Google Maps. you create a list of phone settings for each location. and then say your query. you will receive ratings and photos. y Google Maps: Google Maps on Android uses the built-in GPS to show your location on the map. Instead of having to search. You¶ll soon see search results formatted for the Android browser.07CE050 ANDROID OS ANDROID APPLICATIONS: y Aloqa: Aloqa is a mobile service that proactively notifies you of interesting places. look for the microphone button right next to the search box and the search button. events of interest. at work or in class you'd probably want your phone's ring tone to be appropriate and at a low volume. and recommended bargains close by. wait for the ³Speak now´ prompt. Hotels and Banks. Wherever You Are. First. Then. My Location shows your approximate location on the map. Press that button.

07CE050 ANDROID OS automatically switches to the proper setting based on your current location. begin the race and try to make the best time. VVPEC 10 . you never have to worry about silencing your phone when you walk into your favorite movie theater! y Softrace: The developers of the Softrace application wanted to build a program that inspires people to maintain an active lifestyle. They can compare their results with those of other participants. Softrace lets people set up footraces. Participants can travel to a race destination. bicycle races and other competitions using the Google Maps function. Using Locale.

Bluetooth. GIF.memory and performance profiling. and WiFi y Additional hardware support: Camera. and still image formats like MPEG4. AMR. VVPEC 11 .07CE050 ANDROID OS ANDROID FEATURES: y Application framework enabling reuse and replacement of components y Dalvik virtual machine optimized for mobile devices y Integrated browser based on the open source WebKit engine -Optimized graphics powered by a custom 2D graphics library. compass. and accelerometer y Development environment :Rich development environment including a device emulator. 3G.0 specification (hardware acceleration optional) y SQLite-Advances database for structured data storage y Media support. EDGE. tools for debugging. JPG. H.for common audio. y Connectivity-GSM Telephony . and a plugin for the Eclipse IDE. 3D graphics based on the OpenGL ES 1.264. PNG. video. MP3. AAC. GPS.

y Offline Integration with Google Apps: You can access mobile versions of most Google applications on an iPhone. With Android. This feature limits the types of applications developers can build for the iPhone. you can easily swipe between programs. the iPhone is a multitasking weakling (somewhat ironic. but it can't do a lot at once. Apple limits iPhone applications to the foreground -if you switch to a different application. and should allow the G1 to compete when it comes to touch sensitivity. Enter dates into your phone. And while you can easily set an iPhone to sync up with calendars such as Google's there is a beautiful simplicity with the way Android replicates the online programs you are used to offline.07CE050 ANDROID OS COMPARISION WITH OTHER OS: IPHONE VS ANDROID: y Background supported: Android sets it apart from the iPhone -. y No Multitouch: The G1 uses a capacitive touchscreen. it loses out on the huge amount of functionality (and coolness) that comes from the iPhone's ability to sense two fingers at once. Perhaps it will motivate Apple to finally bring that feature to the iPhone. it will just take forever for them to do anything. it must be noted that it is still to be seen what sort of effect this will have on the phone's memory and performance.developers can create complex applications that run in the background of other applications. in areas where you don't have service. VVPEC 12 . The perils of mobile multitasking are among the chief problems with Windows Mobile . the first application you were in stops working until you return to it. However. The Android phone's calendar is an offline version of the much-loved Google Calendar online application. and they automatically show up on your online calendar. Android allows developers more extensive access to background processes. considering the fact that Apple's Macintosh computers were desktop multitasking pioneers). This is the same highly sensitive type of screen found on the iPhone (most touchscreen phones use mostly inferior resistive touchscreens). y Multitasking and Copy and Pasting: The iPhone can do a lot. While the G1 attempts to make up for it by utilizing "longtouches" to bring up deep menus.which can run in the background while you do just about anything. With the exception of the iPod music-playing program. but with a few exceptions (such as the Google Maps application) you'll need to do it through the Web. But the G1 does not have the iPhone's multitouch capability. where you can certainly load up a ton of applications simultaneously. It must be noted that we really do appreciate that Android allows you to copy and paste text.

y Security: In Andriod Each process runs as its own user.while in Symbian C++ is used.07CE050 ANDROID OS SYMBIAN VS ANDROID: y API Language used: Android uses Java language. Unclear how this prevents access to certain APIs that could do destructive things.while in Symbian kernel is proprietary. Applications must be certified and are then signed such that they cannot access APIs beyond their capabilities.While in Symbian Processes have capabilities and can only access APIs appropriate to their capabilities. y Kernel: Android uses Linux kernel with minor changes.Symbian uses J2ME also but for the subset of applations. VVPEC 13 . y Debuuging/Investigation tools: In Android standard UNIX tools while in Symbian not a lot.

This negatively impacts performance and battery life. but according to Google. y Although a Native Development Kit does exist. This specific modification makes it difficult to reuse existing Linux applications or libraries on Android. to give the user this capability. i. It does not have a native X Window System. VVPEC 14 . For these reasons ARM and Real have expressed doubt that it will gain a major market share as a netbook OS. y Android is criticized for its multitasking abilities and the lack of a significant driver base. Current Android products such as the HTC Dream and Magic have limited onboard memory and many users feel restricted by this lack of functionality. however.07CE050 ANDROID OS CRITISISM: y Android uses Linux as its kernel. Several unsupported modifications exist. Consequently Android applications must be largely written in Java. it is not a conventional Linux distribution. This prevents compatibility among Java applications written for those platforms and those for the Android platform. Java SE and ME. an SD card. it does not allow access to any of the phone's hardware. y Android does not use established Java standards. y Android does not officially allow apps to be installed on. nor run from.e. but does not provide the full-class libraries and APIs bundled with Java SE or ME. Android only reuses the Java language syntax. nor does it support the full set of standard GNU libraries like its system libraries (GNU C Library).

even the dialer or home screen can be replaced. VVPEC 15 . y All applications are equal . y Fast and easy development .The SDK contains what you need to build and run Android applications. y Breaking down boundaries .such as contacts or geographic location -.Android does not differentiate between the phone's basic and thirdparty applications -.Combine information from the web with data on the phone -. including a true device emulator and advanced debugging tools.07CE050 ANDROID OS ADVANTAGES: y Open .to create new user experiences.Android allows you to access core mobile device functionality through standard API calls.

y Login .07CE050 ANDROID OS DISADVANTAGES: y Security .Platform doesn't run on an encrypted file system and has a vulnerable log-in.Making source code available to everyone inevitably invites the attention of hackers.Google¶s dependence on hardware and carrier partners puts the final product out of their control. y Open Source . VVPEC 16 . y Incompetence .A disadvantage of open-source development is that anyone can scrutinize the source code to find vulnerabilities and write exploits.

and Android may well find itself competing against the forthcoming Nokia touch screen phones and maybe even the iPhone. Obviously. VVPEC 17 . The first Android based official devices may well be launched sometime in the early half of 2009. Software installed by end-users must be written in Java. and some believe this is so that Google can control the platform. This provides end-users with less control over their phone's functionality than other free and open source phone platforms. architect the solution for participation and the developers will not only come but will play well together. and will not have access to lower level device APIs. that's an age away when it comes to handset design.07CE050 ANDROID OS CONCLUSION: Android has been criticized for not being all open-source software despite what was announced by Google. With all upcoming applications and mobile services Google Android is stepping into the next level of Mobile Internet. Android participates in many of the successful open source projects. This is notable contrast with Apple and other companies. Parts of the SDK are proprietary and closed source. where such architecture of participation is clearly belated. That is. such as OpenMoko.

Open Handset Alliance Webpage 4.Android Official Webpage 2.org/wiki/Android_(mobile_phone_platform)±Wikipedia Information 6.android.com/android/ .com . http://en.androidwiki. http://code. http://en.com/ .com ± Android Wiki 5. http://www.wikipedia. http://en. http://www.07CE050 ANDROID OS REFERENCES: 1.wikipedia.org/wiki/SQLite 7.wikipedia.google.Official Android Google Code Webpage 3.org/wiki/WebKit VVPEC 18 . http://www.openhandsetalliance.