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.
Operating systems traditionally use a single
entry point, often called
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.
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.
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 ...