I was given a copy of Murach's Android programming 2nd edition book for review and use. In classic Murach fashion this book is hefty (663 pages), and a hefty price at a bit under $60.00. The tome continues their tradition of code on one page and explanation on the other, and does a thorough job of walking folks through creating Android applications in not only code but also the tools. This book uses the Android Studio.
What always impresses me about the Murach books is how geared it is towards folk looking to get a handle on a complex topic. Walking through the chapters it really presents material in a great fashion.
The first chapter explains Android's background and basics on using the studio tool. A clear distinction is made that Android programming is more involved than picking up a language (in this case Java) and focuses on the entire ecosystem. Explaining basics of the architecture, how they are run, and deployed.
Once the tools are installed there are a few pages dedicated to navigation and basics for testing an app. This is important and often over looked and folks should really work with this so they are comfortable on navigating the break points, logs, and just knowing what is happening.
The second chapter breaks you into making your first app and relies on letting the tools do quite a bit of the heavy lifting for the UI while the developer focuses on the interesting code for events and interaction. This is not to say the background code in resource files and what not are ignore, no - those are gone into some detail when/if the developer needs to, but the IDE helps immensely with properties, layout, etc. This is the super UI orientated chapter.
The third chapter extends the second's project and delves deeper into that gooey awesome interaction between widgets and the user. How to get handles for objects, events, and saving data. There is a bulk of left page being the description and facing right page being the code. There is even a small section dedicated to using the Android API documentation (often missed out in other books on programming language).
The fourth chapter is all about testing and debugging. I am very pleased this has its own chapter and the depth covered. I have seen many questions from folks in the forum from people who jump right in and find themselves lost when confronted with basic debugging and testing options. I swear this should be mandatory for any other books and programming classes.
With a large swath of basics skills, the lay of the studio land, and even a small app under your belt Section jumps right into the the deep end on topics and ups the complexity. A plethora of widgets get dedicated sections, how to use layouts, and events are explored more. Theming, styling, and menus are also brought to bear as options and how they can be used in future projects.
Sectoin three brings three more chapters in commonly complex Android areas. Most android apps interact with someone out there on the web. Be it databases, news stories, social media, etc. That sort of 'reach out and touch someone' ability is not a simple area to study, but these ease the pain. Murach introduces the 'News Reader App' to highlight pain points and massages them into working areas. Working with threads (always a confusing one but those async calls are needed), files, web services, notifications, and broad cast receivers.
Section four switches gears with a series of chapters for storing your data. The new app is a 'task list' which provides the spring board for discussions on SQLite, what is a database, how are tables structured, persistent data, content provider concepts, tabs for your app, tracking history, and the 'app widget' that displays data on the device's home screen. Again - these are not light topics, but something most android devs will need in the future.
The final section ties up loose ends and fringe concepts that really didn't work well in the other sections.
The important sections are deploying the apps, an overview of google play, other distribution, release builds, and how to monetize the app. Last bit deals with maps, location tracking, and other things that would go in a 'run tracking app'.
At the tail end are three appendices that deal with setting up environments for windows, mac, and linux.
After going through the entire book I feel this really gives people an end to end coverage of getting into android application making. Certainly this is not as nuanced on the API as other books, but what it makes up in for - in spades - are the sections dedicated to working with the environment, debugging, deploying, etc. A perfect book for someone who is stuck on the hurdle of "where do I start".
This is also not a book to fly through and "learn android in X days", but really is a long term book to substitute an 'intro to android' class. The exercise and homework questions are on point, the writing clear, and the example applications germane and useful. It is a wonderful tool for anyone looking to start into the field, and very much an a large pattern introduction book.
(Disclosure: This book was provided to me by the publisher to review.)
Page 1 of 1
Replies To: Book Review: Murach's Android Programming 2nd edition book
Page 1 of 1