What Android Is

Basic understanding of what exactly Android is


(Defining Android, by Robert Bell)

Before you can really begin to develop Android applications, it's helpful to have a basic understanding of what exactly Android is.  In the simplest terms, Android is a set of software that works together to help you develop web applications.  Included with Android is an operating system, middleware, and key applications and the Android SDK is what gives you the tools and APIs you'll need to develop applications on the Android platform.  Android makes use of Java programming language so that most developers will already be familiar with the basics but developing a deeper understanding of Android will give you the skills you need to create interesting, interactive applications.

Android Features
There are a number of features that make Android one of the leading application developer tools.  First of all, there is an application framework that allows for the reuse and replacement of components.  In addition, Android utilizes Dalvik virtual machine which has been optimized for mobile devices and features an integrated browser which has been modeled around open source WebKit.  Next, Android provides developers with optimized graphics.  Powered by a 2D graphics library and providing 3D graphics from OpenGL ES 1.0, Android allows developers to create rich applications that are visually stunning to the user.  Moreover, SQLite gives developers an option for structured data storage and Android also offers various media support for audio, video, and still images.  Indeed, Android is a versatile application platform that supports a variety of file types including MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, and GIF.  Similarly, Android is useful for developers because it includes GSM Telephony, Bluetooth, EDGE, 3G and WiFi, as well as a camera, GPS, compass, and accelerometer providing developers are using appropriate hardware.  Finally, Android provides developers with a rich development environment that not only helps them create their applications but also to test and refine the application after the development process.  For example, Android includes a device emulator as well as tools for debugging and allows easy memory and performance profiling.

Architecture and Framework
Android is designed so that you can create a variety of applications and is supported by a diverse set of application frameworks.  The architecture of Android gives developers easy access to a number of resources from an activity manager or resource manager to various libraries including SQLite, OpenGL ES, SCL, SSL, WebKit and more.  Moreover, Android comprises a diverse set of core applications including, but not limited to, an email client, SMS program, calendar, maps, browser, and contacts.  Since all applications re written using the Java programming language, developers should find it easy to adapt their skills to this new platform.
Conveniently, developers are given total access to all the framework APIs that are used by the core applications so that the reuse of components is simplified.  All applications are inter-compatible.  This means that capabilities of all applications can be easily published and used by other applications.  Moreover, components are easily replaced by the user as a result of this inter-compatibility.
Developers will notice that they have access to a rich and easily expanded collection of views that are ultimately used to build an application.  This collection of views includes the standard features of development platforms like lists, grids, text boxes, buttons, and an embeddable web browser.  Applications can be given access to information held by other applications so that data can be easily shared and Android even features a Resource Manager that gives you access to those non-code resources like localized strings, graphics, and layout files.  Finally, Android utilizes a Notification manager and an Activity Manager.  The notification manager allows all applications to show customized alerts in the status bar while the activity manager controls the lifecycle of the application while also giving developers a common navigation backstack.

Android Libraries
The components of the Android system utilize a collection of C/C   libraries which developers will find within the Android application framework.  At this point, a few of these libraries will be discussed as well as some details of these libraries.
First you will notice there is a System C library.  This library is derived from BSD and is related to the standard C system library, also commonly known as libc.  The System C library is calibrated especially for embedded Linux-based devices.  In addition, Android features extensive media libraries which are based on PacketVideo's OpenCORE.  These libraries conveniently support playback and recording of the range of common audio and video formats and can also support static image files.  The surface manager is used to manage display subsystem access and will help you to composite 2D and 3D graphic layers across multiple applications.  LibWebCore is a state-of-the-art web browser engine that runs the Android browser and the embeddable web view.  SGL is Android's 2D graphics engine but there are also 3D libraries which are based on OpenGL ES 1.0 APIs and use either hardware 3D acceleration or the Android optimized 3D software rasterizer.  For rendering with bitmap and vector there is a FreeType library and SQLite is also included to provide a powerful and unobtrusive relational database that is available to all applications.
As you can see, Android is a powerful tool that offers a wide range of features to the developer.  As internet and mobile web applications have become more sophisticated so have the platforms used to develop them.  Android provides developers with a dynamic yet efficient tool for creating such applications.Moonrise  Productions is a full services San Francisco web design  company. They offer complete design services, social network web development, ecommerce development, social network hosting and more. With New York, San Diego, San Francisco and a Los Angeles presence no  matter where you are, we've got people to serve you.

Source: http://www.articlealley.com/defining-android-1356956.html