Sie sind auf Seite 1von 37

ANDROID

1.INTRODUCTION
Back in 2008, when the Android phone was launched, the IT world quickly recognized it as an iPhone Killer. Though the demand for iPhone didnt decrease, the arrival of Android marked a revolution against the tyrant iPhone. Within the first 24 hours of Android market, 62 free applications were available, which is less than 10% of the number made available during the launch of Apples App store. With each update, Android OS has brought new and improved quality to mobile devices and better usability. According to NPSD group survey, Android OS smart phones ranked 2nd among all smart phones in the in the first quarter of 2010. Even if the hardware is basis of any device and those applications are designed to help people perform an activity but it is the operating system which manages both of these resources. There are plenty of operating systems available in the market for smart phones. But the one which is widely anticipated, open source operating system for mobile devices is none other than the Android Operating System. Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. Google Inc. purchased the initial developer of the software, Android Inc., in August, 2005, making Android Inc. a wholly-owned subsidiary of Google Inc. Android operating system is based upon a modified version of the Linux kernel, which is the most prominent examples of free and open source software. Google and other members of the Open Handset Alliance collaborated on Android's development and release. The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android.
College of Engineering, Poonjar

ANDROID

Canalys reported that in Q4 2010 the Android operating system was the world's best-selling Smartphone platform. Gartner reported that Android as an operating system grew 888.8% in 2010. Currently Android represents 31.2 percent of the U.S Smartphone market. Android has a large community of developers writing application programs. There are currently over 150,000 apps available for Android. Android Market is the online app store run by Google, though apps can also be downloaded from third party sites.

