Android in Action, Third Edition
W. Frank Ableson, Robi Sen, Chris King and C. Enrique Ortiz
  • November 2011
  • ISBN 9781617290503
  • 664 pages
  • printed in black & white

Gold standard of Android training books.

Gabor Paller, Ericsson


An eBook copy of the previous edition, Android in Action, Second Edition, is included at no additional cost. It will be automatically added to your Manning account within 24 hours of purchase.

Android in Action, Third Edition is a comprehensive tutorial for Android developers. This fast-paced book puts you in the driver's seat—you'll master the SDK, build WebKit apps using HTML 5, and even learn to extend or replace Android's built-in features by building useful and intriguing examples.

Table of Contents detailed table of contents



about this book

about the cover illustration

Part 1 What is Android? The big picture

1. Chapter 1 Introducing Android

1.1. The Android platform

1.2. Understanding the Android market

1.3. The layers of Android

1.4. The Intent of Android development

1.5. Four kinds of Android components

1.6. Understanding the AndroidManifest.xml file

1.7. Mapping applications to processes

1.8. Creating an Android application

1.9. Android 3.0 for tablets and smartphones

1.10. Summary

2. Chapter 2 Android’s development environment

2.1. Introducing the Android SDK

2.2. Exploring the development environment

2.3. Building an Android application in Eclipse

2.4. Using the Android emulator

2.5. Debugging your application

2.6. Summary

Part 2 Exercising the Android SDK

3. Chapter 3 User interfaces

3.1. Creating the Activity

3.2. Working with views

3.3. Using resources

3.4. Exploring the AndroidManifest file

3.5. Summary

4. Chapter 4 Intents and Services

4.1. Serving up RestaurantFinder with Intent

4.2. Checking the weather with a custom URI

4.3. Checking the weather with broadcast receivers

4.4. Building a background weather service

4.5. Communicating with the WeatherAlertService from other apps

4.6. Summary

5. Chapter 5 Storing and retrieving data

5.1. Using preferences

5.2. Using the filesystem

5.3. Persisting data to a database

5.4. Working with ContentProvider classes

5.5. Summary

6. Chapter 6 Networking and web services

6.1. An overview of networking

6.2. Checking the network status

6.3. Communicating with a server socket

6.4. Working with HTTP

6.5. Web services

6.6. Summary

7. Chapter 7 Telephony

7.1. Exploring telephony background and terms

7.2. Phone or not?

7.3. Accessing telephony information

7.4. Interacting with the phone

7.5. Working with messaging: SMS

7.6. Summary

8. Chapter 8 Notifications and alarms

8.1. Introducing Toast

8.2. Placing your Toast message

8.3. Making a custom Toast view

8.4. Introducing notifications

8.5. Making a custom notification view

8.6. Introducing alarms

8.7. Summary

9. Chapter 9 Graphics and animation

9.1. Drawing graphics in Android

9.2. Creating animations with Android’s Graphics API

9.3. Introducing OpenGL for Embedded Systems

9.4. Introducing RenderScript for Android

9.5. Summary

10. Chapter 10 Multimedia

10.1. Introduction to multimedia and Stagefright

10.2. Playing audio

10.3. Playing video

10.4. Capturing media

10.5. Summary

11. Chapter 11 Location, location, location

11.1. Simulating your location within the emulator

11.2. Using LocationManager and LocationProvider

11.3. Working with maps

11.4. Converting places and addresses with Geocoder

11.5. Summary

Part 3 Android applications

12. Chapter 12 Putting Android to work in a field service application

12.1. Designing a real-world Android application

12.2. Mapping out the application flow

12.3. Application source code

12.4. Source code for managing jobs

12.5. Server code

12.6. Summary

13. Chapter 13 Building Android applications in C

13.1. Building Android apps without the SDK

13.2. Solving the problem with dynamic linking

13.3. What time is it? The DayTime Server

13.4. Daytime Client

13.5. Summary

part 4 The maturing platform

14. Chapter 14 Bluetooth and sensors

14.1. Exploring Android’s Bluetooth capabilities

