The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 1 | page.title=Glossary |
Scott Main | 6afeb0e | 2013-04-16 21:05:51 -0700 | [diff] [blame] | 2 | excludeFromSuggestions=true |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 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 |
Scott Main | 50e990c | 2012-06-21 17:14:39 -0700 | [diff] [blame] | 46 | <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge</a> |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 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 |
Scott Main | 50e990c | 2012-06-21 17:14:39 -0700 | [diff] [blame] | 95 | href="{@docRoot}tools/debugging/ddms.html">Using DDMS</a> to learn more about the program.</dd> |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 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 |
Scott Main | 50e990c | 2012-06-21 17:14:39 -0700 | [diff] [blame] | 135 | href="{@docRoot}guide/components/intents-filters.html">Intents and |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 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 |
Scott Main | 50e990c | 2012-06-21 17:14:39 -0700 | [diff] [blame] | 149 | href="{@docRoot}guide/components/intents-filters.html">Intents and |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 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 |
Elliott Hughes | 7f87706 | 2009-07-30 17:00:34 -0700 | [diff] [blame] | 170 | activities, and so on. See <a |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 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> |