diff options
Diffstat (limited to 'docs/html/guide/basics/building-blocks.jd')
-rw-r--r-- | docs/html/guide/basics/building-blocks.jd | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/docs/html/guide/basics/building-blocks.jd b/docs/html/guide/basics/building-blocks.jd new file mode 100644 index 0000000..b8a609e --- /dev/null +++ b/docs/html/guide/basics/building-blocks.jd @@ -0,0 +1,76 @@ +page.title=Building Blocks +@jd:body +<h1>Android Building Blocks</h1> + +<p>You can think of an Android application as a collection of components, of +various kinds. These components are for the most part quite loosely coupled, +to the degree where you can accurately describe them as a federation of +components rather than a single cohesive application.</p> + +<p>Generally, these components all run in the same system process. It's +possible (and quite common) to create multiple threads within that process, +and it's also possible to create completely separate child processes if you +need to. Such cases are pretty uncommon though, because Android tries very +hard to make processes transparent to your code.</p> + +<p>These are the most important parts of the Android APIs:</p> + +<dl> + <dt><a href="{@docRoot}devel/bblocks-manifest.html">AndroidManifest.xml</a></dt> + <dd>The AndroidManifest.xml file is the control file that tells the system + what to do with all the top-level components (specifically activities, + services, intent receivers, and content providers described below) + you've created. For instance, this is the + "glue" that actually specifies which Intents your Activities receive.</dd> + + <dt>{@link android.app.Activity Activities}</dt> + <dd>An Activity is, fundamentally, an object that has a life cycle. An + Activity is a chunk of code that does some work; if necessary, that work + can include displaying a UI to the user. It doesn't have to, though - some + Activities never display UIs. Typically, you'll designate one of your + application's Activities as the entry point to your application. </dd> + + + <dt>{@link android.view.View Views}</dt> + <dd>A View is an object that knows how to draw itself to the screen. + Android user interfaces are comprised of trees of Views. If you want to + perform some custom graphical technique (as you might if you're writing a + game, or building some unusual new user interface widget) then you'd + create a View.</dd> + + + <dt>{@link android.content.Intent Intents}</dt> + <dd>An Intent is a simple message object that represents an "intention" to + do something. For example, if your application wants to display a web + page, it expresses its "Intent" to view the URI by creating an Intent + instance and handing it off to the system. The system locates some other + piece of code (in this case, the Browser) that knows how to handle that + Intent, and runs it. Intents can also be used to broadcast interesting + events (such as a notification) system-wide.</dd> + + + <dt>{@link android.app.Service Services}</dt> + <dd>A Service is a body of code that runs in the background. It can run in + its own process, or in the context of another application's process, + depending on its needs. Other components "bind" to a Service and invoke + methods on it via remote procedure calls. An example of a Service is a + media player; even when the user quits the media-selection UI, she + probably still intends for her music to keep playing. A Service keeps the + music going even when the UI has completed.</dd> + + + <dt>{@link android.app.NotificationManager Notifications}</dt> + <dd>A Notification is a small icon that appears in the status bar. Users + can interact with this icon to receive information. The most well-known + notifications are SMS messages, call history, and voicemail, but + applications can create their own. Notifications are the + strongly-preferred mechanism for alerting the user of something that needs + their attention.</dd> + + <dt>{@link android.content.ContentProvider ContentProviders}</dt> + <dd>A ContentProvider is a data storehouse that provides access to data on + the device; the classic example is the ContentProvider that's used to + access the user's list of contacts. Your application can access data that + other applications have exposed via a ContentProvider, and you can also + define your own ContentProviders to expose data of your own.</dd> +</dl> |