14.2. Interacting with the SensorManager

14.3. Building the SenseBot application

14.4. Summary

15. Chapter 15 Integration

15.1. Understanding the Android contact model

15.2. Getting started with LinkedIn

15.3. Managing contacts

15.4. Keeping it together

15.5. Creating a LinkedIn account

15.6. Synchronizing to the backend with SyncAdapter

15.7. Wrapping up: LinkedIn in action

15.8. Summary

16. Chapter 16 Android web development

16.1. What’s Android web development?

16.2. Optimizing web applications for Android

16.3. Storing data directly in the browser

16.4. Building a hybrid application

16.5. Summary

17. Chapter 17 AppWidgets

17.1. Introducing the AppWidget

17.2. Introducing SiteMonitor

17.3. SiteMonitor application architecture

17.4. AppWidget data handling

17.5. Implementing the AppWidgetProvider

17.6. Displaying an AppWidget with RemoteViews

17.7. Configuring an instance of the AppWidget

17.8. Updating the AppWidget

17.9. Tying it all together with AndroidManifest.xml

17.10. Summary

18. Chapter 18 Localization

18.1. The need for localization

18.2. Exploring locales

18.3. Strategies for localizing an application

18.4. Leveraging Android resource capabilities

18.5. Localizing in Java code

18.6. Formatting localized strings

18.7. Obstacles to localization

18.8. Summary

19. Chapter 19 Android Native Development Kit

19.1. Introducing the NDK

== === Building the JNI library === Building the user interface === Integrating the NDK into Eclipse === Summary

20. Chapter 20 Activity fragments

20.1. Fragment lifecyle

20.2. Creating fragments and fragment layouts

20.3. Background fragments

20.4. The fragment manager

20.5. Fragment transactions

20.6. Fragment back stack

20.7. The Android Compatibility Package

20.8. Summary

21. Chapter 21 Android 3.0 action bar

21.1. Introducing the action bar

21.2. Overview of the ActionBar classes

21.3. Action bar display options

21.4. Action items

21.5. Removing, showing, and hiding the action bar

21.6. Action bar styling

21.7. Summary

22. Chapter 22 Drag-and-drop

22.1. The drag-and-drop classes

22.2. Drag-and-drop operations

22.3. The shadow builder

22.4. Drag events

22.5. Starting drag operations

22.6. Listening for drag-and-drop events

22.7. Responding to drag-start operations

22.8. Handling drop operations

22.9. Summary

Appendix A: Installing the Android SDK

Appendix B: Publishing applications


© 2014 Manning Publications Co.

About the Technology

When it comes to mobile apps, Android can do almost anything—and with this book, so can you! Android, Google's popular mobile operating system and SDK for tablets and smart phones, is the broadest mobile platform available. It is Java-based, HTML5-aware, and loaded with the features today's mobile users demand.

About the book

Android in Action, Third Edition takes you far beyond "Hello Android." You'll master the SDK, build WebKit apps using HTML 5, and even learn to extend or replace Android's built-in features. You'll find interesting examples on every page as you explore cross-platform graphics with RenderScript, the updated notification system, and the Native Development Kit. This book also introduces important tablet concepts like drag-and-drop, fragments, and the Action Bar, all new in Android 3.

What's inside

  • Covers Android 3.x
  • SDK and WebKit development from the ground up
  • Driving a robot with Bluetooth and sensors
  • Image processing with Native C code

About the reader

This book is written for hobbyists and developers. A background in Java is helpful—no prior experience with Android is assumed.

About the authors

Frank Ableson and Robi Sen are entrepreneurs focused on mobile and web products, and on novel wireless technologies, respectively. Chris King is a senior mobile engineer and C. Enrique Ortiz a mobile technologist, developer, and author.

combo $49.99 pBook + eBook + liveBook
eBook $39.99 pdf + ePub + kindle + liveBook

FREE domestic shipping on three or more pBooks

Still the best single book for both beginners and experts.

Matthew Johnson, Sabaki Engineering

Fully covers most Android tablet functionalities.

Loïc Simon, SII