You are on page 1of 8


org (/android-tutorial)
Android App Challenge is live & kicking. Build an app as per requirement & get it tested from
your computer. Check it out here! (/android-tutorial/challenges/android-http-twitter)

Android App Development Tutorial


New to Android ? Start with Concept Lessons.

Learn to implement those concepts in a Twitter App Tutorial with step by
step instructions & app evaluation.

1. Prior programming experience preferrably Java.
2. Inclination towards learning by building an app (& not just sit & watch videos).
P.S. Never worked with Android before ? Dont worry, elaborate steps to download, install & setup
are included in the tutorial.

Explore the Tutorial

No login required

What our users are saying

Zahar Veigman
10+ years experience in C++, Android noob, works at HP, Tel Aviv, Israel
I decided to pay for Module 2 taking into account that the first module gave me the "feeling" of the course and
also my friend (he is RUBY developer) recommended this tutorial when I asked him about android courses online.
I liked the balance between theory (and possibility to go deeper with the theory) and practice sessions.I want to
note that I took some android course on some other website some time ago - and didn't finish it since it was too
boring and basic.

Zuberot Viktor
Lead Android Dev, 4+ years experience, works at SEDC, Skojpe, Macedonia
I tried the virtual assistant and I find it very easy to use. The concept is great and I love it and the most important
thing is that it works. I was working with students and teaching them to develop Java and Android applications and
I know how hard it's to pay attention to every detail with every student. With this approach the students can
repeat videos and steps until they are sure they understand.
I'm the founder of the local Android community called Android Macedonia
( ( and the
course will be shared today to all members.

Prof Lawrence Angrave

Senior Lecturer, University of Illinois, taught androidapps101
( at Coursera
I looked through the slides but did not install the plugin.
The tutorial looks very promising and easy to follow
At some point you will need to address fragments and larger display support.
You may also want to suggest the genymotion emulator to users as the native emulators are very slow.

Rhuan Teixeria
Undergrad student, Faculdade Pitagoras University, Brazil

Hello pal, I loved to complete that new Tutorial 2, I love the way you guys show us the steps to complete the task. It
isn't that thing you just copy and paste, and it isn't very hard either, it's just the level of tips we need to try for
ourselves and really learn (not memorize words and commands).
I believe you already know there isn't such Android tutorial like yours; I mean that communication between Eclipse
and the Website to check our app, and the focus on showing the best way to do something. For example, when
explaining about the Async functions on other tutorials I've read, they use to show us all the ways of performing
async tasks, like using the Thread class or ThreadPool, etc, and when reading about all that, I was confused
because I didn't know which and why to use any of those ways. And that's something you guys do very well, the
best way of performing such tasks without making the user confused or tired. So I congrats you as well for such
excellent tutorials.

Explore Tutorial
Android Concept Lessons
Ideal for beginners

1. Android Building Blocks & Components (/android-tutorial/androidintroduction)

Want to know how to make Apps ? Check this Android tutorial to know the basic building blocks of
Android application (also known as Android Components) namely Activity, View, Intent, Service, Broadcast
Receiver & Notification

2. Android Development Environment Setup (/android-tutorial/androidsetup)

Check this Android tutorial to know how to setup Android SDK on your PC. It includes screencast for
setting up the SDK. The SDK installation has pre-requisites like installing JDK. It is all being covered in the

3. How to run Hello World Android app (/android-tutorial/android-helloworld)

Done with installing the Android SDK but clueless on how to get started ? This Android tutorial tells you
how to get started with a Hello World Android app. Creating your app for the first time can be daunting to
newbies. Here, we explain what various input fields stand for during the app creation process. We have
also explained the folder structure and different tools like Console, Logcat & DDMS which you will be
needing during Android app development.

4. Layouts in Android (/android-tutorial/android-layout)

One of the important components of Android apps are View elements which are contained in a
Viewgroup, also known as Layout. The Layout files are XML files. The User Interface design of your app
starts with the Layout file & arranging View elements inside it. Follow this Android tutorial to know how to
get started with Layouts & what are the most popular Layout types available in Android. Each Layout type
has a separate project that you can download, import in Eclipse & see the Layout in action.

5. Android Activity Lifecycle (/android-tutorial/android-activity)

While creating Hello World app, you would have noticed that 'New Project' wizard asks you for an Activity
name. Activity is the component of Android that you should be aware of. An Android app consists of
multiple Activities. At a time,since, you are looking at only one Activity of an application, all other Activites
(of the current app & the other apps) go to background. This is an Activity state. An Activity has many
states & lifecycle, which you need to handle as an Android developer. Follow this Android Tutorial to dig
deeper into an Activity, its state & lifecycle.

6. Intents in Android (/android-tutorial/android-intent)

Done creating Activity & corresponding User Interface through Layout XML files ? It is time to learn how to
navigate from one Activity to another. Intents in Android does exactly that. But there is more to it. You
can pass data from one Activity to another. You can launch non-Activity components like Services,
Notifications & even other Android apps.

7. Android View Elements (/android-tutorial/android-views)

This Android tutorial introduces some of the standard View elements like Button, TextView, EditText,
Radiobutton & Checkbox. It also talks about the View specific attributes that you can either set in the XML
view file or set it through your Activity java code. Some views have Listeners to which you can attach your
java code that gets activated on events. Example - a Button View getting clicked. The Listeners vary from
element to element & have been covered in the specific elements. After the standard/simple Views, some
complex View elements like ImageView, ListView (just an introduction), GridView & ScrollView are also
introduced with their specific attributes.

8. Android ListView (/android-tutorial/android-listview)

Android ListView is one of the most ubiquitious but also one of the most difficult concept to understand.
For the beginners, any list that you have seen on your Android phone (example list of phone numbers
when you launch your contact) is implemented using Android ListView. Here we have tried making it as
easier as possible for you by explaining the easiest way of implementing a basic Listview & then
explaining what each line of code represent. We then follow the similar process with more complex
ListView implementations.

9. How to Log in Android (/android-tutorial/android-log)

Your favorite Java dump command 'System.out.println()' does not work in Android. Know how to use to
use the Log class. An extensive Android tutorial on how to use LogCat to view & filter the log messages.

10. Android Dialogs / Popups / Toasts

...coming soon..

11. File Handling in Android

...coming soon..

12. Android Shared Preferences (Persistence)

...coming soon..

Twitter App Tutorial

Build an app inside Eclipse as you read instructions & we will evaluate it at every lesson

Module 1. Twitter App Tutorial Introduction (/androidtutorial/twitter/introduction)

Why you should learn from our tutorial & why our tutorial is better than others out there.
Lesson 1 . Hello World (/android-tutorial/twitter/1/hello-world-screencast)

Module 2. Twitter Login Screen UI (/android-tutorial/twitter/beginneractivity-layout-example)

Build a basic login screen User Interface for a Twitter app to get a feel of your first Android app. Learn
about basic Layouts & most widely used XML attributes.
Lesson 2 . Hello World to Hello Twitter (/android-tutorial/twitter/2/match-parent-example)
Lesson 3 . Add Username Fields (/android-tutorial/twitter/2/linearlayout-edittext-textviewexample)
Lesson 4 . Login - Add Password & Login Button (/android-tutorial/twitter/2/button-example)

Lesson 5 . Styling Elements (/android-tutorial/twitter/2/view-xml-attributes-example)

Module 3. Login Button Click Listener (/android-tutorial/twitter/loginbutton-click-listener-module)

Learn to use Click Listener by implementing it on the Twitter login screen.
Lesson 6 . Login Button Listener (/android-tutorial/twitter/3/button-listener-example)

Module 4. Login to TweetList through Intent (/androidtutorial/twitter/login-fire-intent-module)

Learn how Intent are used by creating a new TweetList Activity & moving to the Activity from Login
Activity using Intent.
Lesson 7 . 'No Tweet Found' Activity (/android-tutorial/twitter/4/creating-new-activity-example)

Module 5. TweetList screen using ListView (/androidtutorial/twitter/listview-example-module)

ListViews are hard. Learn to build & use ListView by creating TweetList Activity showing list of tweets,
from basic ListView to custom ListView followed by how to implement List item click
Lesson 8 . Basic ListView (/android-tutorial/twitter/5/basic-listview-example)
Lesson 9 . Creating Custom Layout (/android-tutorial/twitter/5/listview-custom-layout-example)
Lesson 10 . Hooking Custom Layout to ListView (/android-tutorial/twitter/5/listview-customadapter-example)
Lesson 11 . Implementing ListView Item (tweet) click (/android-tutorial/twitter/5/listview-item-clickexample)

Module 6. TweetList to Tweet Detail through Intent (/androidtutorial/twitter/intent-example-tweet-detail-screen-module)

Another use of Intent. On List item click, learn how to navigate to the Tweet detail screen using Intent
Lesson 12 . Creating & Loading TweetDetail Activity (/android-tutorial/twitter/6/new-activity-loadon-intent-example)

Module 7. Storing Login Data in SharedPreference (/androidtutorial/twitter/sharedpreference-example)

Learn how to store & retrieve data from SharedPreference by implementing the same for handling login
data in the Twitter app
Lesson 13 . Reading login data & logging it (/android-tutorial/twitter/7/android-logging-example)
Lesson 14 . Writing login data to SharedPreference (/android-tutorial/twitter/7/writing-tosharedpreference-example)
Lesson 15 . Reading login data from SharedPreference & modify app flow (/androidtutorial/twitter/7/reading-from-sharedpreference-example)

Module 8. Dynamic data for Tweet List (/android-tutorial/twitter/listviewdynamic-data-example)

Upgrade your ListView knowledge by showing up dynamic data on TweetList screen. Also, learn how to
create PoJos for storing data, also called Models in Android development.
Lesson 16 . Create Tweet Model (/android-tutorial/twitter/8/model-pojo-example)
Lesson 17 . Populate Tweet Model & use it in getView(..) (/android-tutorial/twitter/8/listviewgetView-example)

Module 9. Tweet List & Local Storage (/android-tutorial/twitter/localstorage-file-example)

Learn how to use local storage in Android app for a better user experience. Store tweets locally to a file
& read from it to show it on the ListView.
Lesson 18 . Writing tweets to file (/android-tutorial/twitter/9/local-storage-writing-to-file-example)
Lesson 19 . Reading tweets from file (/android-tutorial/twitter/9/local-storage-reading-from-fileexample)

Module 10. Managing tweets with AsyncTask (/androidtutorial/twitter/asynctask-tutorial-example)

All time taking process should happen asynchronously in Android using AsyncTask. Simulate a network
call using Asynctask to fetch tweets & show them up on the ListView on TweetList screen
Lesson 20 . AsyncTask Introduction. Simulate network call. (/android-tutorial/twitter/10/asynctaskparameters-example)
Lesson 21 . Show new tweets in AsyncTask (/android-tutorial/twitter/10/asynctaskdoinbackground-onpostexecute-example)

Lesson 22 . Move writing of tweets to new AsyncTask (/android-tutorial/twitter/10/nestedasynctask-example)

Module 11. Data over Intent for Tweet Detail Activity (/androidtutorial/twitter/intent-with-data-example-tweet-detail-screen-module)
Learn how to send data over Intents by sending the tweet information from TweetList screen to Tweet
Detail screen when a List item is clicked on TweetList screen.
Lesson 23 . Passing tweet data to TweetDetail Activity over Intent (/androidtutorial/twitter/11/passing-object-through-intent-example)