Apress, 2010. - 320 Pages. ISBN-13: 978-1-4302-3267-4
Pro Android Media assumes a basic knowledge of Android programming, though it makes sure to touch on the basics of a concept (intents, activities, etc.) the first time it is introduced.
The first 3 chapters cover Images: displaying, capturing and editing. Chapter 1 uses the built-in camera intent to capture an image. In doing so, the chapter refreshes on some of the basics of Android programming (intents, content providers, URIs, etc.), in a way that provides a friendly refresher to the novice Android programmer but doesn't take up much of the chapter. Chapter 2 has you build a camera application for more flexibility, such as time-delayed photography. It covers capturing and saving images, both internally and to the SD card. Chapter 3 delves into image editing and browsing. This includes scaling, rotating, mirroring, flipping, color corrections, etc. It doesn't necessarily cover the math behind the concepts (though links to appropriate Wikipedia pages), but introduces you to the APIs you would use for various image editing tasks.
Chapter 4 covers Graphics: How to deal with raw Bitmaps and drawing concepts such as using the Canvas for shapes, lines and text.
Chapters 5 - 8 cover Audio: playback, background audio and network streaming, capturing, and synthesis/analysis. There are examples showing how you can retrieve, store and query the metadata of media on the device. Audio recording can be done via three separate (and increasingly complex, though more flexible) interfaces, and the book gives examples of each and why you'd need to use one over the other. In Chapter 8, you build a DJ scratching interface using the touch screen, as well as an audio visualizer (FFT). One great inclusion is the state diagrams for the MediaPlayer and MediaRecorder. These interfaces aren't extremely complex, but having the diagrams helps you get a good feel for the interface.
Chapters 9 - 11 cover Video: playback, browsing and streaming, and capture. Chapter 10 covers advanced video concepts such as streaming video from the internet and gives an example of playing from YouTube's servers. The video chapters are finished off by covering video capture, and there are good (though brief) explanations of the capture profiles, codecs, settings and encoders you can use.
Chapter 12 finishes the book and covers media consumption and publishing using Web Services. It felt a little out of place initially (this chapter's concepts are likely covered in most general Android books), but I was thankful that they included it as it is a great compressed summary of what interfaces you might need if you want to interact the web. It gives examples of how you'd use JSON, REST and XML web services, as well as how you can incorporate the user's geolocation in your API calls. There are examples of how to interact with Flickr and Blip.TV, both consuming/browsing media and uploading content to them.