Monday 18 February 2013

Android'S


Android is a software stack for mobile devices that includes an operating system, middleware, and key applications. The Android SDK provides the tools and libraries necessary to begin developing applications that run on Android-powered devices.
This site provides information about Google projects based on the Android platform, such as external libraries that extend the platform, hosted services and APIs, and more. Everything on this site is provided by Google for the benefit of Android developers. If you are interested in developing applications for Android devices, please visit the Android Developers site at developer.android.co



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 IDE

Android Architecture

The following diagram shows the major components of the Android operating system. Each section is described in more detail below.
Android System Architecture

 

Applications
Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.
Application Framework
By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more.
Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.
Underlying all applications is a set of services and systems, including:
  • A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser
  • Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data
  • A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files
  • A Notification Manager that enables all applications to display custom alerts in the status bar
  • An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack
For more details and a walkthrough of an application, see the Notepad Tutorial.
Libraries
Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:
  • System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
  • Media Libraries - based on PacketVideo'sOpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
  • Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
  • LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view
  • SGL - the underlying 2D graphics engine
  • 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer
  • FreeType - bitmap and vector font rendering
  • SQLite - a powerful and lightweight relational database engine available to all applications
Android Runtime
Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.
Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.
The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.
Linux Kernel
Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

Application Fundamentals

Quickview

  • Android applications are composed of one or more application components (activities, services, content providers, and broadcast receivers)
  • Each component performs a different role in the overall application behavior, and each one can be activated individually (even by other applications)
  • The manifest file must declare all components in the application and should also declare all application requirements, such as the minimum version of Android required and any hardware configurations required
  • Non-code application resources (images, strings, layout files, etc.) should include alternatives for different device configurations (such as different strings for different languages and different layouts for different screen sizes)

In this document

  1. Application Components
    1. Activating components
  2. The Manifest File
    1. Declaring components
    2. Declaring application requirements
  3. Application Resources
Android applications are written in the Java programming language. The Android SDK tools compile the code—along with any data and resource files—into an Android package, an archive file with an .apk suffix. All the code in a single .apk file is considered to be one application and is the file that Android-powered devices use to install the application.
Once installed on a device, each Android application lives in its own security sandbox:
  • The Android operating system is a multi-user Linux system in which each application is a different user.
  • By default, the system assigns each application a unique Linux user ID (the ID is used only by the system and is unknown to the application). The system sets permissions for all the files in an application so that only the user ID assigned to that application can access them.
  • Each process has its own virtual machine (VM), so an application's code runs in isolation from other applications.
  • By default, every application runs in its own Linux process. Android starts the process when any of the application's components need to be executed, then shuts down the process when it's no longer needed or when the system must recover memory for other applications.
In this way, the Android system implements the principle of least privilege. That is, each application, by default, has access only to the components that it requires to do its work and no more. This creates a very secure environment in which an application cannot access parts of the system for which it is not given permission.
However, there are ways for an application to share data with other applications and for an application to access system services:
  • It's possible to arrange for two applications to share the same Linux user ID, in which case they are able to access each other's files. To conserve system resources, applications with the same user ID can also arrange to run in the same Linux process and share the same VM (the applications must also be signed with the same certificate).
  • An application can request permission to access device data such as the user's contacts, SMS messages, the mountable storage (SD card), camera, Bluetooth, and more. All application permissions must be granted by the user at install time.
That covers the basics regarding how an Android application exists within the system. The rest of this document introduces you to:
  • The core framework components that define your application.
  • The manifest file in which you declare components and required device features for your application.
  • Resources that are separate from the application code and allow your application to gracefully optimize its behavior for a variety of device configurations.

Application Components

