Sunteți pe pagina 1din 14

CONTENTS: Abstract Introduction Android features Competitors of Android User Interface Widget Data Storage Web Apps Android

Android 2.1 Eclair Android 2.2 Froyo Android 2.3 Gingerbread Advantages Disadvantages Conclusion References

ABSTRACT:

This is a paper that gives an introduction to the new open source mobile platform Android as well as a comparative evaluation with regard to other mobile operating systems. It explains its advantages and disadvantages and the basic features. The key topic of this paper is the categorization of Android. The purpose of this paper is to present to the user the new and promising mobile platform based on the Linux operating system and provided by Google. Then it describes the main features of Android for a better understanding of this platform. In the following part Android will be compared to the mobile operating systems Symbian OS. Features and criteria defined in this part will be considered and included in the comparison of these systems. Finally an outlook and a conclusion complete this elaboration.

Introduction

Android is a software platform and operating system for mobile devices such as mobile phones, tablet computers and netbooks, based on the Linux operating system and GNU software. It was initially developed by Google and later positioned in the Open Handset Alliance. Android has a large community of developers writing application programs ("apps") that extend the functionality of the devices. It allows developers to write managed code in a Java-like language that utilizes Google-developed Java libraries. Android includes an operating system, middleware, user-interface and applications. It is manufacturer spanning and able to run on every cell phone. Unlike on the market for cell phones, where many manufacturers compete, there are only two main competitors in the domain of cell phone operating systems which are Symbian with Symbian OS and Microsoft with Windows Mobile.

System Architecture

Android features

Android offers many features cover many areas such as application development, internet, media and connectivity. Some of the most important ones are presented in the following list Application Framework is used to write applications for Android. Unlike other embedded mobile environments, Android applications are all equal, for instance, an applications which come with the phone are no different than those that any developer writes. The framework is supported by numerous open source libraries such as openssl, sqlite and libc. It is also supported by the Android core libraries. From the point of security, the framework is based on UNIX file system permissions that assure applications have only those abilities that mobile phone owner gave them at install time. Dalvik Virtual Machine it is extremely low-memory based virtual machine, which was designed specially for Android to run on embedded systems and work well in low power situations. It is also tuned to the CPU attributes. The Dalvik VM creates a special file format (.DEX) that is created through build time post processing. Conversion between Java classes and .DEX format is done by included dx tool. Integrated Browser Google made a right choice on choosing WebKit as open source web browser. They added a two pass layout and frame flattening. Two pass layout loads a page without waiting for blocking elements, such as external CSS or external JavaScript and after a while renders again with all resources downloaded to the device. Frame flattening converts founded frames into single one and loads into the browser. These features increase speed and usability browsing the internet via mobile phone. Optimized graphics as Android has 2D graphics library and 3D graphics based on OpenGL ES 1.0, possibly we will see great applications like Google Earth and spectacular games like Second Life, which come on Linux version. At this moment, the shooting legendary 3D game Doom was presented using Android on the mobile phone.

