The start-to-finish guide to Android application development: massively updated for the newest SDKs and developer techniques!
This book delivers all the up-to-date information, tested code, and best practices you need to create and market successful mobile apps with the latest versions of Android. Drawing on their extensive experience with mobile and wireless development, Lauren Darcey and Shane Conder cover every step: concept, design, coding, testing, packaging, and delivery. The authors introduce the Android platform, explain the principles of effective Android application design, and present today's best practices for crafting effective user interfaces. Next, they offer detailed coverage of each key Android API, including data storage, networking, telephony, location-based services, multimedia, 3D graphics, and hardware.
Every chapter of this edition has been updated for the newest Android SDKs, tools, utilities, and hardware. All sample code has been overhauled and tested on leading devices from multiple companies, including HTC, Motorola, and ARCHOS. Many new examples have been added, including complete new applications. This new edition also adds
- Nine new chapters covering web APIs, the Android NDK, extending application reach, managing users, data synchronization, backups, advanced user input, and more
- Greatly expanded coverage of Android manifest files, content providers, app design, and testing
- New coverage of hot topics like Bluetooth, gestures, voice recognition, App Widgets, live folders, live wallpapers, and global search
- Updated 3D graphics programming coverage reflecting OpenGL ES 2.0
- An all-new chapter on tackling cross-device compatibility issues, from designing for the smallest phones to the big new tablets hitting the market
- Even more tips and tricks to help you design, develop, and test applications for different devices
- A new appendix full of Eclipse tips and tricks
This book is an indispensable resource for every member of the Android development team: software developers with all levels of mobile experience, team leaders and project managers, testers and QA specialists, software architects, and even marketers.
Autorentext
Lauren Darcey is responsible for the technical leadership and direction of a small software company specializing in mobile technologies, including Android, iPhone, Blackberry, Palm Pre,BREW, and J2ME and consulting services.With more than two decades of experience in professional software production, Lauren is a recognized authority in application architecture and the development of commercial-grade mobile applications. Lauren received a B.S. in Computer Science from the University of California, Santa Cruz.
She spends her copious free time traveling the world with her geeky mobile-minded husband and is an avid nature photographer. Her work has been published in books and newspapers around the world. In South Africa, she dove with 4-meter-long great white sharks and got stuck between a herd of rampaging hippopotami and an irritated bull elephant. She's been attacked by monkeys in Japan, gotten stuck in a ravine with two hungry lions in Kenya, gotten thirsty in Egypt, narrowly avoided a coup d'état in Thailand, geocached her way through the Swiss Alps, drank her way through the beer halls of Germany, slept in the crumbling castles of Europe, and gotten her tongue stuck to an iceberg in Iceland (while being watched by a herd of suspicious wild reindeer).
Shane Conder has extensive development experience and has focused his attention on mobile and embedded development for the past decade. He has designed and developed many commercial applications for Android, iPhone,BREW, Blackberry, J2ME, Palm, and Windows Mobile-some of which have been installed on millions of phones worldwide. Shane has written extensively about the mobile industry and evaluated mobile development platforms on his tech blogs and is well known within the blogosphere. Shane received a B.S. in Computer Science from the University of California.
A self-admitted gadget freak, Shane always has the latest phone, laptop, or other mobile device.He can often be found fiddling with the latest technologies, such as cloud services and mobile platforms, and other exciting, state-of-the-art technologies that activate the creative part of his brain. He also enjoys traveling the world with his geeky wife, even if she did make him dive with 4-meter-long great white sharks and almost get eaten by a lion in Kenya. He admits that he has to take at least two phones with him when backpacking-even though there is no coverage-that he snickered and whipped out his Android phone to take a picture when Laurie got her tongue stuck to that iceberg in Iceland, and that he is catching on that he should be writing his own bio.
Inhalt
Introduction 1
Part I: An Overview of Android
Chapter 1 Introducing Android 7
A Brief History of Mobile Software Development 7
Way Back When 7
"The Brick" 9
Wireless Application Protocol (WAP) 11
Proprietary Mobile Platforms 13
The Open Handset Alliance 15
Google Goes Wireless 15
Forming the Open Handset Alliance 15
Manufacturers: Designing the Android Handsets 16
Mobile Operators: Delivering the Android Experience 17
Content Providers: Developing Android Applications 17
Taking Advantage of All Android Has to Offer 18
Android Platform Differences 18
Android: A Next-Generation Platform 18
Free and Open Source 20
Familiar and Inexpensive Development Tools 20
Reasonable Learning Curve for Developers 20
Enabling Development of Powerful Applications 21
Rich, Secure Application Integration 21
No Costly Obstacles to Publication 21
A "Free Market" for Applications 22
A New and Growing Platform 22
The Android Platform 23
Android's Underlying Architecture 23
Security and Permissions 25
Developing Android Applications 26
Summary 28
References and More Information 28
Chapter 2 Setting Up Your Android Development Environment 29
Configuring Your Development Environment 29
Configuring Your Operating System for Device Debugging 30
Configuring Your Android Hardware for Debugging 30
Upgrading the Android SDK 31
Problems with the Android Software Development Kit 32
Exploring the Android SDK 32
Understanding the Android SDK License Agreement 32
Reading the Android SDK Documentation 33
Exploring the Android Application Framework 35
Getting to Know the Android Tools 35
Exploring the Android Sample Applications 40
Summary 41
References and More Information 41
Chapter 3 Writing Your First Android Application 43
Testing Your Development Environment 43
Adding the Snake Application to a Project in Your Eclipse Workspace 43
Creating an Android Virtual Device (AVD) for Your Snake Project 44
Creating a Launch Configuration for Your Snake Project 46
Running the Snake Application in the Android Emulator 47
Building Your First Android Application 48
Creating and Configuring a New Android Project 50
Core Files and Directories of the Android Application 50
Creating an AVD for Your Project 51
Creating Launch Configurations for Your Project 52
Running Your Android Application in the Emulator 53
Debugging Your Android Application in the Emulator 56
Adding Logging Support to Your Android Application 59
Adding Some Media Support to Your Application 60
Adding Location-B…