Let's take a look at what the OHA emphasizes on its Android Platform: Openness
"Android was built from the ground-up to enable developers to create compelling mobile applications that take full advantage of all a handset has to offer. It is built to be truly open. For example, an application could call upon any of the phone's core functionality such as making calls, sending text messages, or using the camera, allowing developers to create richer and more cohesive experiences for users."
This is true, as a developer you can do everything, from sending short messages with just 2 lines of code, up to replacing even the HOME-Screen of your device. One could easily create a fully customized operating system within weeks, providing no more of Google's default application to the user.
"Android is built on the open Linux Kernel. Furthermore, it utilizes a custom virtual machine that has been designed to optimize memory and hardware resources in a mobile environment. Android will be open source; it can be liberally extended to incorporate new cutting edge technologies as they emerge. The platform will continue to evolve as the developer community works together to build innovative mobile applications."
Here Google is talking of the so called Dalvik virtual machine (DalvikVM), which is a register based virtual machine, designed and written by Dan Bornstein and some other Google engineers, to be an important part of the Android platform. In the words "register based" we find the first difference to normal Java virtual machines (JVM) which are stack based. See the "Dalvik.equals(Java) == false"--chapter for more details on that issue.
"Android does not differentiate between the phone's core applications and third-party applications. They can all be built to have equal access to a phone's capabilities providing users with a broad spectrum of applications and services. With devices built on the Android Platform, users will be able to fully tailor the phone to their interests. They can swap out the phone's home screen, the style of the dialer, or any of the applications. They can even instruct their phones to use their favorite photo viewing application to handle the viewing of all photos."
Once again this is all true. Developers can 100% customize their Android-Device. The Android System Communication is based on so called Intents, which are more or less just a String (with some data attached) which defines an action that needs to be handled. An example for this is:
One can simply listen on that Intent by writing about 5 lines of definitions. The system would then recognize that there is more than one application that wants to handle that Intent and ask the user to choose which one he or she would like to handle the Intent.
"Android breaks down the barriers to building new and innovative applications. For example, a developer can combine information from the web with data on an individual's mobile phone - such as the user's contacts, calendar, or geographic location - to provide a more relevant user experience. With Android, a developer could build an application that enables users to view the location of their friends and be alerted when they are in the vicinity giving them a chance to connect."
Fast & easy application development
"Android provides access to a wide range of useful libraries and tools that can be used to build rich applications. For example, Android enables developers to obtain the location of the device, and allows devices to communicate with one another enabling rich peer-to-peer social applications. In addition, Android includes a full set of tools that have been built from the ground up alongside the platform providing developers with high productivity and deep insight into their applications."
Since the Web 2.0 revolution, making content rich applications within minutes is no more illusion. Android has brought developing to unknown speeds. Let me provide an example:
Someday I stumbled over the Buzzword 'DrivingDirections' within the Android-Documentation.
Thought - done.
Thought - done.
The development process of the application in the picture above took about 1% hours! (Including the simple user interface and all images you see). Could one create such a sophisticated application on any other mobile-platform? - No.
Additionally this application could be enriched with the current GPS-position of the device within a handful of code-lines.
Google emphasizes Androids power of providing location-based-services. Google Maps are so neat within Android as if it was just developed for Android. One can integrate a fully zoom and drag enabled map by adding just 3(!) characters in the Java-Code of the Android-Default-Application and 3 lines of XML-Code.
Other nice features that are easy to use with Android are Animations and media-playback. Since version m5, the Android SDK contains functions for straight and reverse GeoCoding and in addition to mp3, playback of: ogg-Vorbis, MIDI and a bunch of other formats.
Was this article helpful?
Making an iPad game doesn't have to be something that only developers do. You too can create a game that will help to entertain the user and it will help to make you money. With Making Games for the iPad, you don't have to be a computer genius, but you will certainly feel like one.