Thanks to the popularity of smartphones and tablet computers, the Android operating system is soon destined to become as ubiquitous as the Windows OS has been for so many decades. The open source nature of Google’s Android is just one of the reasons behind its appeal. Hardware manufacturers are more likely to turn to install Android on their new devices than any other mobile OS. Android seems tailor-made for the new cloud computing paradigm as well, since its software architecture seeks to keep the user connected to the Internet.
Wanted: Android Developers with Diverse Backgrounds
Image Credit: Flickr
While the open source community works on improving Android for the benefit of millions of users around the world, a new type of software developer is emerging. Part of the Android philosophy is to seek fresh ideas from many different people, even from those who aren’t commonly involved in software development. While Android by itself is a strong OS, the sheer variety of apps available to users is a special asset. Google has adopted a doctrine for Android which invites people from different backgrounds to create apps that might be useful for the large Android OS user base around the world.
Image Credit: Flickr
Creating an application for the Android app starts with an idea. It helps to come up with an idea that the budding developer has some level of expertise in. For example, a nursing student may want to develop a flashcard system for reviewing anatomical terms or the properties of certain pharmaceutical compounds. An insurance broker may want to provide Android users with an easy way to look up car insurance quotes, and thus an app to perform car insurance comparison could be developed.
A budding Android app developer should first become familiar with the look, feel and functionality of the OS. This process of familiarization should take place on an Android-powered device, be it a smartphone, netbook or tablet computer -the devices in which the app will be more likely to be downloaded and installed. Advanced developers who have access to the Android Software Development Kit (SDK) can run emulators on their Windows or Linux desktops, but this isn’t the best option to get acquainted with Android. Emerging app developers should also head over to the Android Marketplace to get more ideas, and to see how the process of downloading and installing apps works.
Image credit: eclipse.org
Taking the plunge from Android user to third-party app developer requires an honest self-assessment of programming skills. For individuals who have already dabbled in software programming -particularly with the Java programming language- the best option is to visit the Android website and download the SDK package and all the pertinent documentation. Android apps are created in Java, so the next step for advanced developers would be to set up the development environment on their workstations. This will require downloading and installing the following components: – Eclipse Classic application environment, available from Eclipse.org – Android SDK, available from Android.com – The Eclipse ADT plugin, , available from Android.com
Image credit: andromo.com
The installation of Eclipse and the Android SDK is pretty straightforward, but installing the ADT plugin should be performed from within Eclipse Classic.
Android Virtual Device
Image credit: Android.com
The application being developed can be tested on the emulator that comes with the Android SDK, but it will require an Android Virtual Device (AVD). Prior to starting a new Android app project, it’s a good idea to set up an AVD. This is done from within Eclipse, and it should be configured so that it point to the current version of the Android SDK being used. Coding and testing of the application can begin once the steps above have been accomplished. Depending on the intended purpose of the app, it could involve one or more of the following Android app components: – Activities – Services – Content providers – Broadcast receivers As the app is being developed, the programmer must make changes to the required Android Manifest, an XML file which declares the app components, permissions, the Application Programming Interface (API), device features and resources that will be utilized, and the API libraries.
Android App Development for Non-Coders
Keeping with its commitment to make the Android open source community accessible to anyone with good ideas and a desire to contribute, Google has launched App Inventor, a web platform which enables Internet-connected users to develop Android apps right from their web browser. App Inventor is a simple, yet very effective, introduction to Android development. It does not require the installation of a development environment, although it recommends that budding developers have an Android mobile device nearby for app testing purposes.
The App Inventor Concept
Image credit: Techkykid.com
Google’s App Inventor uses Open Blocks, a unique visual Java library distributed by the Massachusetts Institute of Technology. With App Inventor, developers start with the look and feel of the app by first choosing a Graphical User Interface (GUI). Once the GUI is defined, developers can assign functions to their apps. Designing a new app can be as simple as connecting blocks of information together. Some blocks interact with the hardware features of Android devices, such as the camera, accelerometer, microphone, media player, and others. Other blocks can be designated to capture information input by the user, and yet other blocks interact with online services such as Twitter. More advanced blocks interact with GPS-enabled devices to provide location-aware features.
Other Android App Makers
Image credit: andromo.com
Google App Inventor isn’t the only platform for beginner developers to create Android apps. Other free app makers like Andromo allow users who aren’t programmers to develop Android apps. The way these simple development tools work is by making several functional components available to users. Media galleries, APIs, interactive maps, GUI templates, and many other components can be put together into a neat and user-friendly app. Whether a potential Android app developer decides to code a new app from scratch or use one of the free app-making platforms, the underlying concept should always be the same: apps should be developed for the benefit and enjoyment of the user, not the developer.
Author Bio: Vikram from snakebytez.com is a professional blogger and writes about a wide variety of topics, including Technology, SEO, Social media, Blogging, Gadgets, etc. Follow him on Twitter @snakebytez