blob: af60eb728eb2b936dd4fbe2f4f997d74a979e435 [file] [log] [blame]
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001page.title=Glossary
Scott Main6afeb0e2013-04-16 21:05:51 -07002excludeFromSuggestions=true
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08003@jd:body
4
5<p>The list below defines some of the basic terminology of the Android platform. </p>
6 <dl>
7 <dt id="apk">.apk file</dt> <dd>Android application package file. Each
8 Android application is compiled and packaged in a single file that
9 includes all of the application's code (.dex files), resources, assets,
10 and manifest file. The application package file can have any name but
11 <em>must</em> use the <code>.apk</code> extension. For example:
12 <code>myExampleAppname.apk</code>. For convenience, an application package
13 file is often referred to as an ".apk".
14 <p>Related: <a href="#application">Application</a>.</p>
15</dd>
16
17 <dt id="dex">.dex file </dt>
18 <dd>Compiled Android application code file.
19 <p>Android programs are compiled into .dex (Dalvik Executable) files, which
20 are in turn zipped into a single .apk file on the device. .dex files can
21 be created by automatically translating compiled applications written in
22 the Java programming language.</dd>
23
24 <dt id="action">Action</dt>
25 <dd>A description of something that an Intent sender wants done. An action is
26 a string value assigned to an Intent. Action strings can be defined by Android
27 or by a third-party developer. For example, android.intent.action.VIEW
28 for a Web URL, or com.example.rumbler.SHAKE_PHONE for a custom application
29 to vibrate the phone.
30 <p>Related: <a href="#intent">Intent</a>.</p>
31 </dd>
32
33 <dt id="activity">Activity</dt>
34 <dd>A single screen in an application, with supporting Java code, derived
35 from the {@link android.app.Activity} class. Most commonly, an activity is
36 visibly represented by a full screen window that can receive and handle UI
37 events and perform complex tasks, because of the Window it uses to render
38 its window. Though an Activity is typically full screen, it can also be
39 floating or transparent.</dd>
40
41 <dt id="adb">adb</dt>
42 <dd>Android Debug Bridge, a command-line debugging application included with the
43 SDK. It provides tools to browse the device, copy tools on the device, and
44 forward ports for debugging. If you are developing in Eclipse using the
45 ADT Plugin, adb is integrated into your development environment. See
Scott Main50e990c2012-06-21 17:14:39 -070046 <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge</a>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080047 for more information. </dd>
48
49 <dt id="application">Application</dt>
50 <dd>From a component perspective, an Android application consists of one
51 or more activities, services, listeners, and intent receivers. From a
52 source file perspective, an Android application consists of code,
53 resources, assets, and a single manifest. During compilation, these files
54 are packaged in a single file called an application package file (.apk).
55 <p>Related: <a href="#apk">.apk</a>, <a href="#activity">Activity</a></p></dd>
56
57 <dt id="canvas">Canvas</dt>
58 <dd>A drawing surface that handles compositing of the actual bits against
59 a Bitmap or Surface object. It has methods for standard computer drawing
60 of bitmaps, lines, circles, rectangles, text, and so on, and is bound to a
61 Bitmap or Surface. Canvas is the simplest, easiest way to draw 2D objects
62 on the screen. However, it does not support hardware acceleration, as
63 OpenGL ES does. The base class is {@link android.graphics.Canvas}.
64 <p>Related: <a href="#drawable">Drawable</a>, <a href="#opengles">OpenGL
65 ES</a>.</p></dd>
66
67 <dt id="contentprovider">Content Provider</dt>
68 <dd>A data-abstraction layer that you can use to safely expose your
69 application's data to other applications. A content provider is built on
70 the {@link android.content.ContentProvider} class, which handles content
71 query strings of a specific format to return data in a specific format.
72 See <a href="{@docRoot}guide/topics/providers/content-providers.html">
73 Content Providers</a> topic for more information.
74 <p>Related: <a href="#uri">URI Usage in Android</a></p></dd>
75
76 <dt id="dalvik">Dalvik</dt>
77 <dd>The Android platform's virtual machine. The Dalvik VM is an
78 interpreter-only virtual machine that executes files in the Dalvik
79 Executable (.dex) format, a format that is optimized for efficient storage
80 and memory-mappable execution. The virtual machine is register-based, and
81 it can run classes compiled by a Java language compiler that have been
82 transformed into its native format using the included &quot;dx&quot; tool.
83 The VM runs on top of Posix-compliant operating systems, which it relies
84 on for underlying functionality (such as threading and low level memory
85 management). The Dalvik core class library is intended to provide a
86 familiar development base for those used to programming with Java Standard
87 Edition, but it is geared specifically to the needs of a small mobile
88 device.</dd>
89
90 <dt id="ddms">DDMS</dt>
91 <dd>Dalvik Debug Monitor Service, a GUI debugging application included
92 with the SDK. It provides screen capture, log dump, and process
93 examination capabilities. If you are developing in Eclipse using the ADT
94 Plugin, DDMS is integrated into your development environment. See <a
Scott Main50e990c2012-06-21 17:14:39 -070095 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 -080096
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
Scott Main50e990c2012-06-21 17:14:39 -0700135 href="{@docRoot}guide/components/intents-filters.html">Intents and
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800136 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
Scott Main50e990c2012-06-21 17:14:39 -0700149 href="{@docRoot}guide/components/intents-filters.html">Intents and
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800150 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
Elliott Hughes7f877062009-07-30 17:00:34 -0700170 activities, and so on. See <a
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800171 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>