Application components are the essential building blocks of an Android application. Each component is a different point through which the system can enter your application. Not all components are actual entry points for the user and some depend on each other, but each one exists as its own entity and plays a specific role—each one is a unique building block that helps define your application's overall behavior.
There are four different types of application components. Each type serves a distinct purpose and has a distinct lifecycle that defines how the component is created and destroyed.
Here are the four types of application components:
Activities
An activity represents a single screen with a user interface. For example, an email application might have one activity that shows a list of new emails, another activity to compose an email, and another activity for reading emails. Although the activities work together to form a cohesive user experience in the email application, each one is independent of the others. As such, a different application can start any one of these activities (if the email application allows it). For example, a camera application can start the activity in the email application that composes new mail, in order for the user to share a picture.
An activity is implemented as a subclass of Activity and you can learn more about it in the Activities developer guide.
Services
A service is a component that runs in the background to perform long-running operations or to perform work for remote processes. A service does not provide a user interface. For example, a service might play music in the background while the user is in a different application, or it might fetch data over the network without blocking user interaction with an activity. Another component, such as an activity, can start the service and let it run or bind to it in order to interact with it.
A service is implemented as a subclass of Service and you can learn more about it in the Services developer guide.
Content providers
A content provider manages a shared set of application data. You can store the data in the file system, an SQLite database, on the web, or any other persistent storage location your application can access. Through the content provider, other applications can query or even modify the data (if the content provider allows it). For example, the Android system provides a content provider that manages the user's contact information. As such, any application with the proper permissions can query part of the content provider (such as ContactsContract.Data) to read and write information about a particular person.
Content providers are also useful for reading and writing data that is private to your application and not shared. For example, the Note Pad sample application uses a content provider to save notes.
A content provider is implemented as a subclass of ContentProvider and must implement a standard set of APIs that enable other applications to perform transactions. For more information, see the Content Providers developer guide.
Broadcast receivers
A broadcast receiver is a component that responds to system-wide broadcast announcements. Many broadcasts originate from the system—for example, a broadcast announcing that the screen has turned off, the battery is low, or a picture was captured. Applications can also initiate broadcasts—for example, to let other applications know that some data has been downloaded to the device and is available for them to use. Although broadcast receivers don't display a user interface, they may create a status bar notification to alert the user when a broadcast event occurs. More commonly, though, a broadcast receiver is just a "gateway" to other components and is intended to do a very minimal amount of work. For instance, it might initiate a service to perform some work based on the event.
A broadcast receiver is implemented as a subclass of BroadcastReceiver and each broadcast is delivered as an Intent object. For more information, see the BroadcastReceiver class.
A unique aspect of the Android system design is that any application can start another application’s component. For example, if you want the user to capture a photo with the device camera, there's probably another application that does that and your application can use it, instead of developing an activity to capture a photo yourself. You don't need to incorporate or even link to the code from the camera application. Instead, you can simply start the activity in the camera application that captures a photo. When complete, the photo is even returned to your application so you can use it. To the user, it seems as if the camera is actually a part of your application.
When the system starts a component, it starts the process for that application (if it's not already running) and instantiates the classes needed for the component. For example, if your application starts the activity in the camera application that captures a photo, that activity runs in the process that belongs to the camera application, not in your application's process. Therefore, unlike applications on most other systems, Android applications don't have a single entry point (there's no main() function, for example).
Because the system runs each application in a separate process with file permissions that restrict access to other applications, your application cannot directly activate a component from another application. The Android system, however, can. So, to activate a component in another application, you must deliver a message to the system that specifies your intent to start a particular component. The system then activates the component for you.

 

Introduction

Developing applications for Android devices is facilitated by a group of tools that are provided with the SDK. You can access these tools through an Eclipse plugin called ADT (Android Development Tools) or from the command line. Developing with Eclipse is the preferred method because it can directly invoke the tools that you need while developing applications.
However, you may choose to develop with another IDE or a simple text editor and invoke the tools on the command line or with scripts. This is a less streamlined way to develop because you will sometimes have to call command line tools manually, but you will have access to the same number of features that you would have in Eclipse.
Development process for Android applications
Figure 1.The development process for Android applications.
The basic steps for developing applications (with or without Eclipse) are shown in figure 1. The development steps encompass four development phases, which include:
  • Setup