SQLite extremely small (~500kb) relational database management system, which is integrated in Android. It is based on function calls and single file, where all definitions, tables and data are stored. This simple design is more than suitable for a platform such as Android.

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 WiFi (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.

Competitors of Android
Mobile devices have changed their profile dramatically in the last years. The advanced mobile phones of today integrate fully-featured personal digital assistant (PDA) capabilities with those of a traditional mobile phone. This chapter examines the critical factors for operating systems in this market which differentiate them from each other. The classification of operating systems has to consider the market in which they are used. The market for advanced mobile devices is hard to compare to other markets like the PC market where also operating systems are used. User needs and requirements are different. Symbian, manufacturer of the mobile operating system Symbian OS, believes that the mobile phone market has five key characteristics that make it unique, and result in the need for a specifically designed operating system. 1. Mobility: mobile phones are both small and mobile. 2. Universal: mobile phones are ubiquitous they target a mass market of consumer, enterprise and professional users. 3. Connection: mobile phones are occasionally connected they can be used when connected to the wireless phone network, locally to other devices, or on their own. 4. Innovation: manufacturers need to differentiate their products in order to innovate and compete in a fast-evolving market. 5. Open: the platform has to be open to enable independent technology and software vendors to develop third-party applications, technologies and services.

User Interface
In an Android, the user interface is built using View and ViewGroup objects. There are many types of views and view groups, each of which is a descendant of the View class. View objects are the basic units of user interface expression on the Android platform. The View class serves as the base for subclasses called "widgets," which offer fully implemented UI objects, like text fields and buttons. The ViewGroup class serves as the base for subclasses called "layouts," which offer different kinds of layout architecture, like linear, tabular and relative. A View object is a data structure whose properties store the layout parameters and content for a specific rectangular area of the screen. A View object handles its own measurement, layout, drawing, focus change, scrolling, and key/gesture interactions for the rectangular area of the screen in which it resides. As an object in the user interface, a View is also a point of interaction for the user and the receiver of the interaction events. On the Android platform, you define an Activity's UI using a hierarchy of View and ViewGroup nodes, as shown in the diagram below. This hierarchy tree can be as simple or complex as you need it to be, and you can build it up using Android's set of predefined widgets and layouts, or with custom Views that you create yourself.

Widgets
A widget is a View object that serves as an interface for interaction with the user. Android provides a set of fully implemented widgets, like buttons, checkboxes, and text-entry fields, so you can quickly build your UI. Some widgets provided by Android are more complex, like a date picker, a clock, and zoom controls. But you're not limited to the kinds of widgets provided by the Android platform. If you'd like to do something more customized and create your own actionable elements, you can, by defining your own View object or by extending and combining existing widgets.

Data Storage
Android provides several options for you to save persistent application data. The solution you choose depends on your specific needs, such as whether the data should be private to your application or accessible to other applications (and the user) and how much space your data requires. Your data storage options are the following:

Internal Storage

You can save files directly on the device's internal storage. By default, files saved to the internal storage are private to your application and other applications cannot access them (nor can the user). When the user uninstalls your application, these files are removed. External Storage Every Android-compatible device supports a shared "external storage" that you can use to save files. This can be a removable storage media (such as an SD card) or an internal (non-removable) storage. Files saved to the external storage are world-readable and can be modified by the user when they enable USB mass storage to transfer files on a computer. Network Storage You can use the network (when it's available) to store and retrieve data on your own web-based services.

