Hello Folks !!!!
I am back this time for a change with Non Windows Mobile Topic ( What ??????/ Are you going to ditch Windows Mobile ????? ). No No No .... Windows Mobile is still my favourite subject for many reasons ( Actually only one reason .... I am very comfortable with WinCE architecture and exposed to thsi for many years :) ).
Ever since Google took over Android and announced release fo Google Phone, Like many i am also interested to know how this thing is going to take shape. Grabbed my attention to explore what is there in Andriod.
I am going to publish series of Posts talks about Andriod Basics. Let us start !!!!!!!!!!
What is Andriod
=============
Let me oversimplfy the defination here .... Android is a mobile operating system running on the Linux kernel. In other words Andriod is Platform for Embedded , Cosumer Electronic and Smaptphone devices.
Andriod is Platform runs of Linux kernel 2.6. For those who are faimiliar with Widnows Mobile, Windwos Mobile is platform runs on WinCE OS.
Defination from Google: Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
Features Listed in Andriod Website:
Architecture:
PLease refer following diagram.
Google usually refers to the Android OS as a software stack. Each layer of the stack groups together several programs that support specific operating system functions.
The base of the stack is the kernel. Google used the Linux version 2.6 OS to build Android's kernel, which includes Android's memory management programs, security settings, power management software and several hardware drivers. Drivers are programs that control hardware devices. For example, the OEM / Phone mafacturer has a camera. The Android kernel includes a camera driver, which allows the user to send commands to the camera hardware.
The next level of software includes Android's libraries. You can think of libraries as a set of instructions that tell the device how to handle different kinds of data. For example, the media framework library supports playback and recording of various audio, video and picture formats. Other libraries include a three-dimensional acceleration library (for devices with accelerometers) and a Web browser library.
Located on the same level as the libraries layer, the Android runtime layer includes a set of core Java libraries -- Android application programmers build their apps using the Java programming language. It also includes the Dalvik Virtual Machine.
A virtual machine is a software application that behaves as if it were an independent device with its own operating system. You can run a virtual machine on a computer that operates on a completely different OS than the physical machine's OS. The Android OS uses virtual machines to run each application as its own process. That's important for a few reasons. First, no application is dependent upon another. Second, if an application crashes, it shouldn't affect any other applications running on the device. Third, it simplifies memory management.
The next layer is the application framework. This includes the programs that manage the phone's basic functions like resource allocation, telephone applications, switching between processes or programs and keeping track of the phone's physical location. Application developers have full access to Android's application framework. This allows them to take advantage of Android's processing capabilities and support features when building an Android application. Think of the application framework as a set of basic tools with which a developer can build much more complex tools.
At the top of the stack are the applications themselves. This is where you find the basic functions of the device such as making phone calls, accessing the Web browser and accessing your contacts list. If you're an average user, this is the layer you'll use most. You do that with the user interface. Only Google programmers, application developers and hardware manufacturers access the other layers further down the stack.
I am back this time for a change with Non Windows Mobile Topic ( What ??????/ Are you going to ditch Windows Mobile ????? ). No No No .... Windows Mobile is still my favourite subject for many reasons ( Actually only one reason .... I am very comfortable with WinCE architecture and exposed to thsi for many years :) ).
Ever since Google took over Android and announced release fo Google Phone, Like many i am also interested to know how this thing is going to take shape. Grabbed my attention to explore what is there in Andriod.
I am going to publish series of Posts talks about Andriod Basics. Let us start !!!!!!!!!!
What is Andriod
=============
Let me oversimplfy the defination here .... Android is a mobile operating system running on the Linux kernel. In other words Andriod is Platform for Embedded , Cosumer Electronic and Smaptphone devices.
Andriod is Platform runs of Linux kernel 2.6. For those who are faimiliar with Widnows Mobile, Windwos Mobile is platform runs on WinCE OS.
Defination from Google: Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
Features Listed in Andriod Website:
- 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 IDE
PLease refer following diagram.
Google usually refers to the Android OS as a software stack. Each layer of the stack groups together several programs that support specific operating system functions.
To be cont ... next post
Comments