← Course home

About

Who runs this site, what it covers, and who it is for.

Who I am

I am Abdul Qayyum, a lecturer teaching Android programming. This site holds the material I use in class and the write-ups I produce alongside it.

I teach SPG 0562 · Android Programming, a course covering Android development in Java — from layouts and activities through to data binding and multi-screen apps.

What is on this site

Lecture slides. The full deck for every chapter of the course, published as interactive slides you can step through in a browser. Chapters cover the Android platform, development environment, layouts and constraints, data binding, and activities and life cycles.

Hands-on code. Complete, runnable Java and XML for every app built during the course, laid out in project-tree form so you can see where each file belongs.

Articles. Longer written tutorials on the topics students ask about most — the Activity lifecycle, data binding, styles and themes, click listeners, and passing data between screens. These are written to stand on their own, so they are useful whether or not you are in my class.

Who it is for

Primarily my own students, who need the slides and the code between classes.

But the articles are written for anyone learning Android development in Java. If you have arrived here from a search engine while stuck on findViewById, a lifecycle callback, or a binding class that will not generate, the material is meant to help you too.

Everything assumes Java, not Kotlin, and targets the version of Android Studio current at the time of writing.

How the material is written

Three principles shape everything here.

Plain terms first. Every important concept gets a real-world analogy before the technical definition. An Activity is a room in a house; an Intent is an envelope; a style is the "Heading 1" preset in Word. Abstract definitions alone rarely land the first time.

Complete, runnable code. Snippets that assume context you do not have are worse than no snippets. The code pages show whole files and where they sit in the project.

The errors you will actually hit. Most tutorials show the happy path. The articles here spend as much time on what goes wrong — silent key mismatches, stale generated classes, the effectively-final rule — because that is where learning actually stalls.

Contact

Questions, corrections, or something explained badly? See the contact page.