Saturday, July 9, 2011

Android Basics


1) Android Basics

Introduction:

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. Google Inc. purchased the initial developer of the software, Android Inc., in 2005. Android's mobile operating system is based on the Linux kernel. Google and other members of the Open Handset Alliance collaborated on Android's development and release. TheAndroid Open Source Project (AOSP) is tasked with the maintenance and further development of Android. The Android operating system is currently the world's best-selling Smartphone platform.

Android has a large community of developers writing applications ("apps") that extend the functionality of the devices. There are currently over 200,000 apps available for Android. Android Market is the online app store run by Google, though apps can also be downloaded from third-party sites. Developers write primarily in the Java language, controlling the device via Google-developed Java libraries.

The unveiling of the Android distribution on 5 November 2007 was announced with the founding of the Open Handset Alliance, a consortium of 80 hardware, software, and telecom companies devoted to advancing open standards for mobile devices. Google released most of the Android code under the Apache License, a free software and open source license.

The Android open-source software stack consists of Java applications running on a Java-based, object-oriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation. Libraries written in C include the surface manager, OpenCore media framework, SQLite relational database management system, OpenGL ES 2.0 3D graphics API, WebKit layout engine, SGL graphics engine, SSL, and Bionic libc. The Android operating system, including the Linux kernel, consists of roughly 12 million lines of code including 3 million lines of XML, 2.8 million lines of C, 2.1 million lines of Java, and 1.75 million lines of C++.


Version history

2.1 Eclair

Changelog:
  • Sync: Expanded Account sync. Multiple accounts can be added to a device for email and contact synchronization
  • Email: Exchange support, Combined inbox to browse email from multiple accounts in one page.
  • Bluetooth: 2.1 support
  • Contacts: Tap a contact photo and select to call, SMS, or email the person.
  • Messaging: Search all saved SMS and MMS messages. Auto delete oldest messages in a conversation when a defined limit is reached.
  • Camera: Flash support, Digital zoom, Scene mode, White balance, Color effect, Macro focus
  • Virtual keyboard: Improved typing speed, smarter dictionary learns from word usage and includes contact names as suggestions.
  • Browser: Refreshed UI, Bookmark thumbnails, Double-tap zoom, Support for HTML5
  • Calendar: Agenda view enhanced, Attending status for each invitee, Invite new guests to events.
  • System: Optimized hardware speed, Revamped UI
  • Display: Support for more screen sizes and resolutions, Better contrast ratio
  • Maps: Improved Google Maps 3.1.2
  • MotionEvent class enhanced to track multi-touch events
  • Live Wallpapers: Home screen background images can be animated to show movement

2.2 Froyo

Changelog:
  • System: Speed, memory, and performance optimizations
  • Additional application speed improvements courtesy of JIT implementation
  • Integration of Chrome's V8 JavaScript engine into the Browser application
  • Improved Microsoft Exchange support (security policies, auto-discovery, GAL look-up, calendar synchronization, remote wipe)
  • Improved application launcher with shortcuts to Phone and Browser applications
  • USB tethering and Wi-Fi hotspot functionality
  • Added an option to disable data access over mobile network
  • Updated Market application with batch and automatic update features
  • Quick switching between multiple keyboard languages and their dictionaries
  • Voice dialing and contact sharing over Bluetooth
  • Support for numeric and alphanumeric passwords
  • Support for file upload fields in the Browser application
  • Support for installing applications to the expandable memory
  • Adobe Flash support
  • Support for extra high DPI screens (320 dpi), such as 4" 720p

2.3 Gingerbread

