Welcome to this review of the Pluralsight course Exploring Android Studio
by Larry Schiefer

Larry Schiefer
Larry Schiefer is the CTO and co-founder of HiQES, a mobile, embedded, and application development service company. Larry has over 16 years of experience leading teams, and designing and developing high performance and robust software, and is a Google GDE.
I am new to Android and modern Java development and initially found Android Studio to be quite a large and complex IDE to learn.
I found plenty of forums with various bits and pieces of information, but I felt that I was only picking up patches of knowledge I didn’t have a good understanding of what the most essential concepts were or how the different pieces fitted into the overall picture.
So I was glad to see that Larry has produced this course to make getting started with this programming environment a lot easier.
Also in this series:
Part 1 – Introduction
Part 2 – Setting Up Android Studio
Part 3 – Migrating to Android Studio
Part 4 – SDK Tools
Part 5 – Creating Apps
Part 6 – Building and Debugging
Part 7 – Library Projects
Part 8 – Building a Release Package
Part 9 – Advanced Features
Part 10 – The Gradle Build System
Part 11 – The Android Gradle Plugin
Introduction
Introduction and Overview
Larry starts by explaining the goal of this course: to make you an effective Android developer!
There is content here both for beginners and more experienced Android developers who want to transition from older Eclipse ADT-based tools.
A Brief History of Android Development Tools
Some of the things that Larry teaches us in this clip are:
– The First public release of Android Tools was back in October 2008
– SDK Tools was released in October 2009 with two managers: the SDK manager and the AVD manager
– Split of platform tools in December 2010
– x86 support in July 2011 with SDK Tools Revision 12 (previously only ARM platforms were supported)
– Eclipse and ADT bundled in November 2012
– Android Studio announced in May 2013
– Android Studio v0.2.x in July 2013
– Android Studio v0.4.2 in January 2014
If some of these terms are unfamiliar, Larry describes them for you here.
At the time of writing, the latest version of Android Studio is v2.1
Comparison of Eclipse and IntelliJ
Android Studio is based on the IntelliJ IDE.
Larry provides an overview of the difference between the two most popular Java based IDEs.
Nomenclature and Miscellaneous Differences
Eclipse and Android Studio use different terms to mean the same thing. For example a Workspace in Eclipse is the same as a Project in IntelliJ/Android Studio.
Larry describes several other terms and what they mean.
Setting Up Android Studio
Introduction
In this module Larry sets up Android Studio on a Windows 7 64 bit machine
If you need to install Android Studio on a Mac, you can use this guide
System Requirements
We learn that these are very similar to Eclipse/ADT requirements.
Larry explains that additional software needs to be installed on your machine, such as Windows updates and the Java JDK
Download, Install, and Update
This video clip is a bit out of date now because Android Studio is no longer an Early Access Preview, but the installation process is mostly the same today.
I did not see any Canary updates offered to me, and I think this is due to Android Studio now being a stable mainstream product.
Larry says that it is usually a good idea to update, but there are some issues to be aware of
Dangers With Updates
Again I don’t think this clip is entirely relevant any more because updates aren’t still getting pushed out as regularly as Larry describes here.
Larry also describes a problem with Gradle version numbers and Android Gradle plugin versions being different.
Migrating to Android Studio
Overview
This module covers the exporting of an existing Eclipse ADT project
Unlike Eclipse, Android Studio uses a Gradle-based build system.
Exporting Projects From Eclipse
Larry explains that there is an ADT plugin which includes the ability to export existing projects for Gradle-based builds. We warns that this is not the best long term option however.
We also learn the ADT provide export functionality is no longer needed, as we can now directly import Eclipse projects.
Larry demonstrates the ADT plugin approach in this clip.
Importing Projects Into Android Studio
This clip demonstrates directly importing Eclipse projects. An example ToastTester app is run inside an Android emulator.
Larry ends with a brief discussion of using these projects in Git.
Common Android Studio Settings
It’s nearly time to go full throttle, but first we learn some additional options to tweak.
Larry shows how to change the theme to Darcula.
I found that this change no longer requires Android Studio to be restarted.
Larry also discusses several of the changes that you can make to the Editor Settings, including the Smart Keys and Colors & Fonts sections which are found by using the General drop down.
Android SDK Tools
The Android SDK Manager
The SDK Manager provides us with a UI driven mechanism for maintaining our SDK components.
It also has a command line option, but this is not covered in this clip.
Larry demonstrates the User Interface: how to load it, understanding all of the form elements and what they tell you about your settings, and installing new packages.
I found that the welcome screen has changed a lot since this course was recorded, but you can find SDK manager via the Configure drop down, and then clicking Launch Standalone SDK Manager
Larry highlights several important packages and explains what they mean.
Here is the Android Developer Dashboard page, which shows the current breakdown of usage of different Android versions.
We hear that the repository package is a local Maven repository used by Android Studio, and that we will learn more about that in the Maven module later in the course.
Larry also explains the importance of installing Intel HAXM and how to do that.
Next, we see the Manage Add-on Sites item which is found under the Tools menu
I could not find a TextSwitcher sample project in version 2.1 of Android Studio using the technique that Larry shows, but I did a search for TextSwitcher and found a Java file at
C:\Users\[username]\AppData\Local\Android\sdk\sources\android-23\android\widget
I discovered that the Android Studio v2.1 welcome screen shows the option “Import an Android code sample” and this is easier than finding and copying across files. The TextSwitcher is found in the Ui dropdown list.
Further instructions on sameples can also be found here: http://developer.android.com/samples/index.html
The Android Virtual Device Manager
The AVD Manager is another key component of our debug system.
Larry takes us through the Device Definitions tab, and briefly looks at how to create our own device definitions, but says we should not normally need to do this.
We then see how to create a new Android Virtual Device.
Your Android Virtual Devices are located under the users directory for the operating system, e.g. C:\USers\Schiefer\.android\avd
Larry also shows us several ways to reach the AVD Manager from the main Android Studio window
Android SDK Location
The Android SDK is available in 3 different forms:
- Bundled with Android Studio
- Bundled with Android Developer Tools (ADT)
- Stand alone installation
Larry highlights that each of these is a separate installation, so you could end up with multiple installations of the SDK on your machine.
We then see a tour of the various files and directories that were installed to C:\Program Files (x86)\android\android-studio\sdk
Along the way, Larry explains the aapt, aidl, dx, dexdump and llvm-rs-cc tools.
These seem to have changed at some point between release 19 and release 23 because it was not found in the same location on my PC and the following web page now shows different information than in this clip:
http://developer.android.com/tools/building/index.html
Larry mentions that the systrace tool will be covered later on in this course.
SDK Command Line Tools
This clip describes the graphics asset tools Draw 9-path etc1tool.

