glossary.jd revision 50e990c64fa23ce94efa76b9e72df7f8ec3cee6a
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}tools/help/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}tools/debugging/ddms.html">Using DDMS</a> to learn more about the program.</dd>
95
96    <dt id="dialog">Dialog</dt> <dd> A floating window that that acts as a lightweight
97    form. A dialog can have button controls only and is intended to perform a
98    simple action (such as button choice) and perhaps return a value. A dialog
99    is not intended to persist in the history stack, contain complex layout,
100    or perform complex actions. Android provides a default simple dialog for
101    you with optional buttons, though you can define your own dialog layout.
102    The base class for dialogs is {@link android.app.Dialog Dialog}. 
103    <p>Related: <a href="#activity">Activity</a>.</p></dd>
104
105    <dt id="drawable">Drawable</dt>
106    <dd>A compiled visual resource that can be used as a background, title, or
107    other part of the screen. A drawable is typically loaded into another UI
108    element, for example as a background image. A drawable is not able to
109    receive events, but does assign various other properties such as "state"
110    and scheduling, to enable subclasses such as animation objects or image
111    libraries. Many drawable objects are loaded from drawable resource files
112    &mdash; xml or bitmap files that describe the image. Drawable resources
113    are compiled into subclasses of {@link android.graphics.drawable}. For
114    more information about drawables and other resources, see <a
115    href="{@docRoot}guide/topics/resources/resources-i18n.html">Resources</a>. 
116    <p>Related: <a href="#resources">Resources</a>, <a href="#canvas">Canvas
117    </a></p></dd>
118
119    <dt id="intent">Intent</dt>
120    <dd>An message object that you can use to launch or communicate with other
121    applications/activities asynchronously. An Intent object is an instance of
122    {@link android.content.Intent}. It includes several criteria fields that you can
123    supply, to determine what application/activity receives the Intent and
124    what the receiver does when handling the Intent. Available criteria include
125    include the desired action, a category, a data string, the MIME type of
126    the data, a handling class, and others. An application sends
127    an Intent to the Android system, rather than sending it directly to
128    another application/activity. The application can send the Intent to a
129    single target application or it can send it as a broadcast, which can in
130    turn be handled by multiple applications sequentially. The Android system
131    is responsible for resolving the best-available receiver for each Intent,
132    based on the criteria supplied in the Intent and the Intent Filters
133    defined by other applications. For more information, see <a
134    href="{@docRoot}guide/components/intents-filters.html">Intents and
135    Intent Filters</a>. 
136    <p>Related: <a href="#intentfilter">Intent Filter</a>, <a
137    href="#broadcastreceiver">Broadcast Receiver</a>.</p></dd>
138
139    <dt id="intentfilter">Intent Filter</dt>
140    <dd>A filter object that an application declares in its manifest file, to
141    tell the system what types of Intents each of its components is willing to
142    accept and with what criteria. Through an intent filter, an application
143    can express interest in specific data types, Intent actions, URI formats,
144    and so on. When resolving an Intent, the system evaluates all of the
145    available intent filters in all applications and passes the Intent to the
146    application/activity that best matches the Intent and criteria. For more
147    information, see <a
148    href="{@docRoot}guide/components/intents-filters.html">Intents and
149    Intent Filters</a>. 
150    <p>Related: <a href="#intent">Intent</a>, <a
151    href="#broadcastreceiver">Broadcast Receiver</a>.</p></dd>
152
153    <dt id="broadcastreceiver">Broadcast Receiver </dt>
154    <dd>An application class that listens for Intents that are broadcast,
155    rather than being sent to a single target application/activity. The system
156    delivers a broadcast Intent to all interested broadcast receivers, which
157    handle the Intent sequentially. 
158    <p>Related: <a href="#intent">Intent</a>, <a href="#intentfilter">Intent 
159    Filter</a>.</p> </dd>
160	
161    <dt id="layoutresource">Layout Resource</dt>
162    <dd>An XML file that describes the layout of an Activity screen. 
163    <p>Related: <a href="#resources">Resources</a></p></dd>
164
165    <dt id="manifest">Manifest File</dt>
166    <dd>An XML file that each application must define, to describe the
167    application's package name, version, components (activities, intent
168    filters, services), imported libraries, and describes the various
169    activities, and so on. See <a
170    href="{@docRoot}guide/topics/manifest/manifest-intro.html">The
171    AndroidManifest.xml File</a> for complete information.</dd>
172
173    <dt id="ninepatch">Nine-patch / 9-patch / Ninepatch image</dt>
174    <dd>A resizeable bitmap resource that can be used for backgrounds or other
175    images on the device. See <a
176    href="{@docRoot}guide/topics/resources/available-resources.html#ninepatch">
177    Nine-Patch Stretchable Image</a> for more information. 
178    <p>Related: <a href="#resources">Resources</a>.</p></dd>
179
180    <dt id="opengles">OpenGL ES</dt>
181    <dd> Android provides OpenGL ES libraries that you can use for fast,
182    complex 3D images. It is harder to use than a Canvas object, but
183    better for 3D objects. The {@link android.opengl} and 
184    {@link javax.microedition.khronos.opengles} packages expose 
185    OpenGL ES functionality. 
186    <p>Related: <a href="#canvas">Canvas</a>, <a href="#surface">Surface</a></p></dd>
187
188    <dt id="resources">Resources</dt>
189    <dd>Nonprogrammatic application components that are external to the
190    compiled application code, but which can be loaded from application code
191    using a well-known reference format. Android supports a variety of
192    resource types, but a typical application's resources would consist of UI
193    strings, UI layout components, graphics or other media files, and so on.
194    An application uses resources to efficiently support localization and
195    varied device profiles and states. For example, an application would
196    include a separate set of resources for each supported local or device
197    type, and it could include layout resources that are specific to the
198    current screen orientation (landscape or portrait). For more information
199    about resources, see <a
200    href="{@docRoot}guide/topics/resources/index.html"> Resources and
201    Assets</a>. The resources of an application are always stored in the
202    <code>res/*</code> subfolders of the project. </dd>
203
204    <dt id="service">Service</dt>
205    <dd>An object of class {@link android.app.Service} that runs in the
206    background (without any UI presence) to perform various persistent
207    actions, such as playing music or monitoring network activity. 
208    <p>Related: <a href="#activity">Activity</a></p></dd>
209
210    <dt id="surface">Surface</dt>
211    <dd>An object of type {@link android.view.Surface} representing a block of
212    memory that gets composited to the screen. A Surface holds a Canvas object
213    for drawing, and provides various helper methods to draw layers and resize
214    the surface. You should not use this class directly; use 
215    {@link android.view.SurfaceView} instead. 
216    <p>Related: <a href="#canvas">Canvas</a></p></dd>
217
218    <dt id="surfaceview">SurfaceView</dt>
219    <dd>A View object that wraps a Surface for drawing, and exposes methods to
220    specify its size and format dynamically. A SurfaceView provides a way to
221    draw independently of the UI thread for resource-intensive operations
222    (such as games or camera previews), but it uses extra memory as a result.
223    SurfaceView supports both Canvas and OpenGL ES graphics. The base class is
224    {@link android.view.SurfaceView}.
225    <p>Related: <a href="#canvas">Surface</a></p></dd>
226
227    <dt id="theme">Theme</dt>
228    <dd>A set of properties (text size, background color, and so on) bundled
229    together to define various default display settings. Android provides a
230    few standard themes, listed in {@link android.R.style} (starting with
231    &quot;Theme_&quot;). </dd>
232
233    <dt id="uri">URIs in Android</dt>
234    <dd>Android uses URI strings as the basis for requesting data in a content
235    provider (such as to retrieve a list of contacts) and for requesting
236    actions in an Intent (such as opening a Web page in a browser). The URI
237    scheme and format is specialized according to the type of use, and an
238    application can handle specific URI schemes and strings in any way it
239    wants. Some URI schemes are reserved by system components. For example,
240    requests for data from a content provider must use the
241    <code>content://</code>. In an Intent, a URI using an <code>http://</code>
242    scheme will be handled by the browser. </dd>
243
244    <dt id="view">View</dt>
245	<dd>An object that draws to a rectangular area on the screen and handles
246    click, keystroke, and other interaction events. A View is a base class for
247    most layout components of an Activity or Dialog screen (text boxes,
248    windows, and so on). It receives calls from its parent object (see
249    viewgroup, below)to draw itself, and informs its parent object about where
250    and how big it would like to be (which may or may not be respected by the
251    parent). For more information, see {@link android.view.View}. 
252    <p>Related: <a href="#viewgroup">Viewgroup</a>, <a href="#widget">Widget
253    </a></p></dd>
254
255    <dt id="viewgroup">Viewgroup</dt>
256    <dd> A container object that groups a set of child Views. The viewgroup is
257    responsible for deciding where child views are positioned and how large
258    they can be, as well as for calling each to draw itself when appropriate.
259    Some viewgroups are invisible and are for layout only, while others have
260    an intrinsic UI (for instance, a scrolling list box). Viewgroups are all
261    in the {@link android.widget widget} package, but extend 
262    {@link android.view.ViewGroup ViewGroup}. 
263    <p>Related: <a href="#view">View</a></p></dd>
264
265    <dt id="widget">Widget</dt>
266    <dd>One of a set of fully implemented View subclasses that render form
267    elements and other UI components, such as a text box or popup menu.
268    Because a widget is fully implemented, it handles measuring and drawing
269    itself and responding to screen events. Widgets are all in the 
270    {@link android.widget} package. </dd>
271
272 <!-- 
273    <dt id="panel">Panel</dt>
274    <dd> A panel is a concept not backed by a specific class. It is a View of
275    some sort that is tied in closely to a parent window, but can handle
276    clicks and perform simple functions related to its parent. A panel floats
277    in front of its parent, and is positioned relative to it. A common example
278    of a panel (implemented by Android) is the options menu available to every
279    screen. At present, there are no specific classes or methods for creating
280    a panel &mdash; it's more of a general idea. </dd>
281-->
282
283    <dt id="panel">Window</dt>
284    <dd>In an Android application, an object derived from the abstract class
285    {@link android.view.Window} that specifies the elements of a generic
286    window, such as the look and feel (title bar text, location and content of
287    menus, and so on). Dialog and Activity use an implementation of this class
288    to render a window. You do not need to implement this class or use windows
289    in your application. </dd>
290
291
292</dl>