Many don’t really understand the basics of Android Application Development. All they know is that they love their new Android phone. For many people, Androids are still robots like from Star Trek that have incredible learning abilities and look human but are really only a machine. So let’s start off with a true definition of the word:
Android is a software stack for mobile devices. It includes an operating system, middleware and key applications. It was purchased by Google in 2005. The Android mobile operating system is based on the Linux kernel. Google and other members of the Open Handset Alliance worked on Android’s development and release. The Android Open Source Project (AOSP) is tasked with the maintenance and future development of Android.
With a new and better understanding of the Android platform, we are ready to dive into Android Application Development. Let’s begin with the basics. The Android platform offers an impressive feature set:
• Application framework enables reuse and replacement of components
• Integrated browser based on open source WebKit engine
• Optimized graphics powered by custom 2D graphics library, 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
• Media support for common audio, video and still image formats (AMR, JPG, PNG, GIF, MPEG4, H.264, MP3, AAC)
• GSM Telephony (hardware dependent)
• SQLite for structured data storage
• Bluetooth, Wi-Fi, EDGE, 3G (hardware dependent)
• GPS, compass, camera and accelerometer (hardware dependent)
• Dalvik virtual machine optimized for mobile devices
• Rich development environment includes a device emulator, memory and performance profiling, tools for debugging, and a plugin for the Eclipse IDE
This is an impressive list and the idea of Android application development can be intimidating for some. A quick look at Android documentation may give you headache. There you’ll find articles like “Backwards Compatibility”, “Avoiding Memory Leaks”, and “Introducing GLSurfaceView”. Even though these topics are essential to successful mobile development there may be a much simpler way to go.
A number of app development tools exist to aid the newcomer, or n00b for those who are tech savvy. Superb mobile development frameworks that guide and direct the development of an app are now available. The best known of those is the Corona SDK.
Corona is the most advanced mobile development platform today because it offers an unequalled tool set that opens the door for amazing technological advancements. Perhaps the most important is the ability for cross-platform development.