This is a monkey
Larry also explains the sqlite3 utility and the UI/Application Exerciser Monkey tool, a.k.a. the monkey tool
You can use the Monkey to stress-test applications that you are developing, in a random yet repeatable manner.
Despite the similar name, the monkeyrunner tool is not related to the monkey tool. Read more about this here
Finally, Larry describes zipalign, an archive alignment tool that you can read about here
For more information on all of the SDK Command Line tools see
http://developer.android.com/tools/help/index.html
Installing Intel’s HAXM Support
The Android emulators are managed by the ABD manager.
http://developer.android.com/tools/devices/emulator.html
In order to get significantly better emulator performance on Intel chips, it is necessary to install Intel’s Hardware Accelerated Execution Manager (HAXM)
Modern Intel hardware includes virtualization technology, and this is what is used to accelerate the emulator.
This software can be installed on Windows, Mac OS X and Linux, and Larry provides more details on this.
Larry demonstrates how to install this software from android-studio/sdk/extras/intel/Hardware_Accelerated_Execution_Manager
Installing the Google USB Driver
Information on using Hardware Devices is available from Google here and information on the Google USB driver is here.
Larry shows you how to uncover the developer options easter egg on your Nexus, and then enable USB debugging.
Next he describes how to update your driver software on Windows.
After this is done, you should see Android Composite ADB Interface listed in your Device Manager.
Continue to Part 5 – Creating Apps with Android Studio
Building and Debugging With Android Studio
Building the Project
This module continues to work with the app developed in the previous module.
Running the App
Debugging the App
Library Projects With Android Studio
Overview
Creating and Using a Library Module
Manual Library Migration
Using JAR Files
Summary
Building a Release Package
Overview
Creating Keys
Building the Release Package
Summary
Advanced Features
Overview
Refactor Support
Code Analysis
Project Navigation
Advanced Debug Features
Version Control System Integration
Module Summary
The Gradle Build System
Overview
Gradle and Groovy Background
Gradle Concepts
Gradle Configuration Phase Demo
Gradle Execution Phase
Miscellaneous Advanced Features
Gradle Plugins
Dependencies With Maven
Module Summary
The Android Gradle Plugin
Overview
Android Basic DSL
Advanced Android DSL
UI Integration
Summary
Related Courses
Exploring Android Studio is the 4th course in the Android learning path, which is aimed for .NET developers who are looking to learn how to work with Android and develop apps for the platform.
If you want some additional UI features to go with Cordova, and especially if you already use Angular JS, you should check out Steve Michelotti’s course Building Mobile Apps with the Ionic Framework and Angular JS.
Larry keeps mentioning Gradle throughout the course. If like me, you don’t have any experience with Gradle, you could watch the last two modules of the course before some of the earlier ones.
Alternatively, you can watch Gradle Fundamentals by Kevin Jones
If you are interested in Customizing Gradle, Tim Berglund has produced a Play by Play
Recommended Speed: x1.5
Pingback: Building Mobile Apps with the Ionic Framework and Angular JS | Zombie Code Kill
Pingback: Building your First Xamarin.Android App from Start to Store | Zombie Code Kill