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 "dx" 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 — 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 "Theme_"). </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 — 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>