Contents
preface
acknowledgments
about this book
about the cover illustration
Part 1 What is Android? The big picture
- Chapter 1 Introducing Android
- The Android platform
- Understanding the Android market
- The layers of Android
- The Intent of Android development
- Four kinds of Android components
- Understanding the AndroidManifest.xml file
- Mapping applications to processes
- Creating an Android application
- Android 3.0 for tablets and smartphones
- Summary
- Chapter 2 Android’s development environment
- Introducing the Android SDK
- Exploring the development environment
- Building an Android application in Eclipse
- Using the Android emulator
- Debugging your application
- Summary
Part 2 Exercising the Android SDK
- Chapter 3 User interfaces
- Creating the Activity
- Working with views
- Using resources
- Exploring the AndroidManifest file
- Summary
- Chapter 4 Intents and Services
- Serving up RestaurantFinder with Intent
- Checking the weather with a custom URI
- Checking the weather with broadcast receivers
- Building a background weather service
- Communicating with the WeatherAlertService from other apps
- Summary
- Chapter 5 Storing and retrieving data
- Using preferences
- Using the filesystem
- Persisting data to a database
- Working with ContentProvider classes
- Summary
- Chapter 6 Networking and web services
- An overview of networking
- Checking the network status
- Communicating with a server socket
- Working with HTTP
- Web services
- Summary
- Chapter 7 Telephony
- Exploring telephony background and terms
- Phone or not?
- Accessing telephony information
- Interacting with the phone
- Working with messaging: SMS
- Summary
- Chapter 8 Notifications and alarms
- Introducing Toast
- Placing your Toast message
- Making a custom Toast view
- Introducing notifications
- Making a custom notification view
- Introducing alarms
- Summary
- Chapter 9 Graphics and animation
- Drawing graphics in Android
- Creating animations with Android’s Graphics API
- Introducing OpenGL for Embedded Systems
- Introducing RenderScript for Android
- Summary
- Chapter 10 Multimedia
- Introduction to multimedia and Stagefright
- Playing audio
- Playing video
- Capturing media
- Summary
- Chapter 11 Location, location, location
- Simulating your location within the emulator
- Using LocationManager and LocationProvider
- Working with maps
- Converting places and addresses with Geocoder
- Summary
Part 3 Android applications
- Chapter 12 Putting Android to work in a field service application
- Designing a real-world Android application
- Mapping out the application flow
- Application source code
- Source code for managing jobs
- Server code
- Summary
- Chapter 13 Building Android applications in C
- Building Android apps without the SDK
- Solving the problem with dynamic linking
- What time is it? The DayTime Server
- Daytime Client
- Summary
part 4 The maturing platform
- Chapter 14 Bluetooth and sensors
- Exploring Android’s Bluetooth capabilities
- Interacting with the SensorManager
- Building the SenseBot application
- Summary
- Chapter 15 Integration
- Understanding the Android contact model
- Getting started with LinkedIn
- Managing contacts
- Keeping it together
- Creating a LinkedIn account
- Synchronizing to the backend with SyncAdapter
- Wrapping up: LinkedIn in action
- Summary
- Chapter 16 Android web development
- What’s Android web development?
- Optimizing web applications for Android
- Storing data directly in the browser
- Building a hybrid application
- Summary
- Chapter 17 AppWidgets
- Introducing the AppWidget
- Introducing SiteMonitor
- SiteMonitor application architecture
- AppWidget data handling
- Implementing the AppWidgetProvider
- Displaying an AppWidget with RemoteViews
- Configuring an instance of the AppWidget
- Updating the AppWidget
- Tying it all together with AndroidManifest.xml
- Summary
- Chapter 18 Localization
- The need for localization
- Exploring locales
- Strategies for localizing an application
- Leveraging Android resource capabilities
- Localizing in Java code
- Formatting localized strings
- Obstacles to localization
- Summary
- Chapter 19 Android Native Development Kit
- Introducing the NDK
Building an application with the NDK
- Building the JNI library
- Building the user interface
- Integrating the NDK into Eclipse
- Summary
- Chapter 20 Activity fragments
- Fragment lifecyle
- Creating fragments and fragment layouts
- Background fragments
- The fragment manager
- Fragment transactions
- Fragment back stack
- The Android Compatibility Package
- Summary
- Chapter 21 Android 3.0 action bar
- Introducing the action bar
- Overview of the ActionBar classes
- Action bar display options
- Action items
- Removing, showing, and hiding the action bar
- Action bar styling
- Summary
- Chapter 22 Drag-and-drop
- The drag-and-drop classes
- Drag-and-drop operations
- The shadow builder
- Drag events
- Starting drag operations
- Listening for drag-and-drop events
- Responding to drag-start operations
- Handling drop operations
- Summary
 
appendix A Installing the Android SDK
appendix B Publishing applications
index