By: Jonathan Engelsma On: October 12, 2010 In: Blog, Technical Articles Comments: 11


Since the Android mobile platform was first open sourced by Google in November 2007, it has attracted thousands of developers and deployment of over 70,000 mobile applications in the Android Market with over 1 billion downloads. Today, more than 60 smart phones from major manufacturers run the Android platform. In addition, within the last two years, the number of web searches through mobile phones (both Android and non-Android platforms) has increased five times. All these numbers show how the Android project has gained its momentum to move forward and how mobile applications will become more widely-used by smart phone users.

This tutorial, presented by GVSU Computer Science Profs Hans Dulimarta and Jonathan Engelsma, will introduce you to the open source Google Android SDK and how to develop mobile applications on the Android platform. Upon completing this tutorial, you will have acquired a working knowledge of the Android platform and its development environment.  As we progress through the topics we will incrementally develop a fully functional Android Twitter application from scratch to learn the key concepts and overall life cycle of an Android application.  By downloading the source code and following along you can quickly develop an understanding of the Android platform and go off and build Android apps of your own.

The Android SDK is based on the Java programming language, so in this tutorial we will assume you already have a working knowledge of Java.  If you do not, we’d suggest you Google for one of the many wonderful Java tutorials online and come up to speed in Java before attempting this tutorial.  We also realize that it would be futile to try to cover the entire Android platform in a half dozen 30 minute segments!   Instead, we’ve sort of cherry picked what we think are the basic core concepts that every Android developer must learn along the way.  We believe once you’ve mastered these you are well positioned to master the entire Android platform in its full glory.

Here are the links you need to retrieve the videos, viewgraphs, and sample source code:

1. Download the videos on iTunes U.
2. Download a copy of the viewgraphs used in the tutorial here.
3. Download a copy of the sample source code here.

Here is a brief summary of the contents of the tutorial:

Module 1: An over view the Android platform archiecture, the Dalvik virtual machines, identification of the key Android building blocks: Activities, Services, Broadcast Receivers, Content Providers, Intents, and the Activity lifecycle.  Duration 27:18.

Module 2: Whirlwind tour of setting up your Android development environment.  Your first “hello world” Android app, how to emulate and debug Android applications on your desktop.  Duration 30:13.

Module 3: Android user interface basics.  Views, viewgroups, layouts, and widgets.  A brief discussion comparing Android UI concepts to the potentially more familiar Java Swing/AWT concepts.  Revisiting the “hello world” app from the previous module and making it interactive. Duration 29:47.

Module 4: Most interesting mobile apps fetch and interact with data stored in the cloud.    In this module we present and discuss guidelines for dealing with various challenges that networked mobile apps face.  To demonstrate these concepts, we revisit our running sample program and integrate with  the Twitter RESTful web services to search for and display interesting tweets. Duration 25:23.

Module 5: In this modules we look at ways to jazz up our sample program by using more advanced techniques.  In particular we discuss and demonstrate the importance of using RelativeLayouts.  We also show how LayoutInflators are used to instantiate individual list items via an XML description of the item’s layout. Duration 22:38.

Module 6: We complete the tutorial by discussing a number of more advanced topics.  In particular we show how to handle the special markup found in the tweet text (urls, @mentions, #hashtages, etc.).  We also show how to efficiently download and display the twitter user thumbnails for each tweet.  Duration 30:00.

We recently gave this tutorial at the Consortium for Computing Sciences in Colleges Conference, and in the future will be giving it at additional venues as well. We would really appreciate any feedback/comments that will help us improve the content moving forward.

Finally, a big THANK YOU to our GVSU colleagues Vincent St. Germain who was responsible for the video production, and to Jayne Dissette who was the behind-the-scenes instigator of this entire project.

Jonathan Engelsma on EmailJonathan Engelsma on GithubJonathan Engelsma on GoogleJonathan Engelsma on LinkedinJonathan Engelsma on TwitterJonathan Engelsma on Youtube
Jonathan Engelsma
Jonathan Engelsma leads the GVSU Mobile Applications and Services Lab. He is currently an Associate Professor in GVSU’s School of Computing. His research interests are in distributed and pervasive computing with a focus on mobile applications and services. Dr. Engelsma earned his Ph.D. in Computer Science from Michigan State University in 1993. He has over two decades of industry experience, including 16 years in various research and development positions with Motorola.


    • Neil
    • November 18, 2010
    • Reply

    Just wanted to thank the instructors for making this available online. I’m an experienced .Net developer in California wanting to learn more about Android and this is a great way to do it. I’ve watched 3 modules so far and its great.

    • Arnd
    • December 08, 2010
    • Reply

    “Download a copy of the sample source code here.”

    File seems to be corrupt, unable to extract any files…

    • Marc
    • December 10, 2010
    • Reply

    Thank you very much for such a quick and easy way to get into Android thinking mode. This tutorial will help many people, for sure!

    • Derek
    • December 10, 2010
    • Reply

    Thank you for this! I came here looking for the source code and found it. This is a great addition to reading the tutorials on the android website.

    • Ade
    • February 07, 2011
    • Reply

    I am very grateful for your generosity in sharing this knowledge via video and then the code to examin.

    Thanks guys. You have helped me a great deal.

    • Android Wall
    • February 10, 2011
    • Reply

    Thanks! this is very informative downloaded the source code its very interesting.

    • Phil
    • February 19, 2011
    • Reply

    Great tutorial videos..but would love to see the source code. However the downloaded source code file is corrupt. Would be great if you could correct or send it on. Thanks..

    • Jonathan Engelsma
    • April 01, 2011
    • Reply

    Phil, Arnd: Just saw your messages about the source being corrupt… not sure what is going on here, as I just doubled checked and the zip archive with source downloads and unpacks fine for me. I could email you a copy, but it would be the same copy as you are trying to download.

    Anybody else having problems with the zip archive containing the source?

    • kamarul
    • July 07, 2011
    • Reply

    I cann’t download these videos from itunes. Can anyone help?? It’s really urgent for me.

    • android downloads
    • August 15, 2011
    • Reply

    I like anything n everything that is composed nicely… thumbs up you got some good content going on there for sure.

    • FredB
    • January 18, 2013
    • Reply

    I downloaded the source zip to my mac without incident.

    One question about integrating with Twitter. How is the integration possible? Do you have to download a Twitter SDK? Sign up to be a Twitter developer? I was expecting Module 4 to discuss these issues.

Leave reply:

Your email address will not be published. Required fields are marked *