blob: 94cb0f08433bda1516e69e329751e647ac871925 [file] [log] [blame]
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001page.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
Scott Main50e990c2012-06-21 17:14:39 -070045 <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge</a>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080046 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
Scott Main50e990c2012-06-21 17:14:39 -070094 href="{@docRoot}tools/debugging/ddms.html">Using DDMS</a> to learn more about the program.</dd>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080095
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
Scott Main50e990c2012-06-21 17:14:39 -0700134 href="{@docRoot}guide/components/intents-filters.html">Intents and
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800135 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
Scott Main50e990c2012-06-21 17:14:39 -0700148 href="{@docRoot}guide/components/intents-filters.html">Intents and
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800149 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
Elliott Hughes7f877062009-07-30 17:00:34 -0700169 activities, and so on. See <a
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800170 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>