Tech and Media Labs
This site uses cookies to improve the user experience.




Android Development Tutorial

Jakob Jenkov
Last update: 2014-10-27

Android is an operating system for mobile phones, tablets, TVs and similar devices. Google bought Android in 2005 and has since made Android available for mobile phone, tablet and TV producers. The result is that popular brands like HTC, Samsung, Sony, LG, Motorola etc. as well as lots of cheaper brands are now producing phones, tablets and TVs running the Android operating system. At the time of writing more than 1 billion Android devices have been activated world wide, and around 1.5 million Android devices are activated every day.

Android phones and tablets can have Android apps (applications) installed on them. I am not yet sure how Android TVs work, but it sounds logical that you can install Android apps on Android TVs too. These Android apps can be executed just like you execute applications on a laptop or desktop computer. You can program Android apps in Java or C++ . You can also program Android apps using wrapper technologies like PhoneGap or Titanium, or compile Scala into a Java Android app (I have heard that is possible).

Android Apps in Java

This tutorial will focus on Android app development in Java. It is also possible to develop Android apps in other programming languages like C++ or Scala. Java is (still) a very popular programming language though, so it makes sense to start with that.

Android 4.0 and Later

The Android version I will use in these tutorial will be Android 4.0 and later. At the time of writing the newest Android version is Android 4.4 (KitKat), but many active Android devices run older versions than Android 4.4, so it makes sense to learn a bit about developing for earlier Android versions. But not earlier than Android 4.0 . At the time of writing, about 90% of all Android devices run Android 4.0 or later

As time pass and older Android versions are removed from the market, I will probably update this tutorial to not cover these older versions. As you can see from the link above, 78% of Android devices run Android 4.1 or later, 53% of Android devices run Android 4.2 or later and about 25% of Android devices run Android 4.4.

My Android Learning Strategy

I would suggest that you develop the simplest possible "Hello World" Android app and get it up and running on your Android device. Once you have a simple "Hello World" app it is much easier to play around with whatever else you read about, either in this tutorial or elsewhere.

I used this strategy myself, and once I reached a state where I could experiment with what I learned, and see it running on my phone, my learning accelerated. Both because it stuck better in my memory, but also because I now had working code examples I can look at.

This Android tutorial is designed to get you up and running with a simple "Hello World" as fast as possible, and then build upon your Android understanding from there.

The Android Developer Home Page

You can find a lot of useful information about Android development on the official Android developer home page:

http://developer.android.com/

Getting the Android SDK

In order to develop Android apps in Java you need the Android SDK and an IDE. You can get both from the official Android developer home page:

http://developer.android.com/sdk/index.html

There are different options you can choose from. You can download the Android SDK separately from an IDE, or download the Eclipse IDE with the Android SDK bundled. You can also download an IDE called Android Studio which is based on the popular IntelliJ IDEA community edition. Android Studio will eventually become the official Android IDE, so if you are new to Android development, perhaps it is a good idea to start with Android Studio.

Android Tutorial is Work in Progress

This Android development tutorial is work in progress. The writing of this Android tutorial will follow two phases. In phase one the tutorials will mostly look like developer notes rather than full tutorials. The Android platform is pretty big so there is a lot to learn. Thus I will start out with what looks like notes. As my understanding of Android grows I will go back and update the various tutorials to include more details, code examples, diagrams etc. It will take some time, but the tutorials will eventually get there.

If you find some Android topics are only covered briefly, or not covered at all, either wait until I get around to updating the tutorials, or write me and ask if I plan to write more about that. You can find an email address on my About page.

Jakob Jenkov




Copyright  Jenkov Aps
Close TOC