PhoneGap Tutorial for Android Development

Alex EvangΚινητά – Ασύρματες Τεχνολογίες

7 Σεπ 2011 (πριν από 5 χρόνια και 11 μήνες)

3.070 εμφανίσεις

The JesusPhone1 is walking on water but, DROID2 has arrived. The Apple iTunes App Store has delivered in excess of 1 billion App downloads3 and is grossing $200 million monthly, but the Android Market has 12,000 applications available for download and grosses approximately $5 million monthly4. Clearly, cross-platform development is not in a developer's best interest. Or, is it?

Dave Prochnow
PhoneGap Tutorial for Android Development
PhoneGap + Apple Dashcode = Rapid Android App Development
by Dave Prochnow (daveprochnow.com)
The JesusPhone
1
is walking on water but, DROID
2
has arrived. The Apple iTunes App
Store has delivered in excess of 1 billion App downloads
3
and is grossing $200 million
monthly, but the Android Market has 12,000 applications available for download and
grosses approximately $5 million monthly
4
. Clearly, cross-platform development is
not in a developer's best interest. Or, is it?
If time were money, then expending effort for building distinct and
separate Apps for two divergent platforms currently poised as economic-
polar opposites would not be profitable. On the other hand, if you could
craft a single App, capable of being deployed on both the iPhone and
DROID, then you might have a solid marketing foothold for evaluating the
economy of continued cross-platform development. Similarly, you will
have “hedged your bets” pending future market shifts
5
.
On first blush, this notion sounds downright harebrained—iPhone's tightly-controlled
Xcode Objective-C integrated development environment (IDE) offers a wonderful
coding experience
6
while the Google Java-based Android software development kit
(SDK)
7
is best accessed with third-party products (e.g., Sun Java JDK and Eclipse
IDE)
8
which help to put a prettier face on all of the developer's heavy lifting.
Objective-C versus Java; how could any developer be expected to become fluent in
two such drastically different IDE mobile development solutions?
Enter PhoneGap
9
.
PhoneGap is an open-source development tool for mobile cross-platform App
1
http://communities-dominate.blogs.com/brands/2007/05/entering_iphone.html
2
http://mediacenter.motorola.com/content/detail.aspx?ReleaseID=12063&NewsAreaID=305
3
http://www.apple.com/itunes/billion-app-countdown/
4
http://larvalabs.com/blog/iphone/android-market-sales/
5
http://autos.canada.com/news/story.html?id=1506088
6
http://developer.apple.com/iPhone/program/
7
http://www.android.com/
8
http://developer.android.com/sdk/installing.html
9
http://phonegap.com/
page
1
Dave Prochnow
publication that leverages good ol' HTML, Javascript, and CSS into device-agnostic
wrappers that can be rapidly deployed on Android, Blackberry, and iPhone platforms.
That's right; PhoneGap is a “develop once, publish anywhere” package/project that
enables you to take virtually any Webkit
10
-fluent project, add it to the appropriate
PhoneGap code bundle, and publish it on Android, Blackberry, and iPhone…well,
almost.
Even with such a radical development tool as PhoneGap there's no such thing as a
free lunch. Publishing a PhoneGap-based App on a specific mobile target does take
some tweaking (e.g., iPhone Apps require NIBs, whereas Android Apps can rely
exclusively on your HTML layout). For the most part, though, these platform-specific
coding nuances are thoroughly detailed on the PhoneGap wiki
11
. Unfortunately, with
the popularity of the iPhone, the Apple portion of the wiki is flourishing, while the less
popular DROID section doesn't seem to be receiving the same level of lovin'.
This tutorial is an attempt at helping the budding Android/PhoneGap development
community gain a stronger support base and bring more powerful Apps to the
Android Market
12
.
What you'll need
13
:
Graphics Tools
-
§ Adobe Illustrator
§ Adobe ImageReady
§ Adobe Photoshop
HTML, CSS, Javascript Tools
-
§ Apple Dashcode
14
§ Bare Bones BBEdit
15
10
http://webkit.org/
11
http://phonegap.pbworks.com/
12
http://phonegap.pbworks.com/Getting-Ready-to-Deploy-to-Android-Market-%28Android%29
13
These are the tools that I used during the preparation of this tutorial.
14
http://developer.apple.com/tools/dashcode/
15
http://www.barebones.com/
page
2
Dave Prochnow
PhoneGap Tools
-
§ Latest PhoneGap project
16
(v.0.8.0 was used in this tutorial)
§ Sun Java SE JDK 6 (Apple version was used in this tutorial)
§ Eclipse IDE (Galileo Classic version was used in this tutorial)
§ Android SDK
§ ADT Plug-in
Before you begin this tutorial, you should have read and completed
all
of the
instructions in the “Getting Started with Android PhoneGap in Eclipse (Tested)
17

