Android is a software platform and operating system for digital devices and mobile phones, initially developed by Google, and later by the Open Handset Alliance business consortium.
Android allows developers to write managed code in Java, controlling the device through Google’s Java libraries.
Applications are written in C and other languages and can be compiled into ARM machine code and executed, but this development model is not officially supported by Google.
In July 2005, Google acquired Android Inc., a startup company headquartered in Palo Alto, California, USA. The co-founders of Android, who continued to work at Google, were Andy Rubin, Rich Miner, Nick Sears, and Chris White. At that time, very little was known about Android, Inc., except that they were making software for mobile phones. This acquisition led to rumors that Google was planning to enter the mobile market, although it was unclear at that time what role it could play in this market.
Since October 21, 2008, Android has been available as an open-source.
Current features and specifications include:
1. The Android platform is adaptable to larger configurations
2. The Dalvik virtual machine is optimized for mobile devices
3. The available web browser is based on the open-source WebKit application platform
4. 2D graphic libraries included
5. 3D graphics libraries included, based on OpenGL ES 1.0 specification
6. Support media
7. SQLite database software is used for data storage
8. Android supports connectivity technologies including GSM / EDGE, CDMA, EV-DO, UMTS, Bluetooth and Wi-Fi
9. SMS and MMS are the forms of instant messaging available, including text messaging.
The software written in Java can be compiled into Dalvik machine code and executed by the Dalvik virtual machine, which is a specialized virtual machine implementation designed for use on mobile devices, although theoretically not a standard Java Virtual Machine.
Android supports the following audio/video/image media formats: MPEG-4, H.264, MP3, AAC, OGG, AMR, JPEG, PNG, GIF. Android can use video / photo cameras, touchscreen, GPS, accelerometer, and accelerated 3D graphics. Includes a device emulator, troubleshooting tools, a plug-in for the Eclipse development environment.
By providing an open development platform, Android offers developers the ability to build complex and innovative applications. They are free to use the hardware of the equipment, information about accessing the location, running background services, setting alarms, adding notifications on the status bar, etc.
Android includes a set of core libraries that provide most of the functionality available in Java programming language libraries. Each Android application runs in its own process and in its own instance of the Dalvik virtual machine, written so that a device can effectively run multiple instances of the virtual machine. The Dalvik virtual machine is based on a Linux kernel for basic functionalities such as threading and low-level memory management.
Although it is an open-source product, part of the software development for Android has been continued in a private branch. In order to make this software public, a read-only branch, known as a dessert, a cupcake, was created. The name is believed to come from Marissa Mayer (Vice President of Google), who has a passion for it. Cupcake is usually misinterpreted as the name of an update, but as stated on Google’s development site: “Cupcake […] is a branch of development, not a stable version.” Notable changes to Android software introduced in the cupcake include changes to the download manager, platform, Blue-tooth, system software, radio and telephony, development tools, system development, and some applications, as well as a number of troubleshooting. And other Android versions have been named after desserts: donut, eclair, gingerbread, etc.