IDE

An IDE or Integrated Development Environment is a software to run and execute your code. It has a lot of features which make development faster like code completion, organizing your project, searching for resources in your project, debugging your code etc. It can also be extended by installing plugins. For example, there is a plugin called key promoter which helps you learn keyboard shortcuts for the IDE by showing a modal window with the shortcut when you do an action/sequence of actions 3 times via mouse. For Android development the de facto IDE is Android Studio. It used to be eclipse previously but Google is not supporting it anymore. Android studio is a customized version of Intellij Idea by Jetbrains . Below is a photo of the Android Studio interface.

Android Studio interface
Android SDK

Android SDK (software development kit) is the set of libraries and resources (documentation, images, emulator etc ) that are required for development of application. A library is a collection of useful code which can be shared across easily. Imagine someone has written some code to perform some mathematical calculation. If they want to share their code to others, the easiest way would be to bundle it as a library and share.Android SDK comes bundled with android studio but can be downloaded separately and configured along.

Google provides different set of libraries and resources for different versions of the Android OS. All the resources can be updated within Android studio. You generally don’t have to worry about different versions because it is backwards compatible most of the times

Setting Up Your First App

After setting up and running the IDE, you’d want to try and run a basic android app. Fortunately, Android Studio has plenty of samples that you can easily import and run.

Running the App on Emulator

Once you import a sample you can think about running it. There are two ways that you can run your application: an emulator or a real device.

An emulator is a software application designed to mimic the behavior of a real device. It’s very useful in testing because you don’t need to buy an actual device. You can emulate different OS versions, screen sizes, display densities, some hardware features. It gives you look and feel of an actual phone/Tab on your PC or Mac.

Since Android is an open source operating system adopted worldwide and used in devices of varying features, it’s hard to test compatibility. This is where the emulator comes handy. Having said that, some features like NFC, Bluetooth cannot be emulated and you will need to use real devices for that. Also it is advisable to run production apps on real devices before releasing.

Android SDK comes bundled with default emulator image for a specific OS version. You can download and install different emulator images through Android Studio as well. The emulator images are called AVDs or Android virtual devices.

There are also some third party emulators available that you can use to run and test your apps. For example, there is GenyMotion, BlueStacks, and remix OS emulators.

Once you have set up an AVD, you can then proceed to run your application.

Android Emulator
Running on Real Devices

When you want to run you app on a real device, you would need a compatible device connected to your PC via USB. You would first need to install manufacturer provided driver software for that model installed on your PC. A driver is a piece of software that interfaces with a device’s hardware and a computer.

Installing drivers for different phone models is slightly different depending on the manufacturer and the model number. But it is a very similar process. Here is an example for Samsung devices. Once that is done, your device shows up as a runnable option when you press run button on Android Studio.

Android Studio device list

As you can see in the picture, my Xperia Z3 device shows up after I have configured it.

15 Curated Resources

Install Android Studio

free, Documentation

Short step by step tutorial with video on how to install Android Studio.

Android Studio Documenation

free, Documentation

I’ll link to many specific parts of this documentation a lot in this syllabus, but here’s the start of the User Guide for Android Studio

Keyboard Shortcuts You Cannot Miss

free, Reference Sheet

Take the time to learn the correct keyboard shortcuts, it will heavily increase your workflow and productivity.

This video course goes over the basics of android studio such that it becomes very easy for developers to work with.

Find Sample Code

free, Documenation

Helps you to find sample code for the IDE.

Create and Manage Virtual Devices

free, Documentation

Shows you how to manage different emulators.

Video that shows you how to setup and manage virtual devices in Android Studio.

GenyMotion

free, Emulator

GenyMotion has free and paid options.It provides some extra feature that the standard emulator that you get with the SDK.

BlueStack

free, Emulator

Bluestacks gives extra features like hardware acceleration for games and fullscreen mode.

Remix OS

free, Emulator

Remix OS has an emulator with a customized android OS. It gives features such as opening apps like different windows similar to a desktop OS like windows and OSX

Run Apps on the Android Emulator

free, Documentation

Helps you to manage different virtual device configurations in Android Studio

This video goes over managing different virtual device configurations, in step by step fashion

Shows you how to setup a Samsung phone for running apps with Android Studio

Goes over configuring your device to run your app.

Video tutorial for configuring your device to run your app.