1page.title=Glossary 2excludeFromSuggestions=true 3@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 46 <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge</a> 47 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 "dx" 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 95 href="{@docRoot}tools/debugging/ddms.html">Using DDMS</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 — 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/components/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/components/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 activities, 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 "Theme_"). </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 — 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>