During this phase you install and set up your development environment. You also create Android Virtual Devices (AVDs) and connect hardware devices on which you can install your applications.
See Managing Virtual Devices and Using Hardware Devices for more information.
  • Development
During this phase you set up and develop your Android project, which contains all of the source code and resource files for your application. For more informations, see Create an Android project.
  • Debugging and Testing
During this phase you build your project into a debuggable.apk package that you can install and run on the emulator or an Android-powered device. If you are using Eclipse, builds are generated each time you project is saved. If you're using another IDE, you can build your project using Ant and install it on a device using adb. For more information, see Build and run your application.
Next, you debug your application using a JDWP-compliant debugger along with the debugging and logging tools that are provided with the Android SDK. Eclipse already comes packaged with a compatible debugger. For more information see, Debug your application with the SDK debugging and logging tools.
Last, you test your application using various Android SDK testing tools. For more information, see Test your application with the Testing and Instrumentation framework.

 

Application Resources

Topics

  1. Providing Resources
  2. Accessing Resources
  3. Handling Runtime Changes
  4. Localization

Reference

  1. Resource Types
You should always externalize resources such as images and strings from your application code, so that you can maintain them independently. Externalizing your resources also allows you to provide alternative resources that support specific device configurations such as different languages or screen sizes, which becomes increasingly important as more Android-powered devices become available with different configurations. In order to provide compatibility with different configurations, you must organize resources in your project's res/ directory, using various sub-directories that group resources by type and configuration.
http://developer.android.com/images/resources/resource_devices_diagram1.png
Figure 1. Two different devices, each using the default layout (the app provides no alternative layouts).
http://developer.android.com/images/resources/resource_devices_diagram2.png
Figure 2. Two different devices, each using a different layout provided for different screen sizes.
For any type of resource, you can specify default and multiple alternative resources for your application:
  • Default resources are those that should be used regardless of the device configuration or when there are no alternative resources that match the current configuration.
  • Alternative resources are those that you've designed for use with a specific configuration. To specify that a group of resources are for a specific configuration, append an appropriate configuration qualifier to the directory name.
For example, while your default UI layout is saved in the res/layout/ directory, you might specify a different layout to be used when the screen is in landscape orientation, by saving it in the res/layout-land/ directory. Android automatically applies the appropriate resources by matching the device's current configuration to your resource directory names.
Figure 1 illustrates how the system applies the same layout for two different devices when there are no alternative resources available. Figure 2 shows the same application when it adds an alternative layout resource for larger screens.
The following documents provide a complete guide to how you can organize your application resources, specify alternative resources, access them in your application, and more:
What kinds of resources you can provide in your app, where to save them, and how to create alternative resources for specific device configurations.
How to use the resources you've provided, either by referencing them from your application code or from other XML resources.
How to manage configuration changes that occur while your Activity is running.
A bottom-up guide to localizing your application using alternative resources. While this is just one specific use of alternative resources, it is very important in order to reach more users.
A reference of various resource types you can provide, describing their XML elements, attributes, and syntax. For example, this reference shows you how to create a resource for application menus, drawables, animations, and more.

Android version history

From Wikipedia, the free encyclopedia
Android logo.png
http://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Android_robot.svg/185px-Android_robot.svg.png
http://bits.wikimedia.org/skins-1.18/common/images/magnify-clip.png
The Android logo, featuring a stylized robot.
The version history of the Android operating system began with the release of the Android 1.0 beta in November 2007. Android is a mobile operating system developed by Google and the Open Handset Alliance, and has seen a number of updates to its base operating system since its original release. These updates typically fix bugs and add new features. Since April 2009, each Android version has been developed under a codename based on a dessert item. These versions have released in alphabetical order: Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb and Ice Cream Sandwich. The pre-release versions of Android were dubbed Astro and Bender, but these names could not ultimately be used for trademark reasons.[1]The most recent update to the Android OS was v4.0.3, which was released in December 2011.[2]


v1.5 Cupcake

