Introduction

Pioneered by the Open Handset Alliance and Google, Android is a hot, new, free, open source mobile platform making waves in the wireless world. This book provides comprehensive guidance for software development teams on designing, developing, testing, debugging, and distributing professional Android applications. If you’re a veteran mobile developer, you can find tips and tricks to streamline the development process and take advantage of Android’s unique features. If you’re new to mobile development, this book provides everything you need to make a smooth transition from traditional software development to mobile development—specifically, its most promising new platform: Android.

Who Should Read This Book

This book includes tips for successful mobile development based on our years in the mobile industry and covers everything you need to run a successful Android project from concept to completion. We cover how the mobile software process differs from traditional software development, including tricks to save valuable time and pitfalls to avoid. Regardless of the size of your project, this book can work for you.

This book was written for three primary audiences:

Software developers who want to learn to develop professional Android applications

The bulk of this book is primarily targeted at software developers with Java experience but not necessarily mobile development experience. More seasoned developers of mobile applications can learn how to take advantage of Android and how it differs from the other technologies of the mobile development market today.

Quality assurance personnel tasked with testing Android applications

Whether they are black box or white box testing, quality assurance engineers can find this book invaluable. We devote several chapters to mobile QA concerns including topics such as developing solid test plans and defect tracking systems for mobile applications, how to manage handsets, and how to test applications thoroughly using all the Android tools available.

Project managers planning and managing Android development teams

Managers can use this book to help plan, hire, and execute Android projects from start to finish. We cover project risk management and how to keep Android projects running smoothly.

Other Audiences

This book is useful not only to a software developer, but also for the corporation looking at potential vertical market applications; the entrepreneur thinking about a cool phone application; and the hobbyists looking for some fun with their new phone. Businesses seeking to evaluate Android for their specific needs (including feasibility analysis) can also find the information provided valuable. Anyone with an Android handset and a good idea for a mobile application can put this book to use for fun and profit.

Key Questions Answered in this Book

This book answers the following questions:

1. What is Android?

2. How is Android different from other mobile technologies and how can developers take advantage of these differences?

3. How do developers use the Eclipse Development Environment for Java to develop and debug Android applications on the emulator and handsets?

4. How are Android applications structured?

5. How do developers design robust user interfaces for mobile—specifically for Android?

6. What capabilities does the Android SDK have and how can developers use them?

7. How does the mobile development process differ from traditional desktop development?

8. What development strategies work best for Android development?

9. What do managers, developers, and testers need to look for when planning, developing, and testing a mobile development application?

10. How do mobile teams design bulletproof Android applications for publication?

11. How do mobile teams package Android applications for deployment?

12. How do mobile teams make money from Android applications?

How This Book Is Structured

This book is divided into seven parts. The first five parts are primarily of interest to developers; Parts VI and VII provide lots of helpful information for project managers and quality assurance personnel as well as developers.

Here is an overview of the various parts in this book:

Part I: An Overview of Android

Part I provides an introduction to Android, explaining how it differs from other mobile platforms. You become familiar with the Android SDK and tools, install the development tools, and write and run your first Android application—on the emulator and on a handset.

Part II: Android Application Design Essentials

Part II introduces the design principles necessary to write Android applications. You learn how Android applications are structured and how to include resources like strings, graphics, and user interface components in your projects.

Part III: Android User Interface Design Essentials

Part III dives deeper into how user interfaces are designed in Android. You learn about the core user interface element in Android: the View. You’ll also learn about the basic drawing and animation abilities provided in the Android SDK.

Part IV: Using Common Android APIs

Part IV is a series of chapters, each devoted to a deeper understanding of the most important APIs within the Android SDK, such as the data and storage APIs (including file and database usage as well as content providers), networking, telephony, Location-Based Services (LBS), multimedia and 3D graphics APIs, and the optional hardware APIs available.

Part V: More Android Application Design Principles

Part V covers more advanced Android application design principles such as notifications and services.

Part VI: Deploying Your Android Application to the World

Part VI covers the software development process for mobile, from start to finish, with tips and tricks for project management, software developers, and quality assurance personnel.

Part VII: Appendixes

Part VII includes several helpful quick-start guides for the Android development tools: the emulator, ADB and DDMS, and a SQLite tutorial.

Android Development Environment Used in This Book

The Android code in this book was written using the following development environments:

• Windows Vista SP1 and Mac OS X 10.5.6

• Eclipse Java IDE Version 3.4 (Ganymede)

• Eclipse JDT plug-in and Web Tools Platform (WTP)

• Sun Java SE Development Kit (JDK) 6 Update 10

• Android SDK Version 1.1 R1 and Version 1.5 R1

Note

Many of the examples have also been tested using the Android SDK on Fedora 8 and Windows XP installations.

Supplementary Materials Available

The source code that accompanies this book is provided on a CD at the end of this book and on the publisher Web site: www.informit.com/title/9780321627094.

Lauren Darcey and Shane Conder run a book blog at http://androidbook.blogspot.com, where you can find the latest news about the Android topics covered here.

Where to Find More Information

There is a vibrant, helpful Android developer community on the web. Here are a number of useful Web sites for Android developers and followers of the wireless industry:

Android Developer Website—The Android SDK and developer reference site

http://developer.android.com/

Open Handset Alliance—Android manufacturers, operators, and developers

www.openhandsetalliance.com/

Android Market—Buy and sell Android applications

www.android.com/market/

anddev.org—An Android developer forum

www.anddev.org

Google Team Android Apps—Open source Android applications

http://apps-for-android.googlecode.com/

FierceDeveloper—A weekly newsletter for wireless developers

www.fiercedeveloper.com/

FierceWireless—A daily digest for the wireless industry

www.fiercewireless.com/

FierceMobileContent—A daily digest of mobile content and marketing

www.fiercemobilecontent.com/

Wireless Developer Network—Daily news on the wireless industry

www.wirelessdevnet.com/

Developer.com—A developer-oriented site with mobile articles

www.developer.com/

Conventions Used in This Book

This book uses the following conventions:

image is used to signify to readers that the authors meant for the continued code to appear on the same line. No indenting should be done on the continued line.

• Code or programming terms are set in monospace text.

This book also presents information in the following sidebars:

Tip

Tips provide useful information or hints related to the current text.

Note

Notes provide additional information that might be interesting or relevant.

Caution

Cautions provide hints or tips about pitfalls that might be encountered and how to avoid them.

Contacting the Authors

Both Lauren and Shane welcome your comments. If you have questions or feedback regarding this book, please visit our book blog at http://androidbook.blogspot.com or email us at [email protected].

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.225.95.216