Contents
preface xvii
preface to the first edition xix
acknowledgments xxi
about this book xxiv
about the cover illustration xxix
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
- 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
- Accessing telephony information
- Interacting with the phone
- Working with messaging: SMS
- Summary
- Chapter 8 Notifications and alarms
- Introducing Toast
- Introducing notifications
- Introducing Alarms
- Summary
- Chapter 9 Graphics and animation
- Drawing graphics in Android
- Creating animations with Android’s Graphics API
- Introducing OpenGL for Embedded Systems
- Summary
- Chapter 10 Multimedia
- Introduction to multimedia and OpenCORE
- Playing audio
- Playing video
- Capturing media
- Recording video
- 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 Server2
- 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
appendix A Installing the Android SDK
appendix B Publishing applications
index