Getting acquainted with Android terminologies

It's not surprising that any new technology comes with it's own jargon and lingo that needs to be waded through to get to get things done. This section deals with some of the terminologies that you might come across over time when you start programming Android.

Have a look at some of them at Google's own documentation site too:

Introduction to tools

http://code.google.com/android/intro/tools.html

About the basic terminologies that you'd come across

http://code.google.com/android/devel/building-blocks.html

Packages detail

http://code.google.com/android/reference/packages.html

Open Handset Alliance
This is the organization led by Google Inc., consisting of numerous public and private organizations. Here's the list of members.

Android
The flagship product of the Open Handset Alliance. This is an open source operating environment for mobile devices

Emulator
A software tool representative of another system in general term. It will be used to refer the android emulator that emulates the android device. Also, it will be used to refer the android emulator application that's available at ANDROID_SDK_INSTALLATION_DIR/tools directory.

Linux
AN open source operating system kernel that the Android phone platform runs on.

Dalvik Virtual Machine
The Dalvik VM is an operating environment found in the Android stack which interprets the application code at runtime. Although it is similar to a compliant Java VM, it's not compatible with it.

Android stack
Android is often referred as "Android stack" and probably best described that way because it is a collection of components, including:
 * Linux kernel-based operating system
 * Java programming environment
 * Tool chain, including compiler, resource compiler, debugger and emulator
 * Dalvik VM for running applications

The Intent
An Intent is a construct that permits an application to issue a request. It can be interpreted as a "help wanted" sign in real world. In a similar fashion, applications can register themselves as capable and interested in performing various requests or intents.

IntentFilter
Applications announce their availability to perform these types of operations via a construct known as an IntentFilter. The intent is either registered at runtime or is enumerated in the AndroidManifest.xml file.

Context
A Context is an interface to the global information about an application's environment. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc. It isn't unlike the Context class in standard java. For example, a class that's called upon by a parent class knows where to act upon based on the context that's passed to it. A reference to a context can be made and used in the subclass. This works well with the concept of reusability encouraged in object oriented programming.