tutorial.
Steps
1.
In this tutorial, we will be
developing an RSS Reader
Android App for receiving
the PhoneGap RSS feed.
Start Apple Dashcode.
Select the RSS Safari
template and develop for
Mobile Safari.
2.
Layout the RSS template
according to your design
requirements.
16
http://phonegap.com/download
17
http://phonegap.pbworks.com/Getting-started-with-Android-PhoneGap-in-Eclipse-(Tested)
page
3
Dave Prochnow
3.
Add a Page
Title and
Feed URL.
page
4
Dave Prochnow
page
5
Dave Prochnow
your Eclipse Workspace folder. Your Dashcode products should go inside the
PhoneGap android project folder: assets
ª
www. Make sure that your
Dashcode target folder is at least one level deep inside the Workspace
folder, otherwise you might receive a “location” error inside Eclipse. You can
have any number of folders and files inside the www folder. Just make sure
that all of your folders and files are properly linked to each other.
9.
Include the phonegap.js file inside the www folder.
page
6
Dave Prochnow
10.
Create an icon and copy it into the drawable folder at: res
ª
drawable.
“app_name”) and the location/name of your App's main filename (i.e.,
“url”). For this test App, the AndroidManifest.xml file should be OK, as is.
page
7
Dave Prochnow
12.
If needed, once outside of Dashcode, modify your HTML, CSS, and
Javascript files with BBEdit. In this case, a banner image was added to the
top of the RSS reader App.
page
8
Dave Prochnow
13.
In this optional step, older versions of the Dashcode Javascript might need
extra code for enabling the RSS article links. This extra code is located
inside the Link for Article comments.
14.
Test your HTML code inside Safari. If all tests work OK, launch Eclipse.
page
9
Dave Prochnow
15.
Begin a new Android Project in Eclipse.
16.
Create this new project from existing source, select a project name, and
provide an Application Name.
17.
Your new project is now visible in the Eclipse Package Explorer.
page
10
Dave Prochnow
18.
If the project creation window wouldn't allow you to select the proper
Android SDK (e.g., a Google API is hard-selected, instead), use Package
Explorer to show the package Properties, then inside the Android pane you
should be able to select the correct SDK. Click Apply and OK.
19.
Expand your RSS reader package inside Package Explorer and verify that
the contents of strings.xml point to your project's main file and the App
name is correct.
Note
: keep App names to 10 characters or less.
page
11
Dave Prochnow
20.
If you receive Build errors in Eclipse, you might need to modify some of the
stock PhoneGap Java code. In this case, I had to remove the Base64 import
and encoding code lines from the file CameraPreview.java.
page
12
Dave Prochnow
21.
Click Run and select Android Application in the Run As window.
page
13
Dave Prochnow
23.
Built with Apple Dashcode, this RSS reader App bears a strong resemblance
to its iPhone sibling. Scroll through the article headlines and click on a
headline. The headline window will transition to the article window. Selecting
the “Read More” button at the bottom of an article will launch the DROID
browser and take you to the PhoneGap Google Groups Web site for viewing
the complete RSS citation.
24.
The total elapsed time for development of this project was 2 hours 10
minutes. May the DROID be with you and flourish.
Note
: This project has been tested only on the Android Simulator.
page
14