Android


Hello Android
An excellent introduction into what the Google mobile OS is and how to develop software for it. Book details: introduction, which compilers you can use [there are several, many are free] the android SDK, the emulator, how to set up your development environment, general concepts and architecture of the OS, user interface, 2D graphics, multimedia, three ways to store local data, web services, the location API, SQLite, and OpenGL [graphics]. Appendix has notes on the java language subset, the standard library subset, as well as 3rd party libaries. would rate this 5 out of 5.
(Pragmatic Bookshelf, Burnette, 2008, 218 Pages)
Unlocking Android
A great second book. Dives into development in more detail. The books chapter on geographic applications discusses different XML schemas offered as standards including GPX (GPS eXchange Format) and KML (Keyhole Markup Language) The book explains how one can use the DDMS tool (Dalvik Debug Monitoring Service) to send coordinates and debug with the emulator. Interestingly enough they also point out you can use the emulator console and send GPS coordinates that way as well. i.e. "geo fix -21.55 64.1" Book covers: general introduction to the tools and SDK, user interfaces, intents and services, three methods of persisting data. The coverage of all three types is good here, they dive into SQLite quite well. Book continues with networking and web services, the telphony API, notifications and alarms, graphics and animation via OpenGL ES and the Android Graphics APIs, multimedia: playing sound and video, and native C development via the CodeSourcery compiler. The book pulls all of the technologies together in a sample field service application. Appendices cover: the Eclipse IDE, the Android SDK, and signing and installing applications.
(Manning, 2009, 392 Pages)
Pro Android Games
Read this book in three days, not that I am planning on writing games but the books coverage enables you to first enhance your understanding of the media APIs of sound and video with Android. Secondly it provides insight and concrete examples of using JNI to call C from Java and call Java from C. Most of this book was written before the NDK was published so native work required using the Java Native Interface. The book covers how to "port" the bulk of games written in C/C++ over to Android with very little rewriting of code. The book provides examples using Java and Android's XML layouts for the top level of the games interface. While the C++ guts can be slightly reworked. He proves this through four solid examples of games: asteroids, space blaster, wolfenstein and doom. [Source code downloadable] Even if you don't write games this is well worth the tour on how to optimize and port legacy C/C++ projects over to Android. He also talks a little bit about the Native Development Toolkit (NDK) which arrived later on. Other topics include: OpenGL, how to use shared libaries in Linux.
(Apress, 2009, 298 Pages)

Android SDK click here
CodeSourcery Compiler click here
Eclipse Java IDE click here