summaryrefslogtreecommitdiffstats
path: root/docs/html/guide/basics/building-blocks.jd
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/guide/basics/building-blocks.jd')
-rw-r--r--docs/html/guide/basics/building-blocks.jd76
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>