Web Apps
There are essentially two ways to deliver an application on Android: as a client-side application (developed using the Android SDK and installed on user devices) or as a web application (developed using web standards and accessed through a web browserthere's nothing to install on user devices). The approach you choose for your application could depend on several factors, but Android makes the decision to develop a web application easier by providing:

Support for viewport properties that allow you to properly size your web application based on the screen size CSS and JavaScript features that allow you to provide different styles and images based on the screen's pixel density (screen resolution)

Thus, your decision to develop a web application for Android can exclude consideration for screen support, because it's already easy to make your web pages look good on all types of screens powered by Android.

Another great feature of Android is that you don't have to build your application purely on the client or purely on the web. You can mix the two together by developing a client-side Android application that embeds some web pages (using a WebView in your Android application layout). Figure 1 visualizes how you can provide access to your web pages from either a web browser or your Android application. However, you shouldn't develop an Android application simply as a means to launch your web site. Rather, the web pages you embed in your Android application should be designed especially for that environment. You can even define an interface between your Android application and your web pages that allows JavaScript in the web pages to call upon APIs in your Android applicationproviding Android APIs to your web-based application.

Android 2.1--Eclair
Android 2.1 is a minor platform release deployable to Android-powered handsets starting in January 2010. This release includes new API changes and bug fixes. For developers, the Android 2.1 platform is available as a downloadable component for the Android SDK. The downloadable platform includes a fully compliant Android library and system image, as well as a set of emulator skins, sample applications, and more. The downloadable platform includes no external libraries. To get started developing or testing against the Android 2.1 platform, use the Android SDK and AVD Manager tool to download the platform into your SDK.

Android 2.2--Froyo
Android 2.2 is a minor platform release including user features, developer features, API changes, and bug fixesFor developers; the Android 2.2 platform is available as a downloadable component for the Android SDK. The downloadable platform includes a fully compliant Android library and system image, as well as a set of emulator skins, sample applications, and more. The downloadable platform includes no external libraries. To get started developing or testing against the Android 2.2 platform, use the Android SDK and AVD Manager tool to download the platform into your SDK. For more information, see Adding SDK Components.

Android 2.3--Gingerbread
For developers, the Android 2.3 platform is available as a downloadable component for the Android SDK. The downloadable platform includes an Android library and system image, as well as a set of emulator skins and more. The downloadable platform includes no external libraries.

SIP-based VoIP
The platform now includes a SIP protocol stack and framework API that lets developers build internet telephony applications. Using the API, applications can offer voice calling features without having to manage

sessions, transport-level communication, or audio these are handled transparently by the platform's SIP API and services. Applications use to set up and manage SIP profiles, then initiate audio calls and receive audio calls. Once an audio call is established, applications can mute calls, turn on speaker mode, send DTMF tones, and more.

Near Field Communications (NFC)


Android 2.3 includes an NFC stack and framework API that lets developers read NDEF tags that are discovered as a user touches an NFCenabled device to tag elements embedded in stickers, smart posters, and even other devices. The platform provides the underlying NFC services that work with the device hardware to discover tags when they come into range. On discovering a tag, the platform notifies applications by broadcasting an Intent, appending the tag's NDEF messages to the Intent as extras. Applications can create Intent filters to recognize and handle targeted tags and messages. For example, after receiving a tag by Intent, applications extract the NDEF messages, store them, alert the user, or handle them in other ways.

Gyroscope and other sensors


Android 2.3 adds platform and API support for several new sensor reading types gyroscope, rotation vector, linear acceleration, gravity, and barometer. Developers can use the new sensor readings to create applications that respond quickly and smoothly to precise changes in device position and motion. The Sensor API reports gyroscope and other sensor changes to interested applications, whether they are running on the application framework or in native code. Note that the specific set of hardware sensors available on any given device varies at the discretion of the device manufacturer.

StrictMode
To help developers monitor and improve the performance of their applications, the platform offers a new system facility called StrictMode. When implemented in an application, StrictMode catches and notifies the developer of accidental disk or network activity that could degrade

application performance, such as activity taking place on the application's main thread (where UI operations are received and animations are also taking place). Developers can evaluate the network and disk usages issues raised in StrictMode and correct them if needed, keeping the main thread more responsive and preventing ANR dialogs from being shown to users.

Main Advantages
The mobile platform Android is an open platform. The installation of Android is possible on every cell phone. The installation of the whole environment to develop Android applications is possible on every operating system. Android requires a low footprint of 250 kbyte The application model/life-cycle is future oriented with the source code separation of view and logic. 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 and data transfer. 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

Main Disadvantages
No experience with Android in the real world. Not many efficient applications available. The market leader is not present in the Open Handset Alliance. The openness regarding the source code could be a problem concerning security.

Conclusion:
The goal of this Seminar report is to describe, characterize and categorize the new mobile operating platform Android. Android has a Marketplace from where the applications and games can be downloaded (freeware as well as expended). The quality of the applications is great and a number of reusable utilities are easy for unrestricted but the number of much applications is encumbered. Android participates in many of the successful open source projects. This Google Android is stepping into the next level of Mobile Internet. It aims to be as easy to build for as the web. 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.

References:

www.wikipedia.com/andriod http://developer.android.com/guide/topics/ http://www.pcworld.com/article/213159/android_23_aka_gingerbread _handson.html http://googlesystem.blogspot.com/2010/05/android-22-froyo-is-majorupdate.html http://www.xda-developers.com/tag/android-2-02-1-eclair http://code.google.com/android/ http://www.openhandsetalliance.com/

S-ar putea să vă placă și