1.1FEATURES
The features of Android include: Application framework enabling reuse and replacement of components

Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based optional) on the OpenGL ES 1.0 specification (hardware acceleration

SQLite for structured data storage Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and Wi-Fi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

Google is doing with Android what IBM did with the PC and MS-DOS: it's making the platform available to all manufacturers. As happened with the PC, we believe that this model will result in much wider availability of handsets and a much larger user
College of Engineering, Poonjar

ANDROID

base. So, we will be learning the details about the Android Operating System in detail in the consequent chapters.

2. LITERATURE SURVEY
Android Inc. founded in 2003 Android, Inc. was founded in Palo Alto, California, United States in October, 2003 by Andy Rubin, Rich Miner, et al. to develop, in Rubin's words "...smarter mobile devices that are more aware of its owner's location and preferences." Key employees involved in the founding of Android Inc. include Andy Rubin, also the co-founder of Danger Inc., Andy McFadden, who worked with Rubin at WebTV, and Chris White, who led the design and interface of WebTV. Other crucial employees includes Richard Miner, a cofounder of Wildfire Communications, Inc. and former vice-president of Technology and innovation at Orange, and all those of whom brought considerable wireless industry experience to the company. Despite the obvious past accomplishments of the founders and early employees, Android Inc. operated secretively, admitting only that it was working on software for mobile phones. Android Inc. acquired by Google Google acquired Android Inc. in August, 2005, making Android Inc. a wholly-owned subsidiary of Google Inc. Key employees of Android Inc., including Andy Rubin, Rich Miner and Chris White, stayed at the company after the acquisition. Not much was known about Android Inc. at the time of the acquisition so many assumed that Google was planning to enter the mobile phone market with this move. Development accelerates At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the premise of providing a flexible, upgradable system. Google had lined up a series of

College of Engineering, Poonjar

ANDROID

hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part. Speculation about Google's intention to enter the mobile communications market continued to build through December 2006. Reports from the BBC and The Wall Street Journal noted that Google wanted its search and applications on mobile phones and it was working hard to deliver that. Print and online media outlets soon reported rumors that Google was developing a Google-branded handset.Some speculated that as Google was defining technical specifications, it was showing prototypes to cell phone manufacturers and network operators. In September 2007, InformationWeek covered an Evalueserve study reporting that Google had filed several patent applications in the area of mobile telephony. Open Handset Alliance On the November 5, 2007 the Open Handset Alliance, a consortium of several companies which include Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, T-Mobile and Texas Instruments unveiled itself. The goal of the Open Handset Alliance is to develop open standards for mobile devices. On the same day, the Open Handset Alliance also unveiled their first product, Android, a mobile device platform built on the Linux kernel version 2.6. On December 9, 2008, 14 new members joined, including ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, PacketVideo, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group Plc.

3. BASICS ABOUT ANDROID 3.1 WHAT IS OPEN SOURCE?

College of Engineering, Poonjar

ANDROID

Most software that you buy or download only comes in the compiled ready-to-run version. Compiled means that the actual program code that the developer created, known as the source code, has run through a special program called a compiler that translates the source code into a form that the computer can understand. It is extremely difficult to modify the compiled version of most applications and nearly impossible to see exactly how the developer created different parts of the program. Most commercial software manufacturers see this as an advantage that keeps other companies from copying their code and using it in a competing product. It also gives them control over the quality and features found in a particular product. Open source software is at the opposite end of the spectrum. The source code is included with the compiled version and modification or customization is actually encouraged. The software developers who support the open source concept believe that by allowing anyone who's interested to modify the source code, the application will be more useful and error-free over the long term. To be considered as open source software by the software development industry, certain criteria must be met:

The program must be freely distributed. Source code must be included. Anyone must be allowed to modify the source code. Modified versions can be redistributed. The license must not require the exclusion of other software or interfere

with the operation of other software.

3.2 WHAT IS ANDROID? The term Android has its origin in the Greek word andr-, meaning man or male and the suffix - eides, used to mean alike or of the species. This together means as much as being human. Android is a software stack for mobile devices which means a reference to a set of system programs or a set of application programs that form a complete system.
College of Engineering, Poonjar

ANDROID

This software platform provides a foundation for applications just like a real working platform. It is easy to think of Android as being yet another operating system for high-end mobile phones. It is really a software platform, rather than just an OS, that has the potential to be utilized in a much wider range of devices. In practical terms, Android is an application framework on top of Linux, which facilitates its rapid deployment in many domains. A key to its likely success is licensing. Android is open source and a majority of the source is licensed under Apache2, allowing adopters to add additional proprietary value in the Android source without source distribution requirements. Another way to appreciate the significance of Android is to take a historical perspective. In the early days of PCs, the operating system was DOS. This presented some interesting challenges to application developers, as DOS provided a minimal number of services. The result was that every application needed a complete framework to provide the full functionality that was required. For example, a word processing program would need to have a driver for every imaginable printer. This was a major headache for developers and a serious ongoing maintenance problem. The solution came in the early 1990s with the release of Windows. Or, rather, the development of Windows 3.0. Although we think of Windows as being primarily a GUI, it really is much more than that. Nowadays, a word processor just talks to a logical printer. The manufacturer of the printer hardware simply needs to provide a Windows driver and everything works together properly. In some respects, a similar situation exists today when developers want to deploy Linux for embedded applications. Android is the enabler for a broad application developer base, a complete stack on top of the Linux kernel. 3.3 ANDROID HISTORY Although Android is quite new technology, it does have a history. It really began in 2005 when Google acquired Android Inc., which started rumors that Google had interests in mobile telephony. The Android product was announced, along with the formation of the Open Handset Alliance in 2007. The following year saw the first Android phone launched and the declaration of Android code as being open source.

College of Engineering, Poonjar

ANDROID

Even though Android was created for handsets, many developers began to see a great opportunity to develop other kinds of innovative devices on the Android platform. Significant optimizations and additions would be required, however, to optimize Android for other connected devices. Late in 2008, a company called Embedded Alley Solutions of San Jose, California, took on the challenge of moving Android beyond phones. In July 2009, Mentor Graphics Corporation acquired Embedded Alley. Another significant step along the Android history timeline.

3.4 FEATURES OF ANDROID: Features of Android are:

The platform is adaptable to larger, VGA, 2D graphics library, 3D Handset layouts graphics library based on OpenGL ES 2.0 specifications, and traditional smartphone layouts. SQLite, a lightweight relational database, is used for data storage purposes Android supports connectivity technologies including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, and WiMAX. SMS and MMS are available forms of messaging, including threaded Messaging text messaging and now Android Cloud to Device Messaging Framework (C2DM) is also a part of Android Push Messaging service. The web browser available in Android is based on the open-source Web browser WebKit layout engine, coupled with Chrome's V8 JavaScript engine. The browser scores a 93/100 on the Acid3 Test.

Storage

Connectivity

College of Engineering, Poonjar

ANDROID

While most Android applications are written in Java, there is no Java Virtual Machine in the platform and Java byte code is not executed. Java classes are compiled into Dalvik executables and run on the Dalvik Java support virtual machine. Dalvik is a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU. J2ME support can be provided via third-party-applications. Android supports the following audio/video/still media formats: WebM, Media support H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMRWB (in 3GP container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, BMP. RTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive download (HTML5 <video> tag). Adobe Flash Streaming (RTMP) and Streaming media support HTTP Dynamic Streaming are supported by the Flash 10.1 plugin. Apple HTTP Live Streaming is supported by RealPlayer for Mobile and planned to be supported by the operating system in Android 3.0 (Honeycomb). Microsoft Smooth Streaming is planned to be supported through the awaited port of Silverlight plugin to Android. Android Additional hardware support can use video/still cameras, touchscreens, GPS,

accelerometers, gyroscopes, magnetometers, proximity and pressure sensors, thermometers, accelerated 2D bit blits (with hardware orientation, scaling, pixel format conversion) and accelerated 3D graphics.

Development environment

Includes a device emulator, tools for debugging, memory and performance profiling. The integrated development environment (IDE) is Eclipse (currently 3.4 or greater) using the Android Development

College of Engineering, Poonjar

ANDROID

Tools (ADT) Plugin. The programming languages are Java and C/C++. The Android Market is a catalog of applications that can be downloaded and installed to Android devices over-the-air, without the use of a PC. Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. The feature was originally Multi-touch disabled at the kernel level (possibly to avoid infringing Apple's patents on touch-screen technology). Google has since released an update for the Nexus One and the Motorola Droid which enables multi-touch natively. Supports A2DP, AVRCP, sending files (OPP), accessing the phone book (PBAP), voice dialing and sending contacts between phones. Bluetooth Keyboard, mouse and joystick (HID) support is available through manufacturer customizations and third-party applications. Full HID support is planned for Android 3.0 (Honeycomb). The mainstream Android version does not support video calling, but some handsets have a customized version of the operating system which Video calling supports it, either via UMTS network (like the Samsung Galaxy S) or over IP. Video calling through Google Talk is planned for Android 3.0 (Honeycomb).

Market

Multitasking

Multitasking of applications is available.

Voice based Features

Google search through Voice has been available since initial release. Voice actions for calling, texting, navigation etc. are supported on Android 2.2 onwards.

College of Engineering, Poonjar

ANDROID

10

Android supports tethering, which allows a phone to be used as a Tethering wireless/wired hotspot. Prior to Android 2.2 this was supported by third-party applications or manufacturer customizations.

4. The Big Picture

College of Engineering, Poonjar

ANDROID

11

Figure 4.1 Android Architecture Lets start by taking a look at the overall system architecturethe key layers and components that make up the Android open source software stack..Each layer uses the services provided by the layers below it. Starting from the bottom, the following sections highlight the layers provided by Android.

4.1 Linux Kernel


Android is built on top of a solid and proven foundation: the Linux kernel. Created by Linus Torvalds in 1991, Linux can be found today in everything from wristwatches to supercomputers. Linux provides the hardware abstraction layer for Android, allowing Android to be ported to a wide variety of platforms in the future. Internally, Android uses Linux for its memory management, process management, networking, and other operating system services. The Android phone user will never see Linux, and your programs will not make Linux calls directly. As a developer, though, youll need to be aware its there. Some utilities you need during development interact

College of Engineering, Poonjar

ANDROID

12

with Linux. For example, the adb shell command1 will open a Linux shell in which you can enter other commands to run on the device. From there you can examine the Linux file system, view active processes, and so forth, subject to security restrictions.

4.2 Native Libraries


The next layer above the kernel contains the Android native libraries. These shared libraries are all written in C or C++, compiled for the particular hardware architecture used by the phone, and preinstalled by the phone vendor. Some of the most important native libraries include the following: Surface Manager: Android uses a compositing window manager similar to Vista or Compiz, but its much simpler. Instead of drawing directly to the screen buffer, your drawing commands go into off-screen bitmaps that are then combined with other bitmaps to form the display the user sees. This lets the system create all sorts of interesting effects such as see-through windows and fancy transitions. 2D and 3D graphics: Two- and three-dimensional elements can be combined in a single user interface with Android. The library will use 3D hardware if the device has it or a fast software renderer if it doesnt. Media codecs: Android can play video and record and play back audio in a variety of formats including AAC, AVC (H.264), H.263, MP3, and MPEG-4. SQL database: Android includes the lightweight SQLite database engine, the same database used in Firefox and the Apple iPhone. You can use this for persistent storage in your application. Browser engine: For the fast display of HTML content, Android uses the WebKit library.4 This is the same engine used in the Google Chrome browser, Apples Safari browser, the Apple iPhone, and Nokias S60 platform. These libraries are not applications that stand by themselves. They exist only to be called by higher-level programs. Starting in Android 1.5, you can write and deploy your own native libraries using the Native Development Toolkit (NDK).

4.3 Android Runtime

College of Engineering, Poonjar

ANDROID

13

Also sitting on top of the kernel is the Android runtime, including the Dalvik virtual machine and the core Java libraries. The Dalvik VM is Googles implementation of Java, optimized for mobile devices. All the code you write for Android will be written in Java and run within the VM. Dalvik differs from traditional Java in two important ways: The Dalvik VM runs .dex files, which are converted at compile time from standard .class and .jar files. .dex files are more compact and efficient than class files, an important consideration for the limited memory and battery-powered devices that Android targets. The core Java libraries that come with Android are different from both the Java Standard Edition (Java SE) libraries and the Java Mobile Edition (Java ME) libraries. There is a substantial amount of overlap, however.

4.4 Application Framework


Sitting above the native libraries and runtime, youll find the Application Framework layer. This layer provides the high-level building blocks you will use to create your applications. The framework comes preinstalled with Android, but you can also extend it with your own components as needed. The most important parts of the framework are as follows: Activity Manager: This controls the life cycle of applications and maintains a common backstack for user navigation. Content providers: These objects encapsulate data that needs to be shared between applications, such as contacts. Resource manager: Resources are anything that goes with your program that is not code. Location manager: An Android phone always knows where it is. Notification manager: Events such as arriving messages, appointments, proximity alerts, alien invasions, and more can be presented in an unobtrusive fashion to the user.

4.5 Applications and Widgets


The highest layer in the Android architecture diagram is the Applications and Widgets layer. Think of this as the tip of the Android iceberg. End users will see only these programs, blissfully unaware of all the action going on below the waterline. As an Android developer, however, you know better. Applications are programs that can take over the whole screen and interact with the user. On the other hand, widgets (which are
College of Engineering, Poonjar

ANDROID

14

sometimes called gadgets), operate only in a small rectangle of the Home screen application. When someone buys an Android phone, it will come prepackaged with a number of standard system applications, including the following: Phone dialer EmailS ALIVE! Contacts Web browser Android Market Using the Android Market, the user will be able to download new programs to run on their phone. Thats where you come in.

4.6 Advantages of Dalvik Virtual Machine


The Dalvik virtual machine is simple Java interpreter machine, completely optimized for Android platform and which is developed to run on low-end memory mobile devices. One of the prominent aspects in Dalvik is its capability to run along an application compilation enhancing the runtime performance of the applications. Dalvik is not exactly, a Java machine, because Dalvik could not read Java code, but consists its own byte code called dex and so the executable files compacted using Dalvik holds the file type name '.dex'. Google states that the credit for Androids successful development goes to Dalvik VM, because this type of virtual machine, delivers a good performance over various stages of an application runtime environment, conserving more battery-power during long run of an application.

College of Engineering, Poonjar

ANDROID

15

Fig.4.2 Conversion from .java to .dex file

A small drawback with Dalvik, is its none-compatibility with Java SE libraries, Java ME class libraries and Swing Java libraries, while they cannot be and need not to-be run directly on this virtual machine. It uses its own Apache Harmony Java implementation libraries. Despite of the earlier reason, its escalated Android's value proposition due to its minimal-electrical power consumption, vast library resources, and non-fragmentary application programming interface, unlike its Java rivals. Java related brands and trademarks are owned by Sun Micro Systems Inc., which is soon to be acquired by Oracle Corporation. Another significant fact that assures the open source status of Android, is that Sun Corp, cannot claim on the usage of Java-like programming language, since Android uses a Java Virtual execution environment developed by Google. So, there is are lot more opportunities than predicted.

5. Update history
Android has seen a number of updates since its original release. These updates to the base operating system typically fix bugs and add new features. Generally each update to the

College of Engineering, Poonjar

ANDROID

16

Android operating system is developed under a code name based on a dessert item. The code names are in alphabetical order.

1.0

Released 23 September 2008 On 9 February 2009, Android 1.1 update for Android was released for TMobile G1 Only. Included in the update were:

Multiple resolved issues API changes Maps adds details and reviews Screen timeout longer when using speakerphone "Show" & "Hide" Dialpad included in-call menu Support for saving attachments from MMS

1.1

Support for marquee in layouts On 30 April 2009, the official 1.5 (Cupcake) update for Android was released. There were several new features and UI updates included in the 1.5 update:

Ability to record and watch videos through camcorder mode Uploading videos to YouTube and pictures to Picasa directly from the phone A new soft-keyboard with text-prediction Bluetooth A2DP and AVRCP support Ability to automatically connect to a Bluetooth headset within a certain distance New widgets and folders that can populate the Home screens

1.5 (Cupcake) Based on Linux Kernel 2.6.27

Animated screen transitions 1.6 (Donut) On 15 September 2009, the 1.6 (Donut) SDK was released. Included in Based on the update were: Linux Kernel 2.6.29
College of Engineering, Poonjar

ANDROID

17

An improved Android Market experience An integrated camera, camcorder, and gallery interface Gallery now enables users to select multiple photos for deletion Updated Voice Search, with faster response and deeper integration with native applications, including the ability to dial contacts Updated search experience to allow searching bookmarks, history, contacts, and the web from the home screen Updated technology support for CDMA/EVDO, 802.1x, VPNs, and a text-to-speech engine Support for WVGA screen resolutions Speed improvements in searching and camera applications Gesture framework and GestureBuilder development tool

2.0 / 2.1 (Eclair) Based on Linux Kernel 2.6.29

Google free turn-by-turn navigation On 26 October 2009, the 2.0 (Eclair) SDK was released. Changes include:

Optimized hardware speed Support for more screen sizes and resolutions Revamped UI New Browser UI and HTML5 support New contact lists Better contrast ratio for backgrounds Improved Google Maps 3.1.2 Microsoft Exchange Server by Exchange ActiveSync 2.5 support Built in flash support for Camera Digital Zoom MotionEvent class enhanced to track multi-touch events Improved virtual keyboard Bluetooth 2.1 Live Wallpapers

College of Engineering, Poonjar

ANDROID

18

The 2.0.1 SDK was released on 3 December 2009. The 2.1 SDK was released on 12 January 2010. On 20 May 2010, the 2.2 (Froyo) SDK was released. Changes included:

General Android OS speed, memory, and performance optimizations Additional application speed improvements courtesy of JIT implementation Integration of Chrome's V8 JavaScript engine into the Browser application Increased Microsoft Exchange support (security policies, autodiscovery, GAL look-up, calendar synchronization, remote wipe) Improved application launcher with shortcuts to Phone and Browser applications USB tethering and Wi-Fi hotspot functionality Added an option to disable data access over mobile network Updated Market application with batch and automatic update features Quick switching between multiple keyboard languages and their dictionaries Voice dialing and contact sharing over Bluetooth Support for numeric and alphanumeric passwords Support for file upload fields in the Browser application Support for installing applications to the expandable memory Adobe Flash 10.1 support

2.2 (Froyo) Based on Linux Kernel 2.6.32 (2.2.2 latest release)

2.3 (Gingerbread) Based on Linux Kernel

Support for extra high DPI screens (320 dpi), such as 4" 720p On 6 December 2010, the 2.3 (Gingerbread) SDK was released. Changes included:

Updated user interface design

College of Engineering, Poonjar

ANDROID

19

2.6.35

Support for extra-large screen sizes and resolutions (WXGA and higher) Native support for SIP VoIP telephony Support for WebM/VP8 video playback, and AAC audio encoding New audio effects such as reverb, equalization, headphone virtualization, and bass boost Support for Near Field Communication System-wide copypaste functionalities Redesigned multi-touch software keyboard Enhanced support for native code development Audio, graphical, and input enhancements for game developers Concurrent garbage collection for increased performance Native support for more sensors (such as gyroscopes and barometers) A download manager for long-running downloads Improved power management and application control Native support for multiple cameras Switched from YAFFS to the ext4 file system

On 26 January 2011, a preview of the 3.0 (Honeycomb) SDK was released. Changes include:

Optimized tablet support with a new user interface Three dimensional desktop with redesigned widgets Refined multi-tasking Browser enhancements including tabbed web pages, form autofill, bookmark syncing with Google Chrome, and private browsing Support for video chat using Google Talk Hardware acceleration Support for multi-core processors

3.0 (Honeycomb)

College of Engineering, Poonjar

ANDROID

20

Ice Cream Sandwich

Possible mid-2011 release.

Now lets take a closer look at the life cycle of an Android application. Its a little different from what youre used to seeing.

6. Life Cycle
During its lifetime, each activity of an Android program can be in one of several states, as shown in Figure on the next page. You, the developer, do not have control over what state your program is in. Thats all managed by the system. However, you do get notified when the state is about to change through the onXX() method calls. You override these methods in your Activity class, and Android will call them at the appropriate time:

Fig 6.1 Activity Lifecycle

College of Engineering, Poonjar

ANDROID

21

onCreate(Bundle): This is called when the activity first starts up. You can use it to perform one-time initialization such as creating the user interface. onCreate( ) takes one parameter that is either null or some state information previously saved by the onSaveInstanceState() method. onStart( ): This indicates the activity is about to be displayed to the user. onResume( ): This is called when your activity can start interacting with the user. This is a good place to start animations and music. onPause( ): This runs when the activity is about to go into the background, usually because another activity has been launched in front of it. This is where you should save your programs persistent state, such as a database record being edited. onStop( ): This is called when your activity is no longer visible to the user and it wont be needed for a while. If memory is tight, onStop( ) may never be called (the system may simply terminate your process). onRestart( ): If this method is called, it indicates your activity is being redisplayed to the user from a stopped state. onDestroy( ): This is called right before your activity is destroyed. If memory is tight, onDestroy( ) may never be called (the system may simply terminate your process). onSaveInstanceState(Bundle): Android will call this method to allow the activity to save per-instance state, such as a cursor position within a text field. Usually you wont need to override it because the default implementation saves the state for all your user interface controls automatically. onRestoreInstanceState(Bundle): This is called when the activity is being reinitialized from a state previously saved by the onSave-InstanceState( ) method. The default implementation restores the state of your user interface. Activities that are not running in the foreground may be stopped, or the Linux process that houses them may be killed at any time in order to make room for new activities. This will be a common occurrence, so its important that your application be designed from the beginning with this in mind. In some cases, the onPause( ) method may be the last method called in your activity, so thats where you should save any data you want to keep around for next time.

College of Engineering, Poonjar

ANDROID

22

7. Comparison between Android, Symbian, And Windows OS


7.1 Criteria for comparison
Following are the criteria used when it comes to comparing the mobile operating systems: 7.1.1 Portability Portability is the characteristic of being transportable from one location to another. As to operating system for advanced mobile devices it means the possibility to use the operating system on every cell phone, no matter which brand or type. 7.1.2 Reliability Reliability is the ability of a system to perform its required functions under stated conditions for a specific period of time. 7.1.3 Connectivity Connectivity is the unbiased transport of packets between two end points. As to operating systems for advanced mobile devices it means the possibility to connect supported by the operating system like wireless, bluetooth or infrared. 7.1.4 Product diversity Product diversity is the difference, characteristic or feature which makes the product special. As to operating systems for advanced mobile devices it constitutes the key factor of the system which makes the product unique. The marketing strategy of the producer plays also a major role with regard to this criterion. 7.1.5 Open System An Open System is a collection of interacting software, hardware and components with well-defined, publicly available interfaces maintained by a consensus process. As to operating systems for advanced mobile devices it means the free usage and expandability of the system which allows to change it in every possible way.

College of Engineering, Poonjar

ANDROID

23

7.1.6 Kernel size The kernel of the operating system is the central component which is responsible for memory management, process and task management, and disk management. The size of the kernel is very important to operating systems for advanced mobile devices as it is loaded first and then remains in the main memory of the operating system. This influences the capacity. 7.1.7 Standards A standard is a commonly approved or accepted definition or format. An operating systems for advanced mobile devices needs standards concerning programming language, connectivity, data exchange and networking. This is also an important factor for an open system. 7.1.8 Security Security is the attribute of a system to be safe against attacks or other interference. As to operating systems for advanced mobile devices it means the features of the operating system in order to make it safe in any respect. 7.1.9 Special features Special features of operating systems are features which make the difference between them. 7.2 Comparison So now let us actually look into the Symbian, Windows and Android operating systems to check out which one scores over the other. 7.2.1 Portability Portability is a very important assessment criterion. Symbian OS has many references in this area and is used on many cell phones and smart phones today. Because of the standardized architecture and the openness to software from other manufacturers a wide field of operations is available.Windows Mobile also can run on different platforms with

College of Engineering, Poonjar

ANDROID

24

different features. Unfortunately Windows Mobile also has several applications that are specific to certain hardware platforms and therefore are not portable. The Android Mobile platform is a Linux based system and has the big advantage that this operating system can be used on many different platforms. The open access will help to collect a lot of experience which will make it easier in the future to access other sections. The fact that Android is based on the standardized programming language Java, which is also used for application development, underlines the importance of portability for this platform. The fact that Symbian mostly runs on Nokia cell phones and that it is not Java based lets it fall behind Android. Also Windows Mobile doesnt reach Android in terms of portability because some applications are hardware platform dependent. As a result Android gets one point, Symbian OS gets half a point and Windows Mobile zero points. Total so far: Symbian OS = 0.5 Windows Mobile = 0 Android = 1 7.2.2 Reliability Reliability is very much dependent on user experience. An operating system can be tested extensively, but without having experience of several years in the real world it is very hard to give a good estimate. The two characteristics that make current operating systems unreliable: Operating systems are huge Operating systems have very poor fault isolation All operating systems consist of around one million lines of code. Another study which is also taken from the above article deals with the amount of bugs to be found in executable code in average. Following this study the Linux kernel has probably something like 15,000 bugs and the Windows kernel more than double. The large size of current operating systems and the big amount of bugs being in every operating system show that it is not possible to understand the whole system as well as to say that the system is totally reliable. Because of many years of user experience and the amount cell phones working with each of the systems it is possible to say that both, Symbian OS and Windows Mobile, are reliable enough for all kinds of users and

College of Engineering, Poonjar

ANDROID

25

applications which are available at the moment. It doesnt mean that both systems run perfectly well but problems with the systems will not result in major difficulties. Linux kernel, used by Android, has existed for more than a decade and has proven that it is stable and fail-proof. Therefore it is useful for mobile applications. Nowadays it is often used on Web Servers or similar applications which require a high degree of reliability. So I think it is possible to say that Android will not rank behind Symbian OS and Windows Mobile regarding reliability. Because Symbian OS and Windows Mobile control the biggest part of the market and Android is Linux based I will give every operating system one point. All operating systems are so far developed that the reliability will not differ considerably. Total so far: Symbian OS = 1.5 Windows Mobile = 1 Android = 2 7.2.3 Connectivity There are many ways to connect a cell phone to other devices, such as personal computers, the internet or other cell phones. Although we have the possibility to connect our cell phone via cable with the other devices, the mobility of a cell phone generally make a wireless connection preferable.Therefore we only deal with wireless connection in this section. This can be wide area, like connecting to the internet, or personal area which includes infrared and bluetooth links. The operating system has to feature applications that are designed to support all the requirements as well as multi-tasking and the most important communication protocols. It also has to provide a rich set of APIs, which are source code interfaces to support requests for services to be made on it, to ensure that applications can benefit fully from current connectivity possibilities and be easily adapted to take advantage of new protocols as they are implemented. Symbian OS features GSM telephony, Bluetooth, Infrared and WI-FI. The Symbian OS APIs enables a development that targets all of these features and categories . Windows Mobile features GSM-telephony, Bluetooth, Infrared Communications and WIFI. The API supports the many features available on the Windows Mobile platform. Android features GSM telephony , Bluetooth , EDGE (technique to increase the data rate in GSM mobile network), 3D (third generation mobile standards), and WI-FI. All developers have the same access to the framework APIs used by the core applications.

College of Engineering, Poonjar

ANDROID

26

Also with regard to this criterion it can be said that the three operating systems act on the same level in most of the cases. All of them support the common and mainly used connectivity standards. Total so far: Symbian OS = 2.5 Windows Mobile = 2 Android = 3 7.2.4 Product Diversity Product differentiation is not just a design matter of the operating system. Today a provider of a product has to make sure that it is possible to innovate and develop new product lines .All three providers of operating system which are Symbian, Microsoft and Google have contact to phone manufacturers who are active participants in software development and help to extend the operating system. This helps to develop new functionalities and applications very fast and enhance the whole system. The most important feature concerning product diversity is to make the relevant product open to the market for development which guarantees product diversity. This is done by all vendors and gives them one point each for product diversity. Total so far: Symbian OS = 3.5 Windows Mobile = 3 Android = 4 7.2.5 Open platform Android was built from the ground up with the explicit goal to be the first open, complete, and free platform created specifically for mobile devices. Open Handset Alliance This vision of the Android Mobile Platform is located on the web site of the Open Handset Allicance. What does open platform really mean when the OHA says that Android is the first one? Symbian and Microsoft , describe their platforms as open systems differently: Symbian OS is the world-leading open operating system that powers the most popular and advanced smartphones from the worlds leading handset manufacturers. Microsoft

College of Engineering, Poonjar

ANDROID

27

or The Windows Mobile platform is an open platform that supports needs beyond mobile messaging. Symbian A clear definition for the term open platform is needed before it can be decided which operating system fulfill this criterion. As there is no common definition available I will list criteria which are important in my opinion to characterize and define an open platform. This definition is not neccessarily complete. Nevertheless, it serves as a general definition for the report. An open platform: allows developers to implement additional functionality to the system. That includes access to every API and other source code. allows developers to re-implement and replace functionality or the whole operating system. It helps to make an individualized, interactive system and content. needs standards to guarantee high quality. should have no costs for using the platform, develop applications for the platform or publish own developed applications. uses a programming language with an open standard like Java. offers multifaceted ways for communication and connectivity. is usable on all mobile devices. Summarizing these criteria yields the following definition of an open platform: An open mobile platform is a software stack, including an operating system, middleware and key applications, which can be used on every mobile device. It allows users to develop additional software and change or replace functionality without limitations. The most common standards for communication and connectivity are used. All these functionalities have to be free of charge. The only operating system which really fits to these criteria is the Android mobile platform. All operating systems achieve several standards for communication and offer a software development kit (SDK) that allows to build applications for it. But only Android

College of Engineering, Poonjar

ANDROID

28

is based on a free available operating system which is based on a Linux Kernel. Another fact is that publishing your own developed applications is free which is not the case for Symbian OS and Windows Mobile. Those systems require payment for code signing, or need a special program for code developing for example. This is the reason why Android gets one point and the other operating systems half a point. Total so far: Symbian OS = 4 Windows Mobile = 3.5 Android = 5 7.2.6 Kernel Size An often used assessment factor for comparing the kernel size is the Memory footprint which is the amount of memory used by the operating system. For a significant classification we need to find the operating system with the lowest Memory Footprint which in turn maximizes the performance of the operating system. Symbian OS has about 200 kbyte minimal memory requirement. The Windows Mobile platform is built on top of Windows CE which requires for a typical installation about 300 kbyte minimal memory. The Android operating system which is a Linux kernel will need about 250 kbyte. All the data above apply to an installation with the basic and minimal functionalities possible . As a result Symbian OS needs less memory than Android which needs less memory than Windows Mobile. So Symbian gets one point, Android gets half a point and Windows Mobile zero points. Total so far: Symbian OS = 5 Windows Mobile = 3.5 Android = 5.5 7.2.7 Standards Standards in general make the platform more open and attractive for developers. If standards exist it is easier for everyone and especially for developers, to get to know the new system. Therefore we need a standard for internationalization like Unicode, a standardized programming language like Java, a standardized network protocol like TCP/IP, a standard for email exchange like POP3, IMAP4 or SMTP, a standard for sending text messages and multi media messages like SMS and MMS, a standard for data communication between devices like Bluetooth, Infrared or OBEX, a standard which helps to make internet content visible for slow data rates like WAP, and a standard for data synchronization like SyncML.

College of Engineering, Poonjar

ANDROID

29

Most of the major standards are supported by all three of the operating systems. Every operating system uses the most common standards concerning networking, e-mails, messaging and communication, but only Android is based on the standardized programming language Java. This is also the only programming language used to develop applications. The advantage of Java is that its programs can run on any platform without having to be rewrited. This is also a positive aspect of portability. As a result Android gets one point, Symbian OS and Windows Mobile each half a point. Total so far: Symbian OS = 5.5 Windows Mobile = 4 Android = 6.5 7.2.8 Security Symbian OS offers a new platform security architecture which provides a platform with the ability to defend itself against malicious or badly implemented programs. The architecture consists of two high level components: Certificate management and Cryptography. These two modules form the basis for a number of high level components which include Certificate management control panel item, Software installation and Secure communications. Windows Mobile also has its own Security Model. It contains a combination of security policies, roles and certificates to address configuration, remote access and application execution. These features control access to a device. If a user or an application, for example, is allowed to access, security policies control the boundaries for the actions, access and functionalities. Android is a multiprocess system, where each application (and parts of the system) runs as 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 form. Every platform has its own security model that covers the most important actions concerning software installation, secure communication etc. This makes them equal and results in one point for each operating system. Total so far: Symbian OS = 6.5 Windows Mobile = 5 Android = 7.5 7.2.9 Special Features

College of Engineering, Poonjar

ANDROID

30

This section deals with features or applications which are designed to make the system unique. The Android mobile platform has significant advantages in this case. The new integrated browser based on the open source WebKit engine allows to access web pages through the internet the same way as through the PC. Also the virtual machine Dalvik optimized for mobile devices, is a feature which enables every application runs in its own process. This is very important for stability and reliability issues. Windows Mobile has, due to its outstanding position in the computer market, the advantage that the synchronization between the PC and the cell phone is very easy. Symbian OS however has no special features which must be mentioned in my opinion. The communication with the Internet and the Personal Computer will play a major role in the future with regard to mobile platforms.Therefore Android gets one point, Windows Mobila half a point and Symbian OS zero points. Total so far: Symbian OS = 6.5 Windows Mobile = 5.5 Android = 8.5 7.2.10 Classification based on further criteria This section contains a list with further criteria which help to classify the three mobile operating platforms. I divided the criteria in 4 different groups which are Basic criteria, Technical criteria, Usability criteria and User interface criteria. The user can utilize these to personalize his choice of an operating system for his mobile device. 7.3 Conclusion drawn from comparison of operating systems In the above section, Android platform, Symbian OS and Windows Mobile were compared with regard to the main criteria for a mobile operating system. Every criterion was explained in detail and applied to the three operating systems. At the end of every criterion classification points were given from one to zero. The best operating system relating to the criterion got one point, the second got half a point and the third zero points. The total sum of points added for each operating system will show which of them is the best with regard to the main criteria. The following table shows the results in detail:

College of Engineering, Poonjar

ANDROID

31

ANDROID Portability Reliability 1 1

SYMBIAN OS 0.5 1

WINDOWS MOBILE 0 1

Connectivity 1 1 1 Product diversity 1 1 1 Open system 1 0.5 0.5 Kernel size 0.5 1 0 Standards 1 0.5 0.5 Security 1 1 1 Special features 1 0 0.5 Result 8.5 6.5 5.5 Table 7.1: Comparison of Android, Symbian, & Windows Mobile. 7.4 Why Android is better? 7.4.1 Android can Run Multiple Apps at the Same Time: The current version of iPhone OS does offer limited multitasking, but only allows native applications such as Mail, iPod and Phone to run in the background. Android users benefit greatly from this discrepancy, as they can receive notifications, listen to music, or even record GPS data without keeping the application open. 7.4.2 Android Keeps Information Visible on Your Home Screen: Android has is a customizable home screen which keeps active widgets right at your fingertips, always accesible and always visible without having to launch an application first. 7.4.3 Android Has a Better App Market: Its true that Apples App Store has over 180,000 applications, while the Android Marketplace has only just broken the 50,000 mark but Androids rapid growth and adoption give it the potential to catch up to the iPhone App Store. Android also has another advantage: a completely open market. 7.4.4 Android Gives You Better Notifications:

The iPhone has some trouble with notifications. Because its restricted to pop-up notifications, it can only handle one at a time
College of Engineering, Poonjar

ANDROID

32

7.4.5 Android Lets You Choose Your Hardware: Apple users are encouraged to Think Different but when it comes to the actual hardware, they dont get much choice. 7.4.6 Android Lets You Choose Your Carrier: AT&T truly is the iPhones weakest link. The iPhones success turned the countrys fastest 3G network into a staggering mess of dropped calls and dodgy data connections. 7.4.7 Android Lets You Install Custom ROMs:

Android has a small community dedicated to building custom ROMs for Android devices. Not only do Custom ROMs bring the same functionality Jailbreaking does, but they also bring an additional level of customization to your phone. 7.4.8 Android Lets You Change Your Settings Faster:

iPhone users are stuck digging around in the system settings every time they want to use the internet or a Bluetooth device. Android lets you use widgets to manage your settings directly from your home screen. 7.4.9 Android Does Google and Social Integration: The iPhone can do this only through use of third party apps, and is nowhere near as seamless to use as the Android alternative. 7.4.10 Android Gives You More Options to Fit Your Budget: Every major cellular carrier (except for AT&T) has at least one Android phone available free with two-year agreement. Of course these are lower end Android devices, but they are still comparable in performance to the iPhone 3Gs. 8. Advantages And Disadvantages 8.1 Main Advantages The mobile platform Android is an open platform. The installation of Android is possible on every cell phone.

College of Engineering, Poonjar

ANDROID

33

The installation of the whole environment to develop Android applications is possible on every operating system. Android requires a low footprint of 250 k byte The application model/life-cycle is future oriented with the source code separation of view and logic. The emulator of the Android platform has a modern design and is easy to use. Application installation on the emulator/device is possible via Android Debug Bridge (adb) or via Eclipse (with ADT plugin) Google offers a very good documentation as well as many examples which cover the most basic and important techniques used to get in touch with Android and the application development on it. Android supports all established techniques and standards for media, communication an data transfer. Android offers a real database which is SQLite. Android has an integrated web browser which allows a PC like usage Android relies on open operating system Linux version 2.6 Android uses the standardized and open programming language Java The register based virtual machine Dalvik which is optimized for low memory requirements Google itself 8.2 Main Disadvantages Less experience with Android in the real world. The market leader is not present in the Open Handset Alliance. The openness regarding the source code could be a problem concerning security.

9. Conclusion The goal of this report is to describe, characterize and categorize the new mobile operating platform Android .The elaboration is divided in a more theoretical part where technical features are considered and a more practical part where an

College of Engineering, Poonjar

ANDROID

34

implementation of a simple application helps to assess Android. The systematic assessment of the technical features as well as features like openness of standards comes to the result that Android is superior to its competitive systems. When one adds the category user needs to this assessment then Symbian OS as well as Windows Mobile can have advantages for specific user groups. But even then one has to take into account that Android is not available on cell phones yet. When the system is further developed it could become a threat to the other two systems and make them superfluous. The practical chapter demonstrates the comfortable way in which applications can be developed on the Android platform. The good information organization, the very useful examples, the well organized API and the innovative life-cycle of applications made it very easy to start developing on that system. As an overall conclusion it can be said, that the Android mobile operating system seems to be a good decision for an operating system on every cell phone. It meets all the requirements an mobile operating system has to meet in the future but practical experience in the real world is indispensable. Consequently one has to keep in mind that Android is not available on a cell phone at the moment which makes it difficult to give a final and realistic conclusion.

10. Future Prospects In the present Master Thesis technical features of mobile operating systems were used to compare the Android platform with other mobile platforms like Symbian OS or Windows Mobile. For a future look not only actual techniques, standards and

College of Engineering, Poonjar

ANDROID

35

methods have to be considered. Also trends and user needs should be of interest. Which is the most important technology that is used at the moment and which will influence the future of normal and wireless communication most? These questions have to be answered if one wants to know where the future of cell phones and operating systems will be. Nokias CEO Olli-Pekka Kallasvuo made the following statement at the Nokia World 2006 Conference regarding to future of cell phones and therefore mobile operating systems: The Internet has transformed the way we live our lives and communicate with each other, and we expect it to play a key role in the next phase of Nokia's growth. Olli-Pekka Kallasvuo The message Internet is the future which is as true now as it was in the past will most likely be the biggest challenge for cell phones and mobile operating systems in the future. the complete internet will have to take place on the cell phone as it does on the personal computer today. More cell phones than personal computers circulate around the world which shows the enormous potential of the mobile market. A successful operating system, which Android wants to be, has to focus on such a trend. It has to meet all possibilities of the internet, even if it is a web browser, connectivity standards or special applications. The important characteristic of being small and being able to go everywhere makes the cell phone interesting for more or less every industry. Based on an article in a German newspaper it should also be possible to use the cell phone as a wallet in the future. Contact-free payment with an implemented chip is another possibility. This example indicates again how important application development for mobile operating systems is. A successful mobile operating system needs to offer the actual and most important applications. The first step with an open platform, where everybody is able to develop applications, is done by Android. The trend for cell phones and its mobile devices is clear: Integrate as many functionality in a device as possible. Radio and Television, Timer and Clock, Internet and communication, everything is possible with the cell phone and its operating system.

College of Engineering, Poonjar

ANDROID

36

11. References 1. 2. 3. 4. "Google Projects for Android". code.google.com. Google Inc. 2011. Archived from the original on 2011-02-23. Retrieved 2011-02-23. "Philosophy and Goals". source.android.com. Google Inc. 2011. Archived from the original on 2011-02-23. Retrieved 2011-02-23 "Google Buys Android for Its Mobile Arsenal". Businessweek.com. 2005-08-17. Retrieved 2010-10-29. "Google's Android becomes the world's leading smart phone platform (Canalys research release: r2011013)". Canalys. 31 January 2011. Retrieved 1 February

College of Engineering, Poonjar

ANDROID

37

5. 6. 7. 8. 9. 10.

2011. "Voice Actions for Android". google.com. Retrieved 27 January 2011. JR Raphael (May 6, 2010). "Use Your Android Phone as a Wireless Modem". PCWorld. Retrieved 2010-11-03. "Basics of Android". beinno.com. Retrieved 2010-11-03. Markoff, John (2007-11-04). "I, Robot: The Man Behind the Google Phone". New York Times. Retrieved 2008-10-14 Kirsner, Scott (2007-09-02). "Introducing the Google Phone". The Boston Globe. Retrieved 2008-10-24. Andrew Kameka (15 February 2011). "Android has 150k apps, 350k daily activations, and more notes from Eric Schmidts MWC keynote". Androinica.com. Retrieved 4 March 2011.

College of Engineering, Poonjar

Das könnte Ihnen auch gefallen