O'Reilly logo

Programming Android, 2nd Edition by Masumi Nakamura, Zigurd Mednieks, Laird Dornin, G. Blake Meike

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required