http://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Android_home.png/170px-Android_home.png
http://bits.wikimedia.org/skins-1.18/common/images/magnify-clip.png
The Android Emulator default home screen (v1.5).
On 30 April 2009, the Android 1.5 update, dubbed Cupcake, was released, based on Linux kernel 2.6.27.[15][16] The update included several new features and UI amendments:[17]
  • Support for third-party virtual keyboards with text prediction and user dictionary for custom words
  • Support for Widgets - miniature application views that can be embedded in other applications (such as the Home screen) and receive periodic updates[18]
  • Video recording and playback in MPEG-4 and 3GP formats
  • Auto-pairing and stereo support for Bluetooth added (A2DP and AVRCP profiles)
  • Copy and paste features added to web browser
  • User pictures shown for Favorites in Contacts
  • Specific date/time stamp shown for events in call log, and one-touch access to a contact card from call log event
  • Animated screen transitions
  • Ability to upload videos to YouTube
  • Ability to upload photos to Picasa

[edit]v1.6 Donut

http://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Android1.6.png/170px-Android1.6.png
http://bits.wikimedia.org/skins-1.18/common/images/magnify-clip.png
The Android 1.6 home screen.
On 15 September 2009, the Android 1.6 SDK – dubbed Donut – was released, based on Linux kernel 2.6.29.[19][20][21] Included in the update were numerous new features:[19]
  • Voice and text entry search enhanced to include bookmark history, contacts, and the web
  • Ability for developers to include their content in search results
  • Multi-lingual speech synthesis engine to allow any Android application to "speak" a string of text
  • Easier searching and ability to view app screenshots in Android Market
  • Gallery, camera and camcorder more fully integrated, with faster camera access
  • Ability for users to select multiple photos for deletion
  • Updated technology support for CDMA/EVDO, 802.1x, VPNs, and a text-to-speech engine
  • Support for WVGA screen resolutions
  • Speed improvements in searching and camera applications
  • Expanded Gesture framework and new GestureBuilder development tool

[edit]v2.0/2.1 Eclair

[edit]v2.0

http://upload.wikimedia.org/wikipedia/en/thumb/3/32/Motorola-milestone-wikipedia.jpg/220px-Motorola-milestone-wikipedia.jpg
http://bits.wikimedia.org/skins-1.18/common/images/magnify-clip.png
The Motorola Droid introduced Android 2.0.
On 26 October 2009, the Android 2.0 SDK – codenamed Eclair – was released, based on Linux kernel 2.6.29.[22] Changes included:[23]
  • Expanded Account sync, allowing users to add multiple accounts to a device for email- and contact-synchronization
  • Exchange email support, with combined inbox to browse email from multiple accounts in one page
  • Bluetooth 2.1 support
  • Ability to tap a Contacts photo and select to call, SMS, or email the person
  • Ability to search all saved SMS and MMS messages, with delete oldest messages in a conversation automatically deleted when a defined limit is reached
  • Numerous new camera features, including flash support, digital zoom, scene mode, white balance, color effect and macro focus
  • Improved typing speed on virtual keyboard, with smarter dictionary that learns from word usage and includes contact names as suggestions
  • Refreshed browser UI with bookmark thumbnails, double-tap zoom and support for HTML5
  • Calendar agenda view enhanced, showing attending status for each invitee, and ability to invite new guests to events
  • Optimized hardware speed and revamped UI
  • Support for more screen sizes and resolutions, with better contrast ratio
  • Improved Google Maps 3.1.2
  • MotionEvent class enhanced to track multi-touch events[24]
  • Addition of live wallpapers, allowing the animation of home-screen background images to show movement

[edit]v2.0.1

The Android 2.0.1 SDK was released on 3 December 2009.[25] It was a minor platform release deployable to Android-powered handsets, including minor API changes, bug fixes and framework behavioral changes.[25]

[edit]v2.1

The 2.1 SDK was released on 12 January 2010.[26] It was a minor platform release deployable to Android-powered handsets, including minor amendments to the API and bug fixes.[26]