Changelog:
  • System: Updated user interface design for simplicity and speed
  • Display: Support for extra-large screen sizes and resolutions (WXGA and higher)
  • Internet calling: Native support for SIP VoIP telephony
  • Virtual Keyboard: Faster, more intuitive text input, improved accuracy, better suggested text. Voice input mode
  • Copy/Paste: Enhanced. Select a word by press-hold, copy, and paste.
  • Near Field Communication lets the user read an NFC tag embedded in a poster, sticker, or advertisement.
  • New audio effects such as reverb, equalization, headphone virtualization, and bass boost
  • System: Improved power management with a more active role in managing apps that are keeping the device awake for too long.
  • Download Manager gives the user easy access to any file downloaded from the browser, email, or another application.
  • Camera: Access multiple cameras on the device, including a front-facing camera, if available.
  • Media: Support for WebM/VP8 video playback, and AAC audio encoding
  • System: Enhanced support for native code development
  • Audio, graphical, and input enhancements for game developers
  • Concurrent garbage collection for increased performance
  • Native support for more sensors (such as gyroscopes and barometers)
  • Switched from YAFFS to ext4 on newer devices

Android Architecture



FEATURES OF ANDROID
  • Handset layouts The platform is adaptable to larger, VGA, 2D graphics library, 3D graphics library based on OpenGL ES 2.0 specifications, and traditional smartphone layouts.
  • Storage SQLite, a lightweight relational database, is used for data storage purposes
  • Connectivity Android supports connectivity technologies including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi (no connections through Proxy server and no Ad hoc wireless network), LTE, NFC and WiMAX.
  • Messaging SMS and MMS are available forms of messaging, including threaded text messaging and now Android Cloud To Device Messaging Framework(C2DM) is also a part of Android Push Messaging service.
  • Multiple Language Support Multiple languages are available on Android. The number of languages more than doubled for the platform 2.3 Gingerbread. Android lacks font rendering of several languages even after official announcements[citation needed] of added support (e.g. Hindi).
  • Web browser The web browser available in Android is based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine. The browser scores a 93/100 on the Acid3 Test.
  • Java support While most Android applications are written in Java, there is no Java Virtual Machine in the platform and Java byte code is not executed. Java classes are compiled into Dalvik executables and run on the Dalvik virtual machine. Dalvik is a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU. J2ME support can be provided via third-party applications.
  • Media support Android supports the following audio/video/still media formats: WebM, H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, FLAC, WAV, JPEG, PNG, GIF (though earlier versions do not support animated GIFs, BMP.
  • Streaming media support RTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive download (HTML5 <video> tag). Adobe Flash Streaming (RTMP) and HTTP Dynamic Streaming are supported by the Flash plugin. Apple HTTP Live Streaming is supported by RealPlayer for Mobile, and by the operating system in Android 3.0 (Honeycomb). Microsoft Smooth Streaming is planned to be supported through the awaited port of Silverlight plugin to Android.
  • Additional hardware support Android can use video/still cameras, touchscreens, GPS, accelerometers, gyroscopes, magnetometers, dedicated gaming controls, proximity and pressure sensors, thermometers, accelerated 2D bit blits (with hardware orientation, scaling, pixel format conversion) and accelerated 3D graphics.
  • Multi-touch Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. The feature was originally disabled at the kernel level (possibly to avoid infringing Apple's patents on touch-screen technology at the time). Google has since released an update for the Nexus One and the Motorola Droid which enables multi-touch natively.
  • Bluetooth Supports A2DP, AVRCP, sending files (OPP), accessing the phone book (PBAP), voice dialing and sending contacts between phones. Keyboard, mouse and joystick (HID) support is available through manufacturer customizations and third-party applications. Full HID support is planned for Android 3.0 (Honeycomb).
  • Video calling Android does not provide native video calling support, but some handsets have a customized version of the operating system that support it, either via the UMTS network (like the Samsung Galaxy S) or over IP. Video calling through Google Talk is available in Android 2.3.4 and later.
  • Multitasking Multitasking of applications is available.
  • Voice based features Google search through voice has been available since initial release. Voice actions for calling, texting, navigation, etc. are supported on Android 2.2 onwards.
  • Tethering Android supports tethering, which allows a phone to be used as a wireless/wired hotspot. Prior to Android 2.2 this was supported by third-party applications or manufacturer customizations.
  • Screen Capture Android does not currently support screenshot capture. This is supported by manufacturer and third-party customizations.

1 comment:

  1. This is really good information I have visited this blog to read something fresh and I really admire you efforts in doing so.

    ReplyDelete