Must Know for Android Newbie Developers

by Dan

What Android is not?

android-newbieA Java ME implementation — Android applications are written using the Java language, but they are not run within a Java ME (Mobile Edition) VM, and Java-compiled classes and executables will not run natively in Android.

Part of the Linux Phone Standards Forum (LiPS) or the Open Mobile Alliance (OMA) — Android runs on an open-source Linux kernel, but, while their goals are similar, Android’s complete software stack approach goes further than the focus of these standards-defining organizations.

Simply an application layer (such as UIQ or S60) — Although Android does include an application layer, “Android’’ also describes the entire software stack, encompassing the underlying operating system, the API libraries, and the applications themselves.

A mobile phone handset — Android includes a reference design for mobile handset manufacturers, but there is no single “Android phone.” Instead, Android has been designed to support many alternative hardware devices.

Google’s answer to the iPhone — The iPhone is a fully proprietary hardware and software platform released by a single company (Apple), whereas Android is an open-source software stack produced and supported by the Open Handset Alliance (OHA) and designed to operate on any compatible device.

All about Android

Android has expanded beyond a pure mobile phone platform to provide a development platform for an increasingly wide range of hardware, including tablets and televisions.

Put simply, Android is an ecosystem made up of a combination of three components:

  • A free, open-source operating system for embedded devices
  • An open-source development platform for creating applications
  • Devices, particularly mobile phones, that run the Android operating system and the applications created for it.

Android is made up of several necessary and dependent parts, including the following:

  • A Compatibility Definition Document (CDD) and Compatibility Test Suite (CTS) that describe the capabilities required for a device to support the software stack.
  • A Linux operating system kernel that provides a low-level interface with the hardware, memory management, and process control, all optimized for mobile and embedded devices.
  • Open source libraries for application development, including SQLite, WebKit, OpenGL, and a media manager.
  • A run time used to execute and host Android applications, including the Dalvik Virtual Machine (VM) and the core libraries that provide Android-specific functionality. The run time is designed to be small and efficient for use on mobile devices.
  • An application framework that agnostically exposes system services to the application layer, including the window manager and location manager, databases, telephony, and sensors.
  • A user interface framework used to host and launch applications.
  • A set of core pre-installed applications.
  • Native Android Applications x 5
  • A software development kit (SDK) used to create applications, including the related tools, plug-ins, and documentation.

Types of Android Applications

Most of the applications we create in Android will fall into one of the following categories:

Foreground Applications — The application which is only useful when appears on the screen and if it is suspended will not be visible like Game apps.

Background Application — these types of application only works at background of phone software. It does not show their visibility, most of its lifetime hidden like alarm clock.

Intermittent Applications — it works at both foreground and background. This type of application does most of their work in the background. Most well-designed applications fall into this category. A common example would be a media player.

Widgets and Live Wallpapers Apps — Some applications are represented only as a home-screen Widget or as a Live Wallpaper.

Following are the preinstalled applications in almost all the android devices which make it open source project:

  • E-mail client
  • SMS management application
  • A full PIM (personal information management) suite, including a calendar and contacts list
  • WebKit-based web browser
  • music player and picture gallery
  • camera and video recording application
  • calculator
  • home screen
  • alarm clock

Few devices also offers Google Mobile applications like:

  • Google Play Store for downloading third-party Android applications
  • Google Maps application, including StreetView, driving directions, and turn-by-turn navigation, satellite views, and traffic conditions
  • Gmail
  • Google Talk
  • YouTube

Note: Some devices can have more than these apps.

Related Posts