Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Architecture of Android OS



Android uses Linux for its memory management, process management, networking, and other operating system services. The Android phone user will never see Linux or in other words our application will not make Linux calls directly.
Some parts of Android will be familiar, such as the Linux Kernel, OpenGL, and the SQL database. Others may be completely foreign, such as Android's idea of the application life cycle. You'll need a good understanding of these key concepts in order to write well-behaved Android applications. 

The Android OS is roughly divided into five sections in four main layers:
  • Linux kernel — This is the kernel on which Android is based. This layer contains all the lowlevel device drivers for the various hardware components of an Android device. Android uses Linux for its device drivers, memory management, process management, and networking. However you will never be programming to this layer directly.
  • Libraries — These contain all the code that provides the main features of an Android OS. Forexample, the SQLite library provides database support so that an application can use it fordata storage. The WebKit library provides functionalities for web browsing. They are all written in C/C++ internally, but you'll be calling them through Java interfaces.
  • Android runtime — At the same layer as the libraries, the Android runtime provides a set of corelibraries that enable developers to write Android apps using the Java programming language. The Android runtime also includes the Dalvik virtual machine, which enables every Android application to run in its own process, with its own instance of the Dalvik virtual machine (Android applications are compiled into the Dalvik executables). Dalvik is a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU.
  • Application framework — Exposes the various capabilities of the Android OS to application developers so that they can make use of them in their applications.
  • Applications — At this top layer, you will find applications that ship with the Android device (such as Phone, Contacts, Browser, etc.), as well as applications that you download and installfrom the Android Market. Any applications that you write are located at this layer.

Android Devices in the Market



Android devices come in all shapes and sizes. The Android OS can be seen powering the following types of devices:
  • Smartphones
  • Tablets
  • E-reader devices
  • Netbooks
  • MP4 players
  • Internet TVs
Chances are good that you own at least one of the preceding devices. The Samsung Galaxy S, the HTC Desire HD, and the LG Optimus One smartphones.
Another popular category of devices that manufacturers are rushing out is the tablet. Tablet sizes typically start at seven inches, measured diagonally.The Samsung Galaxy Tab and the Dell Streak, which is a fiveinch phone tablet.
Besides smartphones and tablets, Android is also beginning to appear in dedicated devices, such as e-book readers. The Barnes and Noble’s NOOKcolor, which is a color e-Book reader running the Android OS.
In addition to these popular mobile devices, Android is also slowly finding its way into your living room. People of Lava, a Swedish company, has developed an Android-based TV, call the Scandinavia Android TV.

What is Android?

Android is a free phone operating system that aims to get all kinds of phones running like computers and, most importantly, connecting to the web. It's been developed primarily by Google, though others have helped, and it's a project that's constantly updating, growing, and getting a new look. In this chapter, you'll learn what makes Android different from iPhones, BlackBerry phones, and other so-called smartphones.
Android is a version of the very free and open Linux operating system, but tailored for a computer that has just a few buttons and a touch-sensitive screen. It's not a single phone or line of phones, like Apple's iPhone, though the Verizon/Motorola Droid model might make you think that. Put simply, Android is a bundle of code, mostly developed by Google, that allow phones with small screens and tiny chips to do great things.

Android Features
You can have the My Tracks app follow you via GPS and record your progress on a map, or in a spreadsheet. You can listen to your MP3s or streaming podcasts, read and respond to emails, and get turn-by-turn directions as you walk around a city you don't know—all at the same time. If you can't do something, there's a good chance an app in the Android Market can do it, and you can download it at any time.
Sure, you can browse the web, make phone calls, and send text messages (or SMS, for the purposes of this guide), but you can do that on most any phone these days. What makes Android different are the features such as sync with Google, true multi-tasking, get totally customized, and use open software.
As Android is open source and freely available to manufacturers for customization, there are no fixed hardware and software configurations. However, Android itself supports the following features:
  • Storage — Uses SQLite, a lightweight relational database, for data storage.
  • Connectivity — Supports GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (includesA2DP and AVRCP), WiFi, LTE, and WiMAX.
  • Messaging — Supports both SMS and MMS.
  • Web browser — Based on the open-source WebKit, together with Chrome’s V8 JavaScript engine
  • Media support — Includes support for the following media: H.263, H.264 (in 3GP or MP4container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC, HE-AAC (in MP4 or3GP container), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP
  • Hardware support — Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor, and GPS
  • Multi-touch — Supports multi-touch screens
  • Multi-tasking — Supports multi-tasking applications
  • Flash support — Android 2.3 supports Flash 10.1.
  • Tethering — Supports sharing of Internet connections as a wired/wireless hotspot

After a few days with an Android phone—about a week of inquisitive use—you'll probably get used to how Android wants to get your data to you, and how you can get at the things you want.