Everywhere you go, people are using mobile devices to keep in touch with family and friends, take a picture to post on a social website, find the location of a restaurant, or check the latest news headlines. Mobile devices come in many different shapes and styles. Mobile phones run a variety of different operating systems such as Apple’s iOS, Google’s Android, and Research In Motion’s Blackberry. Some have large displays, physical keyboards, and run on 3G, 4G, or WiFi networks. Mobile phones may also have sensors for acceleration, location, or even payments. Some of these devices aren’t even phones; they’re tablets with larger displays and a data-only network connection.
Despite their differences, mobile devices are similar in that they all run mobile applications. Mobile applications can be divided into two types:
- Native applications
- Installed on the device, native applications are binary executable programs created using a software development kit (SDK) and distributed through an app store. There is an SDK for each mobile operating system, which unfortunately is different from the SDKs of other operating systems.For example, to create an application for iOS, you must download and install the iOS SDK and development tools, and you must code your application using the Objective-C programming language. An Android application is developed using the Android SDK and written in Java. Thus, to create a mobile application, you must learn each SDK and write your application using the supported programming language. There’s a steep learning curve for each platform’s SDK, so mobile application development is quite complex.
- Web applications
Native and web applications both have advantages and disadvantages, and many arguments have been waged over which is better. In an effort to resolve this battle, a new hybrid application tries to combine the advantages from both native and web applications.
This article shows you how to develop a hybrid mobile Android application using the PhoneGap and Dojo Mobile toolkits. Learn how to use the Android emulator and tools for testing applications, and see how to run your application on an Android device or tablet.
- Windows, OSX, or Linux operating system
- Java Development Kit (JDK) 5 or JDK 6 (a JRE is not sufficient)
- An Eclipse development environment, such as Eclipse Helios V3.6 or later, or IBM Rational Application Developer V8
- Android SDK and platforms (r12 or later)
- Android Development Toolkit (ADT) plugin for Eclipse
- PhoneGap SDK (V1.0.0 or later)
- Dojo Toolkit (V1.6 or later)