[edit]v2.2.x Froyo

http://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Nexus_One.png/170px-Nexus_One.png
http://bits.wikimedia.org/skins-1.18/common/images/magnify-clip.png
Google's Nexus One was the first smartphone to receive Android 2.2 Froyo.

[edit]v2.2

On 20 May 2010, the Android 2.2 (Froyo) SDK was released, based on Linux kernel 2.6.32.[27][28] Its features included:[27]
  • Speed, memory, and performance optimizations[29]
  • Additional application speed improvements, implemented through JIT compilation[30]
  • Integration of Chrome's V8 JavaScript engine into the Browser application
  • Support for the Android Cloud to Device Messaging (C2DM) service, enabling push notifications
  • Improved Microsoft Exchange support, including security policies, auto-discovery, GAL look-up, calendar synchronization and 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[29]
  • Quick switching between multiple keyboard languages and their dictionaries
  • Voice dialing and contact sharing over Bluetooth
  • Support for Bluetooth-enabled car and desk docks
  • Support for numeric and alphanumeric passwords
  • Support for file upload fields in the Browser application[31]
  • Support for installing applications to the expandable memory
  • Adobe Flash support[32]
  • Support for extra-high-PPI screens (320 ppi), such as 4" 720p[33]
  • Gallery allows users to view picture stacks using a zoom gesture

[edit]v2.2.1

The Android 2.2.1 update was released on 18 January 2011, and included a number of bug fixes, security updates, and performance improvements.[34]

[edit]v2.2.2

The Android 2.2.2 update was released on 22 January 2011, and fixed minor bugs, including SMS routing issues that affected the Nexus One.[35]

[edit]v2.2.3

The Android 2.2.3 update was released on 21 November 2011, and consisted of two security patches.

[edit]v2.3.x Gingerbread

http://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Nexus_S.png/170px-Nexus_S.png
http://bits.wikimedia.org/skins-1.18/common/images/magnify-clip.png
Google's Nexus S introduced Android 2.3 Gingerbread.

[edit]v2.3

On 6 December 2010, the Android 2.3 (Gingerbread) SDK was released, based on Linux kernel 2.6.35.[36][37] Changes included:[36]
  • Updated user interface design with increased simplicity and speed
  • Support for extra-large screen sizes and resolutions (WXGA and higher)[33]
  • Native support for SIPVoIP internet telephony
  • Faster, more intuitive text input in virtual keyboard, with improved accuracy, better suggested text and voice input mode
  • Enhanced copy/paste functionality, allowing users to select a word by press-hold, copy, and paste
  • Support for Near Field Communication (NFC), allowing the user to read an NFC tag embedded in a poster, sticker, or advertisement
  • New audio effects such as reverb, equalization, headphone virtualization, and bass boost
  • New Download Manager, giving users easy access to any file downloaded from the browser, email, or another application
  • Support for multiple cameras on the device, including a front-facing camera, if available
  • Support for WebM/VP8 video playback, and AAC audio encoding
  • Improved power management with a more active role in managing apps that are keeping the device awake for too long
  • Enhanced support for native code development
  • Switched from YAFFS to ext4 on newer devices[38][39]
  • Audio, graphical, and input enhancements for game developers
  • Concurrent garbage collection for increased performance
  • Native support for more sensors (such as gyroscopes and barometers)

[edit]v2.3.3

Released on 9 February 2011, Android 2.3.3 included several improvements and API fixes.[40]

[edit]v2.3.4

Version 2.3.4 introduced support for voice or video chat using Google Talk.[41]

[edit]v2.3.5

Released on 25 July 2011, Android 2.3.5 included a number of system enhancements:[42]
  • Improved network performance for the Nexus S 4G, among other fixes and improvements
  • Fixed Bluetooth bug on Samsung Galaxy S
  • Improved Gmail application
  • Shadow animations for list scrolling
  • Camera software enhancements
  • Improved battery efficiency

[edit]v2.3.6

