Creating Android “Hello World” Application using PhoneGap
What is PhoneGap?
PhoneGap Requirements for Android Development:
You will need to install the Java Development Kit (JDK). Follow the official instructions for setting this up.
You will also need the Android Software Development Kit. When you install the SDK, you will need to set the the android-sdk-<os>/tools for your user PATH variable.
You will need to download and install Eclipse if you don’t already have it on your machine.
Eclipse ADT Plugin
You will need to also install the ADT plugin for Eclipse. ADT (Android Development tools) is a plugin of eclipse which provide a complete IDE for developing Android application. ADT lets you create new Android projects, and it lets you create Android projects from existing source (this is the way we will open our PhoneGap app for android on eclipse). Using ADT you can also debug an android application. As ADT is well integrated with android SDK running the app from the IDE directly launches the android emulator.
To install ADT click on “install new software” in your Eclipse’s help window and enter the following site to work with: http://dl-ssl.google.com/android/eclipse/. Then follow the wizard presented to install ADT.
Android Platforms and Components
Once you have ADT installed, you will need to install the Android platform and other components. To do that, go to menu option window->Android DK and AVD manager and select the platform and API level. Android api 2.2 is latest at the time of writing this article.
If you don’t have apache ant installed you can download it from http://ant.apache.org/bindownload.cgi. To install it you will just extract the downloaded Zip file and set the bin folder in the ant directory in you PATH variable.
If you don’t have Ruby installed, you can download it from this free installer. Once installed, add the Ruby/bin path into your account’s PATH variables.
Of course, you will also need the PhoneGap Framework itself.
Creating Your Development Workspace
Environment Variables Check:
The following paths should be set in you account’s PATH variable:
Apart from these, you will need to set the following variables also:
To create a workspace for your PhoneGap app on android, go to the “phonegap-android” folder on the command prompt or terminal:
Once you run the command and if everything goes correct messages as shown below will be seen:
The above should create a complete workspace for your PhoneGap Android app.
Setup Your Project in Eclipse
Once this is done, this workspace can be opened in eclipse. In eclipse choose new project and then choose Android Project.
Next select “create project from existing source” and give the project a name as shown below.
If you try to build and run the project in Eclipse you will get a build error. This is because you have not added the external library (phonegap.jar) which is created in the libs folder of your workspace.
To add that external library right click on the project an select Build Path-> Add external archive and then select the phonegap.jar in your libs folder.
In the assets/www folder of the workspace, there will already be a file called phonegap.js. In that folder create a file called index.html with the following code:
In the code the line:
includes the phonegap.js file which lets you call native API’s of android. On the load of the body the init function registers the function showMessageBox on the PhoneGap event deviceready which is triggered when phonegap has done the processing to initialized everything for your program so that it can call the PhoneGap API’s. The showMessageBox function calls the PhoneGap API navigator.notification.alert which displays the message box on screen. Running the app after adding the index.html and refreshing the project in Eclipse you will see the following screen:
Now let’s add some more functionality to our app. The following code creates a text box to enter the name of the person and a button when clicked displays a message box:
In the following line of code we have created a text box where you can enter your name.
In the line
We have created a link which on click calls the function displayHello which fetches the value from the text box and displays a message box saying hello to the name entered by the user.
The GUI shown above does not have any styling to it. You can beautify the display and add colors to it using a CSS file. Create a master.css in your assets\www folder with the following code:
In your index.html add the following line before in your head tags to link to master.css: