glossary.jd revision 9066cfe9886ac131c34d59ed0e2d287b0e3c0087
1page.title=Glossary
2@jd:body
3
4<p>The list below defines some of the basic terminology of the Android platform. </p>
5    <dl>
6    <dt id="apk">.apk file</dt> <dd>Android application package file. Each
7    Android application is compiled and packaged in a single file that
8    includes all of the application's code (.dex files), resources, assets,
9    and manifest file. The application package file can have any name but
10    <em>must</em> use the <code>.apk</code> extension. For example:
11    <code>myExampleAppname.apk</code>. For convenience, an application package
12    file is often referred to as an ".apk".
13    <p>Related: <a href="#application">Application</a>.</p>
14</dd>
15
16    <dt id="dex">.dex file </dt>
17    <dd>Compiled Android application code file. 
18       <p>Android programs are compiled into .dex (Dalvik Executable) files, which
19        are in turn zipped into a single .apk file on the device. .dex files can
20        be created by automatically translating compiled applications written in
21        the Java programming language.</dd>
22
23    <dt id="action">Action</dt>
24    <dd>A description of something that an Intent sender wants done. An action is
25        a string value assigned to an Intent. Action strings can be defined by Android
26        or by a third-party developer. For example, android.intent.action.VIEW
27        for a Web URL, or com.example.rumbler.SHAKE_PHONE for a custom application
28        to vibrate the phone. 
29    <p>Related: <a href="#intent">Intent</a>.</p>
30    </dd>
31
32    <dt id="activity">Activity</dt>
33    <dd>A single screen in an application, with supporting Java code, derived
34    from the {@link android.app.Activity} class. Most commonly, an activity is
35    visibly represented by a full screen window that can receive and handle UI
36    events and perform complex tasks, because of the Window it uses to render
37    its window. Though an Activity is typically full screen, it can also be
38    floating or transparent.</dd>
39
40    <dt id="adb">adb</dt>
41    <dd>Android Debug Bridge, a command-line debugging application included with the
42        SDK. It provides tools to browse the device, copy tools on the device, and
43        forward ports for debugging. If you are developing in Eclipse using the
44		ADT Plugin, adb is integrated into your development environment. See 
45		<a href="{@docRoot}guide/developing/tools/adb.html">Android Debug Bridge</a>
46		for more information. </dd>
47
48    <dt id="application">Application</dt>
49    <dd>From a component perspective, an Android application consists of one
50    or more activities, services, listeners, and intent receivers. From a
51    source file perspective, an Android application consists of code,
52    resources, assets, and a single manifest. During compilation, these files
53    are packaged in a single file called an application package file (.apk).
54    <p>Related: <a href="#apk">.apk</a>, <a href="#activity">Activity</a></p></dd>
55
56    <dt id="canvas">Canvas</dt>
57    <dd>A drawing surface that handles compositing of the actual bits against
58    a Bitmap or Surface object. It has methods for standard computer drawing
59    of bitmaps, lines, circles, rectangles, text, and so on, and is bound to a
60    Bitmap or Surface. Canvas is the simplest, easiest way to draw 2D objects
61    on the screen. However, it does not support hardware acceleration, as
62    OpenGL ES does. The base class is {@link android.graphics.Canvas}.
63    <p>Related: <a href="#drawable">Drawable</a>, <a href="#opengles">OpenGL
64    ES</a>.</p></dd>
65
66    <dt id="contentprovider">Content Provider</dt>
67    <dd>A data-abstraction layer that you can use to safely expose your
68    application's data to other applications. A content provider is built on
69    the {@link android.content.ContentProvider} class, which handles content
70    query strings of a specific format to return data in a specific format.
71    See <a href="{@docRoot}guide/topics/providers/content-providers.html">
72	Content Providers</a> topic for more information.
73    <p>Related: <a href="#uri">URI Usage in Android</a></p></dd>
74
75    <dt id="dalvik">Dalvik</dt>
76    <dd>The Android platform's virtual machine. The Dalvik VM is an
77    interpreter-only virtual machine that executes files in the Dalvik
78    Executable (.dex) format, a format that is optimized for efficient storage
79    and memory-mappable execution. The virtual machine is register-based, and
80    it can run classes compiled by a Java language compiler that have been
81    transformed into its native format using the included &quot;dx&quot; tool.
82    The VM runs on top of Posix-compliant operating systems, which it relies
83    on for underlying functionality (such as threading and low level memory
84    management). The Dalvik core class library is intended to provide a
85    familiar development base for those used to programming with Java Standard
86    Edition, but it is geared specifically to the needs of a small mobile
87    device.</dd>
88
89    <dt id="ddms">DDMS</dt>
90    <dd>Dalvik Debug Monitor Service, a GUI debugging application included
91    with the SDK. It provides screen capture, log dump, and process
92    examination capabilities. If you are developing in Eclipse using the ADT
93    Plugin, DDMS is integrated into your development environment. See <a
94    href="{@docRoot}guide/developing/tools/ddms.html">Dalvik Debug Monitor
95    Server</a> to learn more about the program.</dd>
96
97    <dt id="dialog">Dialog</dt> <dd> A floating window that that acts as a lightweight
98    form. A dialog can have button controls only and is intended to perform a
99    simple action (such as button choice) and perhaps return a value. A dialog
100    is not intended to persist in the history stack, contain complex layout,
101    or perform complex actions. Android provides a default simple dialog for
102    you with optional buttons, though you can define your own dialog layout.
103    The base class for dialogs is {@link android.app.Dialog Dialog}. 
104    <p>Related: <a href="#activity">Activity</a>.</p></dd>
105
106    <dt id="drawable">Drawable</dt>
107    <dd>A compiled visual resource that can be used as a background, title, or
108    other part of the screen. A drawable is typically loaded into another UI
109    element, for example as a background image. A drawable is not able to
110    receive events, but does assign various other properties such as "state"
111    and scheduling, to enable subclasses such as animation objects or image
112    libraries. Many drawable objects are loaded from drawable resource files
113    &mdash; xml or bitmap files that describe the image. Drawable resources
114    are compiled into subclasses of {@link android.graphics.drawable}. For
115    more information about drawables and other resources, see <a
116    href="{@docRoot}guide/topics/resources/resources-i18n.html">Resources</a>. 
117    <p>Related: <a href="#resources">Resources</a>, <a href="#canvas">Canvas
118    </a></p></dd>
119
120    <dt id="intent">Intent</dt>
121    <dd>An message object that you can use to launch or communicate with other
122    applications/activities asynchronously. An Intent object is an instance of
123    {@link android.content.Intent}. It includes several criteria fields that you can
124    supply, to determine what application/activity receives the Intent and
125    what the receiver does when handling the Intent. Available criteria include
126    include the desired action, a category, a data string, the MIME type of
127    the data, a handling class, and others. An application sends
128    an Intent to the Android system, rather than sending it directly to
129    another application/activity. The application can send the Intent to a
130    single target application or it can send it as a broadcast, which can in
131    turn be handled by multiple applications sequentially. The Android system
132    is responsible for resolving the best-available receiver for each Intent,
133    based on the criteria supplied in the Intent and the Intent Filters
134    defined by other applications. For more information, see <a
135    href="{@docRoot}guide/topics/intents/intents-filters.html">Intents and
136    Intent Filters</a>. 
137    <p>Related: <a href="#intentfilter">Intent Filter</a>, <a
138    href="#broadcastreceiver">Broadcast Receiver</a>.</p></dd>
139
140    <dt id="intentfilter">Intent Filter</dt>
141    <dd>A filter object that an application declares in its manifest file, to
142    tell the system what types of Intents each of its components is willing to
143    accept and with what criteria. Through an intent filter, an application
144    can express interest in specific data types, Intent actions, URI formats,
145    and so on. When resolving an Intent, the system evaluates all of the
146    available intent filters in all applications and passes the Intent to the
147    application/activity that best matches the Intent and criteria. For more
148    information, see <a
149    href="{@docRoot}guide/topics/intents/intents-filters.html">Intents and
150    Intent Filters</a>. 
151    <p>Related: <a href="#intent">Intent</a>, <a
152    href="#broadcastreceiver">Broadcast Receiver</a>.</p></dd>
153
154    <dt id="broadcastreceiver">Broadcast Receiver </dt>
155    <dd>An application class that listens for Intents that are broadcast,
156    rather than being sent to a single target application/activity. The system
157    delivers a broadcast Intent to all interested broadcast receivers, which
158    handle the Intent sequentially. 
159    <p>Related: <a href="#intent">Intent</a>, <a href="#intentfilter">Intent 
160    Filter</a>.</p> </dd>
161	
162    <dt id="layoutresource">Layout Resource</dt>
163    <dd>An XML file that describes the layout of an Activity screen. 
164    <p>Related: <a href="#resources">Resources</a></p></dd>
165
166    <dt id="manifest">Manifest File</dt>
167    <dd>An XML file that each application must define, to describe the
168    application's package name, version, components (activities, intent
169    filters, services), imported libraries, and describes the various
170    activies, and so on. See <a
171    href="{@docRoot}guide/topics/manifest/manifest-intro.html">The
172    AndroidManifest.xml File</a> for complete information.</dd>
173
174    <dt id="ninepatch">Nine-patch / 9-patch / Ninepatch image</dt>
175    <dd>A resizeable bitmap resource that can be used for backgrounds or other
176    images on the device. See <a
177    href="{@docRoot}guide/topics/resources/available-resources.html#ninepatch">
178    Nine-Patch Stretchable Image</a> for more information. 
179    <p>Related: <a href="#resources">Resources</a>.</p></dd>
180
181    <dt id="opengles">OpenGL ES</dt>
182    <dd> Android provides OpenGL ES libraries that you can use for fast,
183    complex 3D images. It is harder to use than a Canvas object, but
184    better for 3D objects. The {@link android.opengl} and 
185    {@link javax.microedition.khronos.opengles} packages expose 
186    OpenGL ES functionality. 
187    <p>Related: <a href="#canvas">Canvas</a>, <a href="#surface">Surface</a></p></dd>
188
189    <dt id="resources">Resources</dt>
190    <dd>Nonprogrammatic application components that are external to the
191    compiled application code, but which can be loaded from application code
192    using a well-known reference format. Android supports a variety of
193    resource types, but a typical application's resources would consist of UI
194    strings, UI layout components, graphics or other media files, and so on.
195    An application uses resources to efficiently support localization and
196    varied device profiles and states. For example, an application would
197    include a separate set of resources for each supported local or device
198    type, and it could include layout resources that are specific to the
199    current screen orientation (landscape or portrait). For more information
200    about resources, see <a
201    href="{@docRoot}guide/topics/resources/index.html"> Resources and
202    Assets</a>. The resources of an application are always stored in the
203    <code>res/*</code> subfolders of the project. </dd>
204
205    <dt id="service">Service</dt>
206    <dd>An object of class {@link android.app.Service} that runs in the
207    background (without any UI presence) to perform various persistent
208    actions, such as playing music or monitoring network activity. 
209    <p>Related: <a href="#activity">Activity</a></p></dd>
210
211    <dt id="surface">Surface</dt>
212    <dd>An object of type {@link android.view.Surface} representing a block of
213    memory that gets composited to the screen. A Surface holds a Canvas object
214    for drawing, and provides various helper methods to draw layers and resize
215    the surface. You should not use this class directly; use 
216    {@link android.view.SurfaceView} instead. 
217    <p>Related: <a href="#canvas">Canvas</a></p></dd>
218
219    <dt id="surfaceview">SurfaceView</dt>
220    <dd>A View object that wraps a Surface for drawing, and exposes methods to
221    specify its size and format dynamically. A SurfaceView provides a way to
222    draw independently of the UI thread for resource-intensive operations
223    (such as games or camera previews), but it uses extra memory as a result.
224    SurfaceView supports both Canvas and OpenGL ES graphics. The base class is
225    {@link android.view.SurfaceView}.
226    <p>Related: <a href="#canvas">Surface</a></p></dd>
227
228    <dt id="theme">Theme</dt>
229    <dd>A set of properties (text size, background color, and so on) bundled
230    together to define various default display settings. Android provides a
231    few standard themes, listed in {@link android.R.style} (starting with
232    &quot;Theme_&quot;). </dd>
233
234    <dt id="uri">URIs in Android</dt>
235    <dd>Android uses URI strings as the basis for requesting data in a content
236    provider (such as to retrieve a list of contacts) and for requesting
237    actions in an Intent (such as opening a Web page in a browser). The URI
238    scheme and format is specialized according to the type of use, and an
239    application can handle specific URI schemes and strings in any way it
240    wants. Some URI schemes are reserved by system components. For example,
241    requests for data from a content provider must use the
242    <code>content://</code>. In an Intent, a URI using an <code>http://</code>
243    scheme will be handled by the browser. </dd>
244
245    <dt id="view">View</dt>
246	<dd>An object that draws to a rectangular area on the screen and handles
247    click, keystroke, and other interaction events. A View is a base class for
248    most layout components of an Activity or Dialog screen (text boxes,
249    windows, and so on). It receives calls from its parent object (see
250    viewgroup, below)to draw itself, and informs its parent object about where
251    and how big it would like to be (which may or may not be respected by the
252    parent). For more information, see {@link android.view.View}. 
253    <p>Related: <a href="#viewgroup">Viewgroup</a>, <a href="#widget">Widget
254    </a></p></dd>
255
256    <dt id="viewgroup">Viewgroup</dt>
257    <dd> A container object that groups a set of child Views. The viewgroup is
258    responsible for deciding where child views are positioned and how large
259    they can be, as well as for calling each to draw itself when appropriate.
260    Some viewgroups are invisible and are for layout only, while others have
261    an intrinsic UI (for instance, a scrolling list box). Viewgroups are all
262    in the {@link android.widget widget} package, but extend 
263    {@link android.view.ViewGroup ViewGroup}. 
264    <p>Related: <a href="#view">View</a></p></dd>
265
266    <dt id="widget">Widget</dt>
267    <dd>One of a set of fully implemented View subclasses that render form
268    elements and other UI components, such as a text box or popup menu.
269    Because a widget is fully implemented, it handles measuring and drawing
270    itself and responding to screen events. Widgets are all in the 
271    {@link android.widget} package. </dd>
272
273 <!-- 
274    <dt id="panel">Panel</dt>
275    <dd> A panel is a concept not backed by a specific class. It is a View of
276    some sort that is tied in closely to a parent window, but can handle
277    clicks and perform simple functions related to its parent. A panel floats
278    in front of its parent, and is positioned relative to it. A common example
279    of a panel (implemented by Android) is the options menu available to every
280    screen. At present, there are no specific classes or methods for creating
281    a panel &mdash; it's more of a general idea. </dd>
282-->
283
284    <dt id="panel">Window</dt>
285    <dd>In an Android application, an object derived from the abstract class
286    {@link android.view.Window} that specifies the elements of a generic
287    window, such as the look and feel (title bar text, location and content of
288    menus, and so on). Dialog and Activity use an implementation of this class
289    to render a window. You do not need to implement this class or use windows
290    in your application. </dd>
291
292
293</dl>