Beginning Android 4 Book Review

Book Title: Beginning Android 4 Application Development
Author: Wei-Meng Lee
Publisher: Wrox

Mobile application development is all around these days and Android is one of the famous platform for smartphones. This title introduce reader to android development and it’s for best fit for beginners. 

Just to share a bit background here , I have been working on .NET/C# platform for almost 5+ years and so I was new to android/java/eclipse.

This book serves as a great boost to newbie by providing step by step, clear, practical examples and in full color screenshots. So the flow and example helps a lot in contrast to reading android API details online. The high level outline contains following topics:

  1. Introduction
  2. Getting Started with Android Programming
  3. Activities, Fragments and Intents
  4. Getting to know the Android User Interface
  5. Designing your user interface with views
  6. Displaying Pictures and Menus with Views
  7. Data Persistence
  8. Content Providers
  9. Messaging
  10. Location-Based Services
  11. Networking
  12. Developing Android Services
  13. Publishing Android Applications
  14. Appendix: Using Eclipse for Android Development
  15. Appendix: Using the Android Emulator

I would like to highlight that appendices are really helpful for readers who are new to eclipse IDE and android emulator.

However if you have little experience of android previously then you might not find this book satisfy your thirst for advance topics. And I think that there must be a section of guidelines for new mobile application development, so things like battery utilization, network usage optimization etc. But the book covers most commonly used APIs.

Bottom line: If you are new to android world, this book is a good fit for you. Go buy it. If you have step through initial ladders in android development this book might not be best fit for you. 

I would like to thank wrox for sending me a complimentary copy on request.

Visual Studio Commands

***This blog post is part of the series Visual Studio underutilized features***

Visual Studio Commands

Almost all interactions in visual studio in form of menus, dialog boxes, windows, toolbars etc. are executed using commands. Some of them are even available from command line argument. For instance, you can build your solution from “Developer Command Prompt for VS2012” that ships with visual studio tools, using command:
 
> devenv /Build HelloWorld.csproj
To get good understanding on built-in commands in visual studio IDE, open up the “Command Window” in visual studio from (View -> Other Window -> Command Window), you will notice a command prompt. All your menu items, toolbar items, editor context menu, nearly everything that can be done using user interface can be actually executed via commands and you can validate this in “Command Window”

 
For instance, try executing a command e.g. File.NewProject, the visual studio will open the file new dialog. The same command is executed when you select File -> New Project or press Ctrl+Shift+N.
The key point here is to understand that visual studio IDE uses centralize command system binded with user interface element. If you have idea about command pattern or you have worked with commands in Windows Presentation Foundation, you must be having good understanding of this concept.
Besides learning shortcuts, Command window is quick way to execute commands in Visual Studio instead of achieving the same by navigating though menus with mouse intervention. This saves a lot of time, part of the reason is because it’s difficult to memorize many shortcuts.
Visual Studio 2012 provides a great alternative in form of “Quick Launch” to quickly search/navigate to different commands, menus, dialogs, tool windows etc. However, I think that Quick search is a great alternative available in Visual Studio 2012

External Tools and Commands

Another nice option that visual studio provides is to create an external command that can be bind with an external tools.  You will find “External Tools” option under “Tools” menu.
You will observe that there is already some list of pre-defined external tools defined with associated commands along with the arguments etc.

Here we can create our custom menu item. For example, I want to view solution (.SLN) file in editor. Out of box solution context menu does not ship with item to open solution file in editor, however you can do this from windows explorer/directory. So let’s add a new external tool with title “Open Solution File in Notepad” and associate command of notepad.exe. The arguments will be $(SolutionDir)$(SolutionFileName) which together refers to complete path to solution file.
 
What it does that given any solution open, it will look run the notepad command with solution file path as argument. That’s it. Now you will see the newly added item in Tools menu.

So, if you haven’t, go ahead and try using command window.