I am building an Android tutorial with app-first approach. Usually, people learn concepts first & then implement it an app. But most of the devs (including me), usually like to learn a new technology by start developing an app in it. I am trying to do the same at Codelearn & currently focussing on the Android tutorial.
The plan is to create a full-fledged production ready Twitter app from scratch. It is just 30% complete for now. So I have decided to keep posting the links of the lessons as & when they become available.
Since it is a hands-on tutorial, I have also built an Eclipse plugin, that would test your app at the end of every lesson to ensure you are building it right. You can either choose to just read the tutorial but I would recommend installing the plugin, trying the tutorial & get it tested from our server. I have written bunch of Robolectric tests that would test user's app at every lesson.
The tutorial is work in progress & some lectures are already live on the website. I have put some of the lessons & I will add one lesson every week
- Android App Building Block Introduction
Before starting to build Android apps, you need to understand the basics of Android app components. This lesson is the place total Android newbies should get started .
- Android Development Environment Setup
Now that you are aware of the basic building blocks, its time to get started with Android setup. There is a small video on how to install the Android ADT bundle on your PC.
- Why you should learn by building an app
Instead of just reading up some concepts, you should always start by building an app. Here, we will be building a Twitter app from scratch to production.
- Hello World in Android
Now that you have all the setup done, it is time to start with 'Hello World'. This lesson has a small screencast for you to understand how the control flow happens in a basic Android app. How Activity acts as the main entry point in the app, how Actvity uses Layout as the Views & how string values are kept in strings.xml .
- Ideating the Twitter app
The first step before the app is built is to create mockups for it. But since we are replicating an already created app, we are going to pick only a few screens, simplify the architecture & going to build the User Interface one by one.
- Change Hello World to Hello Twitter
We are going to change the Hello World title that we build in lesson 4 to Hello Twitter. We are also going to make the text cover the complete width of the screen using android:width attribute of the TextView & changing it to matchparent from wrapcontent
Prior Java or any other MVC programming language/framework experience
Prior working knowledge with Eclipse
The course will include all the basics of Android App Development
- Activity, Layout, Basic Views.
- Local Storage (Files & SharedPreference)
- Parallel process (AsyncTask)
- Models in Android
- Network Programming
- JSON Handling
- Twitter4J API usage
- Complex UI elements through Fragments
- Notifications of new tweets
- Background Service to keep listening for new tweets
- Basic theming
- Incorporating an externally designed theme
All the material will be hosted on Codelearn website. Some of the content is already live.
I am founder of Codelearn - a website that teaches a technology with app first approach. I have earlier created Rails tutorial on Codelearn which got reasonable attention on Reddit & Hacker News. I am not an Android experts & have an Android friend helping with the content. I learn from it myself, structure it the right way & then release it. I am the learner / QA guy for it.