Android apps are generally programmed in Java. Unlike the iPhone, anyone can download the Android SDK for free, and you can do your development from any computer you'd like. Google has been putting quite a bit of effort into recruiting Android programmers and has an extensive documentation available.
In order to offer items in the Android Market, you must pay a $25 registration fee. If you want to charge for your apps through the Android Market, you must have a merchant account with Google Checkout, which means you'll need to supply bank information and a tax ID number.
Google also sells carrier-independent developer's phones that you can use with your carrier's SIM card, although these phones don't offer all the latest features and software you'd get with a commercial phone. They may not even be running the latest version of Android.
Google App Inventor
Probably the most significant recent change in app development is Google App Inventor (http://appinventor.googlelabs.com). Google App Inventor allows non-programmers to create genuine Android apps by using a visual block-based programming interface based on MIT's OpenBlocks Java library. It's similar to the children's programming language Scratch.
App Inventor requires a Gmail account and an Android phone.
While App Inventor seems to do for Android development what WYSIWYG (what you see is what you get) HTML editors did for web design, it's not going to end traditional app development, and it's still a good idea to understand the foundations of Android development, just as most web designers understand HTML basics.
Web Resources for Android
Following are some valuable Android resources for developers:
■ Android Developers (http://developer.android.comj:
The absolute first place to start is with the official Android Developers site. You can download the SDK and purchase a developer phone. You can also learn about developing for devices beyond phones, such as Google TV.
■ Eclipse fwww.eclipse.org/downloadsj:
Android development is done in Java, and use of the Eclipse IDE (integrated development environment) is encouraged. You can download Eclipse for free.
■ Hello World (http://developer.android.com/guide/tutorials/hello-world.htmlj:
Once you've downloaded Eclipse, you can return to Android Developers site for the Hello World tutorial. For programmers, "Hello World" refers to the first and most basic program you make in any language.
■ Stanford Engineering Everywhere (http://see.stanford.edu/see/courses.aspx):
Stanford University offers a variety of free courses on programming and engineering. The introductory programming course doesn't require any previous programming experience. If you're a programming newbie, this is a very solid start from the university where Google founders Sergey Brin and Larry Page met and got their start.
■ Stack Overflow (http://stackoverflow.com/questions/tagged/androidj:
Stack Overflow is a free programmer's question-and-answer user community. The link I provided goes directly to all questions tagged with Android. You're free to browse previous questions and answers or submit your own.
Anddev is a user community for developers. This community is organized as a forum (using phpBB, for those who are familiar with the platform). There are both "supervised" and open topics on a variety of Android development topics.
■ EuroDroid: "Google Android news from not-America" (www.eurodroid.com):
If you're a developer in the United States, this may not seem relevant, but Android phones are available worldwide, and many companies release the same phone to different markets at different times with only minor branding changes. It's possible to find solutions for American phones by browsing for information about their European counterparts.
Apress Books on Android
Following are some Apress titles that you can read to further your knowledge and understanding of Android:
■ Beginning Android, by Mark Murphy: Learn how to develop applications for Android mobile devices using simple examples that are ready to run with your copy of the SDK. Author and Android columnist, writer, developer, and community advocate Mark Murphy shows you what you need to know to get started programming Android applications—everything from crafting GUIs to using GPS, accessing web services, and more!
■ Beginning Android 2, by Mark Murphy: Learn how to develop applications for Android 2.x mobile devices.
■ Android Essentials, by Chris Haseman: This book is a no-frills, no-nonsense, code-centric run through the guts of application development on Google's Mobile OS. This book uses the development of a sample application to work through topics, focusing on giving developers the essential tools and examples required to make viable commercial applications work. Since covering the entirety of the Android catalog in less than 150 pages is simply impossible, this book focuses on four main topics: the application life cycle and OS integration, the user interface, location-based services, and networking.
■ Pro Android, by Satya Komatineni and Sayed Hashimi: This book takes a detailed look at application development on Google's Mobile OS. It uses the development of a sample application to work through everything you need to build a flexible mobile application. The focus is on making viable commercial applications work. The book includes detailed coverage of the Android API.
■ Pro Android 2, by Satya Komatineni, Sayed Hashimi, and Dave MacLean: This book shows you how to build fun, real-world mobile applications using Google's Android SDK. It covers everything from the fundamentals of building applications for embedded devices to advanced concepts such as custom 3D components, OpenGL, and touchscreens including gestures.
■ Pro Android 3, by Satya Komatineni, Dave MacLean, and Sayed Hashimi: This book takes a similar approach to Pro Android 2, but for Android 3. This yet-to-be-released version of Android is code named "Gingerbread" and will follow Android 2.2 "Froyo."
■ Practical Android Projects, by Justin Bacon: Learn how to work with Android's incredible variety of tools and libraries to build your own cool and sophisticated Android apps.
■ Beginning Android Games, by Richard Taylor: This book offers everything you need to join the ranks of successful Android game developers. You'll start with game design fundamentals and programming basics, and then progress toward creating your own basic game engine and playable game.
■ Pro Android Media: Developing Graphics, Music, Video, and Rich Media Apps for Smartphones and Tablets, by Shawn Van Every: This book provides concise and clear instruction on how to utilize the media APIs made available through Android to create dynamic apps.
Rather than developing for just Android, why not develop once and deliver to many different platforms? There are a growing number of tools and tutorials on doing just this:
MoSync is an open source project similar to PhoneGap, but it is not free. Its license includes free home use, but the company sells developer licenses.
RhoMobile offers data hosting and cross-platform development tools using HTML and Ruby.
■ Adobe Device Central (www.adobe.com/products/creativesuite/devicecentralj:
Adobe Flash runs on Android, but not the iPhone. However, Adobe has been working on cross-platform solutions using AIR, and ways to create once and deliver on multiple platforms using the Device Central component of its CS5 software (e.g., Photoshop and Premiere).
Apress Titles for Cross-Platform Development
Following are some additional titles you can read to learn more about cross-platform development:
■ Pro Smartphone Cross-Platform Development: iPhone, BlackBerry, Windows Mobile, and Android Development and Distribution, by Vidal Graupera, Sarah Allen, and Lee Lundrigan: Learn the theory behind cross-platform development, and put the theory into practice with code using the invaluable information presented in this book. With in-depth coverage of development and distribution techniques for iPhone, BlackBerry, Windows Mobile, and Android, you'll learn the native approach to working with each of these platforms.
Other Resources for Android
Finally, here are some additional resources for learning more about Android:
Safari Books Online (http://my.safaribooksonline.comj:
This is a subscription service for training books and tutorial videos. Think Netflix for tech books. This book and other Apress titles are available through the service for a monthly fee, although a phone app for book browsing is not yet available.
Hello, Android: Introducing Google's Mobile Development Platform, by Ed Burnette (Pragmatic Bookshelf, 2008): This book focuses on practical exercises to teach beginning programmers how to create Android apps.
Teach Yourself Java 6 in 21 Days, by Rogers Cadenhead and Laura Lemay (Sams, 2007): This book is not about Android. It's designed to teach beginners the basics of Java, which will then make it easier to understand Android when you look at other books and tutorials.
Was this article helpful?
Quick start guide to skyrocket your offline and online business success with mobile apps. If you know anything about mobile devices, you’ve probably heard that famous phrase coined by one of the mobile device’s most prolific creators proclaiming that there’s an app for pretty much everything.