Chapter 3. The Ingredients of an Android Application

Based on the foundation laid in the preceding chapter for writing robust Java code, this chapter introduces the major high-level concepts involved in programming for the Android platform.

Traditional Programming Models Compared to Android

Operating systems traditionally use a single entry point, often called main, which might parse some command-line arguments and then proceed to execute a loop that reads user input and produces output. The OS would load the program code into a process and then start executing it. Conceptually, this kind of process might look something like Figure 3-1.

A simple application in a process
Figure 3-1. A simple application in a process

With programs written in Java, it gets a little more complex: a Java virtual machine (VM) in a process loads bytecode to which it creates instances of Java classes as the program uses them. This process looks something like Figure 3-2. If you use a rich graphical user interface system like Swing, you might start a UI system on a second thread. It might use callbacks into the mainline code to process events.

A Java application, running in a Java virtual machine, in a process
Figure 3-2. A Java application, running in a Java virtual machine, in a process

Android introduces a richer approach by supporting multiple application entry points. Android programs should expect the system ...

Get Programming Android, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.