Released on 2 September 2011, this version fixed a voice search bug. The 2.3.6 update had the side-effect of impairing the Wi-Fi hotspot functionality of many Canadian Nexus S phones. Google acknowledged this problem and fixed it in late September.[43][44]

[edit]v2.3.7

Android 2.3.7 introduced Google Wallet support for the Nexus S 4G.

[edit]v3.x Honeycomb

[edit]v3.0

http://upload.wikimedia.org/wikipedia/en/thumb/8/8e/Xoom_Motorola.jpg/300px-Xoom_Motorola.jpg
http://bits.wikimedia.org/skins-1.18/common/images/magnify-clip.png
The Motorola Xoom tablet introduced Android 3.0.1 Honeycomb.
On 22 February 2011, the Android 3.0 (Honeycomb) SDK – the first tablet-only Android update – was released, based on Linux kernel 2.6.36.[45][46][47][48] The first device featuring this version, the Motorola Xoom tablet, was released on 24 February 2011.[49] Changes included:[45]
  • Optimized tablet support with a new virtual and “holographic” user interface
  • Added System Bar, featuring quick access to notifications, status, and soft navigation buttons, available at the bottom of the screen
  • Added Action Bar, giving access to contextual options, navigation, widgets, or other types of content at the top of the screen
  • Simplified multitasking – tapping Recent Apps in the System Bar allows users to see snapshots of the tasks underway and quickly jump from one app to another
  • Redesigned keyboard, making typing fast, efficient and accurate on larger screen sizes
  • Simplified, more intuitive copy/paste interface
  • Multiple browser tabs replacing browser windows, plus form auto-fill and a new “incognito” mode allowing anonymous browsing
  • Quick access to camera exposure, focus, flash, zoom, front-facing camera, time-lapse, and more
  • Ability to view albums and other collections in full-screen mode in Gallery, with easy access to thumbnails for other photos
  • New two-pane Contacts UI and Fast Scroll to let users easily organize and locate contacts
  • New two-pane Email UI to make viewing and organizing messages more efficient, allowing users to select one or more messages
  • Support for video chat using Google Talk
  • Hardware acceleration
  • Support for multi-core processors
  • Ability to encrypt all user data

[edit]v3.1

The 3.1 SDK was released on 10 May 2011.[50] Changes included:
  • UI refinements
  • Connectivity for USB accessories
  • Expanded Recent Apps list
  • Resizable Home screen widgets
  • Support for external keyboards and pointing devices
  • Support for joysticks and gamepads
  • Support for FLAC audio playback[51][52]
  • High-performance Wi-Fi lock, maintaining high-performance Wi-Fi connections when device screen is off
  • Support for HTTP proxy for each connected Wi-Fi access point

[edit]v3.2

The 3.2 SDK was released on 15 July 2011,[53] first appearing on Huawei's MediaPad tablet.[54] Changes included:
  • Improved hardware support, including optimizations for a wider range of tablets
  • Increased ability of apps to access files on the SD card, e.g. for synchronization
  • Compatibility display mode for apps that have not been optimized for tablet screen resolutions
  • New display support functions, giving developers more control over display appearance on different Android devices

[edit]v3.2.1

The Android 3.2.1 update was released on 20 September 2011, and included a number of amendments:
  • Bug fixes and minor security, stability and Wi-Fi improvements
  • Update to Android Market with automatic updates and easier-to-read Terms and Condition text
  • Update to Google Books
  • Improved Adobe Flash support in browser
  • Improved Chinese handwriting prediction

[edit]v3.2.2

The 3.2.2 update was released on 30 August 2011, and included bug fixes and other minor improvements for the Motorola Xoom 4G.

[edit]v4.x Ice Cream Sandwich

Android 4.0 – codenamed Ice Cream Sandwich – was previewed at the May 2011 Google I/O event,[55] and officially launched at the Galaxy Nexus and Ice Cream Sandwich release event on 19 October 2011.[56]

[edit]v4.0.1

