Android app development has been growing at a fast pace. The growth rate has outnumbered almost all of the other smart phone platforms available. Android is a set of software for mobile devices that includes key applications, middle ware and an operating system. The Android SDK provides the tools and APIs necessary to begin mobile application development on the Android platform using the Java programming language. Android applications are written using the Java programming language, you'll also use a custom virtual machine to run and test your creations.
Android offers developers the ability to build extremely rich and innovative applications by providing them with an open development platform. Developers can make use of the device hardware, run background services, add notifications to the status bar, access location information, set alarms and much more.
Android includes a set of C/C++ libraries used by various components of the Android system. This is the same mechanism that allows components to be replaced by the user. These capabilities are exposed to developers through the Android application framework. Developers can freely use the framework APIs that are used by the core applications. The application architecture is designed in order to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework).
Developing Android Apps
Android mobile application development can be done using the same tools used to develop Java applications. Android's core libraries will provide developers with the functions that are required to build high quality mobile apps. They also provide developers with development tools to make debugging, running and testing applications a lot simpler.
There are two approaches that a developer can take towards android mobile application development. The first is to develop a client-side android app. This will require the developer to make use of the tools and documentations available in the Software Development Kit (SDK) provided by Android. Developers will need personal computers running Linux, Windows XP or later Windows versions. They can also use Macs running Mac OSX 10.4.9 or later versions to support Androids development platforms.
The second approach is to build web-based android apps. However, the challenge here would be to develop a web app that will appear appropriately on various Android-powered devices that have different screen densities. Once the app has been built, the developer will need to use the tool WebView to embed web pages into Android apps. Also Javascript will have to be bound to the Android APIs using this tool and debug web apps using the JavaScript Console APIs.
Publishing Android Apps
In order to publish an app to your own website and server or the android app market, the first step that needs to be taken is to get the app digitally signed with a certificate. The developer will have a unique key to this certificate that will be used by Android to identify the application's author. The developer can then register with the Android market and upload the application for publishing. However, make sure you test the application well on various devices before you publish it to the Android market.