Paul Labis: This is a personal blog where everyone can read my experiences, ideas and thoughts about programming, latest gadgets and other information technology related topics, lifestyle and many other stuff I would like to share to the public.

Learning Android By Definition

Android is an open source platform for mobile devices. It is not a hardware. Its basically a software. In fact, It is a software stack as defined by Google. Encase your not familiar with the term, software stack is compose of an Operating System(OS), middle-ware & the key applications.
  • OS is by simply defined as platform between you and the hardware and where all applications run.
  • Middle-ware is/are the components and available package that allows applications to communicate to a network and to one another.
  • Key Applications is/are the actual programs or software that the phones will run
It was the product of the joint effort of Google and Open Handset Alliance(OHA). It was released November 5, 2007 which is shortly just after Apple's first generation iPhone release. Android is based on an opensource operating system called Linux.

Android is equipped with a set of core applications that includes an email client, SMS program, browser, contacts, calendar, maps, and others. Another good thing is that all applications are written using the Java programming language which is also an opensource programming language. See below for features.

Features

  • Application framework enabling reuse and replacement of components
  • Dalvik virtual machine optimized for mobile devices
  • Integrated browser based on the open source WebKit engine
  • Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
  • SQLite for structured data storage
  • Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • GSM Telephony (hardware dependent)
  • Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
  • Camera, GPS, compass, and accelerometer (hardware dependent)
  • Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse ID
Android is an exiting open platform for mobile development. It offer's the ability to build extremely rich and innovative applications. Developers are given freedom to take full advantage of the device hardware, retrieve location information, run silent operations, camera usage, alerts, and much, much more. Finally, the Application Program Interface(API ) is freely and fully accessible for developers. That makes learning so much easier.

Market demand for android software and developers are increasing. No wonder my company,  Orange & Bronze Software Labs, Inc., was encouraging its developers to start learning, mastering and creating software/applications made in Java that runs in an Android phone.

I just started with Android couple of days ago and so far, I find it very interesting & fun to learn. So, I recommend you get started too. Good luck!

Note: To be able to learn more about Android, visit http://developer.android.com/.