http://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Galaxy_Nexus_smartphone.jpg/220px-Galaxy_Nexus_smartphone.jpg
http://bits.wikimedia.org/skins-1.18/common/images/magnify-clip.png
The Galaxy Nexus introduced Android 4.0.1 Ice Cream Sandwich.
The SDK for Android 4.0.1 was publicly released on 19 October 2011.[57] Google's Gabe Cohen stated that Android 4.0 was "theoretically compatible" with any Android 2.3.x device in production at that time.[58] The source code for Android 4.0 became available on 14 November 2011, three days before the Galaxy Nexus was released.[59] New features included:[60][61][62]
  • Enhanced speed and performance
  • Virtual buttons in the UI, in place of capacitive or physical buttons
  • Separation of widgets in a new tab, listed in a similar manner to apps
  • Easier-to-create folders, with a drag-and-drop style
  • A customizable launcher
  • Improved visual voicemail with the ability to speed up or slow down voicemail messages
  • Pinch-to-zoom functionality in the calendar
  • Offline search, a two-line preview, and new action bar at the bottom of the Gmail app
  • Ability to swipe left or right to switch between Gmail conversations
  • Integrated screenshot capture (accomplished by holding down the Power and Volume-Down buttons)
  • Improved error correction on the keyboard
  • Ability to access apps directly from lock screen (similar to HTC Sense 3.x)
  • Improved copy and paste functionality
  • Better voice integration and continuous, real-time speech to text dictation
  • Face Unlock, a feature that allows users to unlock handsets using facial recognition software
  • New tabbed web browser, allowing up to 16 tabs
  • Automatic syncing of browser with users' Chrome bookmarks
  • Modern Roboto font
  • Data Usage section in settings that lets users set warnings when they approach a certain usage limit, and disable data use when the limit is exceeded
  • Ability to shut down apps that are using data in the background
  • Improved camera app with zero shutter lag, time lapse settings, panorama mode, and the ability to zoom while recording
  • Built-in photo editor
  • New gallery layout, organized by location and person
  • Refreshed "People" app with social network integration, status updates and hi-res images
  • Android Beam, a near-field communication feature allowing the rapid short-range exchange of web bookmarks, contact info, directions, YouTube videos and other data
  • Hardware acceleration of the UI[63]
  • Resizeable widgets – already part of Android 3.1 for tablets, but new for cellphones[64]
  • Wi-Fi Direct[65]
  • 1080p video recording for stock Android devices

[edit]v4.0.2

The Android 4.0.2 update was released on 28 November 2011, and fixed minor bugs on the Verizon Galaxy Nexus, the US launch of which was later delayed until December 2011.[66][67]

[edit]v4.0.3

The Android 4.0.3 update was first released on 16 December 2011.[2] It included a number of bug fixes and optimizations, and offered improvements to graphics, databases, spell-checking and Bluetooth functionality, along with new APIs for developers, including a social stream API in the Contacts provider. Other features included Calendar provider enhancements, new camera apps enhancing video stabilization and QVGA resolution, and accessibility refinements such as improved content access for screen readers.[68]

Top18 features
1. Monitor status (cpu, memory, battery)
2. Process Manager (Auto Boost and Quick Boost can distinguish different types of processes thus will not kill fatal system processes and apps in Ignore List.)
3. Cache Cleaner
4. System Clean(Browser History, Clipboard, Market History, Gmail History, Google Earth History, Google Map History)
5. Save Battery Settings(bluetooth, wifi, gps, auto-sync, orientation, haptic feedback, screen brightness, timeout)
6. File Manager
7. Startup Manager
8. Batch Uninstall
9. Battery use
10. Volume Control
11.Ringer
12.Startup Time
13. Startup Silent(Menu->Settings->Startup Silent)
14. System Info
15.Widget(Quick Booster[1,4], Shortcuts[4])
16. App 2 SD(Support android2.2 and later)Get more free internal phone storage space
17. Batch Installation
18. App backup and restore

No comments:

Post a Comment