This post is a follow-on to the series
I began a few weeks back on mobile app development in general and Android coding in particular. It’s also the concluding post in the series. The previous post on getting started with Android development
walked you through the steps of installing Android Studio and creating a demo project from sample code. It also pointed you to some online resources for learning Android development and Java
and then basically wished you luck. I’d be remiss to leave you on your own to figure things out the rest of the way, so I’d like to share with you two great methods that did wonders for advancing my proficiency in Android development.
The first resource is a self-study book. Yes, I can imagine you rolling your eyes now. You’ve probably purchased your fair share of “Learn XYZ in 24 Hours” books and felt cheated at the end. I know I have. But I’ve done the hard work for you sifting through summaries and customer reviews of the top Android programming books on Amazon and then taking the plunge and purchasing one pretty much on blind faith. Fortunately for me, the stars aligned and I picked a winner: “The Big Nerd Ranch Guide to Android Programming.”Yes, it’s a goofy name, but get past it. I purchased the first edition released in 2013. A lot has changed in the Android development world since then. The first edition targeted the Android 4.2 SDK (Jelly Bean) and the IDE used in the book was Eclipse. Fast forward to the third edition and the IDE of choice is Android Studio. The third edition also covers unit testing, the MVVM architectural model, accessibility, and localization. Some of the programming projects have been changed up and expanded, but the core learning style of the latest edition remains the same: starting small and then building up to more complex and challenging examples.I had been programming for Android in a professional capacity for about 18 months when I picked up the guide. I had learned to program Android apps under the Xamarin platform which uses .Net and the C# programming language to achieve a quasi-multi-platform environment. After I struck out on my own, I quickly realized that I would need to be well-versed in both Java and Eclipse if I wanted to pick up work as an Android developer elsewhere. Most shops still program using the Android SDK and Java. Fortunately, I had a head start with object oriented programming and an understanding of the Android SDK and architecture. I just needed more study and hands on practice.It took some doing, but I managed to work through the entire guide completing all the projects in about four months. By the time I reached the end, I felt like I was a much more confident and experienced Android developer. In order to get the most out of the guide you will need to actually type in the code from the book into the IDE, build it, and test it. Being a passive spectator won’t cut it!Yes, you’ll run into problems and frustration. Not all of my programs worked the first time I clicked the run button in Eclipse, usually the result of careless copying, but sometimes for other reasons that required leg work and swearing to resolve. The guide offers a user forum that is invaluable. I learned a lot from other readers on the forum and also enjoyed helping out others who were stuck when I could. Being able to collaborate when you’re doing self-study makes for a less lonely experience and also reinforces your own understanding when you must explain concepts to others.The guide consists of several programming projects that focus on fundamental aspects of Android development. Early projects introduce the visual editor and how to wire up controls into the code. The largest project in the book is called “Criminal Intent,” which is a play on words for Android Intents. The authors of the first edition, Bill Phillips and Brian Hardy, impart a wry sense of humor to the book which went a long way to lightening the mood. The app itself is a fully-contained app for recording workplace infractions such as leaving a messy microwave or not replacing the copier paper when using the last sheet. Interfacing with the camera in Android is particularly challenging and this project makes the most of that frustration.For me to have gotten all the way through a book like this is rare. My bookshelf groans under the weight of technical books that I’ve only read part way. Looking back, it was doing something almost every day if only typing in a few lines of code that kept the momentum going in a forward direction and got me to the end. Stopping in the middle and then coming back after more than two weeks would have been the kiss of death. There’s something about loading apps that you wrote on your phone that draws you in and keeps you going. I know it did for me. I recommend getting the soft cover version of book rather than the Kindle eBook simply because it’s easier to read and follow the code. My concern is that long lines of code will wrap in the electronic version making it difficult to follow.The other learning method I used after completing the Big Nerd Ranch Guide was enrolling in a MOOC from Coursera in Android programming. It provided me an opportunity to further hone my coding skills and interact with both an instructor and my fellow virtual students – over 10,000 of them! There are many ways to learn technical subjects and my experience has been that it often takes more than one to truly understand difficult concepts. Self-study methods are a great option especially when enrolling in university classes isn’t an option. These can take the form of instructor-led video courses such as those offered here on Cybrary.it, self-study books, and MOOCs. Pursuing more than one approach will add another dimension or two to your educational development!