Tag: google
Google Code Jam 2012 – Qualification round What Happened
by admin on apr.15, 2012, under are you curious?, gtug
Saturday morning i received a mail that explain to me that the qualification round is beginning, so i logged to the google code website and i found the questions to complete the qualification round!- A. Speaking in Tongues
- B. Dancing With the Googlers
- C. Recycled Numbers
- D. Hall of Mirrors
News from Google I/O 2011
by Adriano Tornatore on mag.20, 2011, under Android, are you curious?, Developers, gtug
We will talk about last technologies and solutions shown in the biggest Google I/O event in San Francisco on 10-11 May. Here the full program:
- News from Google I/O 2011
- Case study on Chrome Webstore: developing tools and best practices
- Palermo GTUG members developed Android apps showcases
- Introducing Android Tablet “ASUS Eee Pad Transformer” by Infograf sas company
- Google Jobs: recruitment and applications collection
- Question time
Main speaker will be Claudio Cherubino from Sicily, Developer Programs Engineer at Google’s offices in London, he works on Google Apps API and on Google Apps Marketplace.
He worked also as software developer, technology evangelist, community manager, consultant, technical translator and several open-source projects got his contributes like MySQL, PHP, WordPress, Songbird and Voldemort Project.
Android Honeycomb Is Coming (3.0)
by flotruglio on feb.07, 2011, under Android, are you curious?
Google officially announced Android 3.0, known as Honeycomb (Google tends to name their Android builds after sweet, delicious desserts).
this firmware born directly for combating the Apple iPad head-on, more and more Honeycomb-powered tablets are being leaked or revealed. (continue reading…)
Il était une fois… la Vie ..Google body
by admin on feb.06, 2011, under are you curious?
Do you remember “Il était une fois… la Vie” the animated cartoon that speak about the human body?
now with google you can explore the human body trough the html5 and web GL tecnologies …visit http://bodybrowser.googlelabs.com/body.html to start your exploration!
PS. only for Google Chrome | Mozilla Firefox 4 Beta | WebKit nightly
Android 2.3 (Gingerbread) Platform
by Adriano Tornatore on dic.07, 2010, under Android, Developers

API Level: 9
For developers, the Android 2.3 platform is available as a
downloadable component for the Android SDK. The downloadable platform includes
an Android library and system image, as well as a set of emulator
skins and more. The downloadable platform
includes no external libraries.
To get started developing or testing against Android
2.3, use the Android SDK Manager to
download the platform into your SDK. For more information,
see Adding SDK
Components. If you are new to Android, download the SDK Starter Package
first.
For a high-level introduction to Android 2.3, see the Platform Highlights.
Revisions
The sections below provide notes about successive releases of
the Android 2.3 platform component for the Android SDK, as denoted by
revision number. To determine what revision(s) of the Android
2.3 platforms are installed in your SDK environment, refer to
the “Installed Packages” listing in the Android SDK and AVD Manager.
//
Android 2.3, Revision 1 (December 2010)
- Dependencies:
- Requires SDK Tools r8 or higher.
API Overview
The sections below provide a technical overview of what’s new for developers
in 2.3, including new features and changes in the framework
API since the previous version.
SIP-based VOIP
The platform now includes a SIP protocol stack and framework API that lets
developers build internet telephony applications. Using the API, applications can offer
voice calling features without having to manage sessions, transport-level
communication, or audio — these are handled
transparently by the platform’s SIP API and services.
The SIP API is available in the android.net.sip
package. The key class is SipManager, which applications
use to set up and manage SIP profiles, then initiate audio calls and receive
audio calls. Once an audio call is established, applications can mute calls,
turn on speaker mode, send DTMF tones, and more. Applications can also use the
SipManager to create generic SIP connections.
The platform’s underlying SIP stack and services are available on devices at
the discretion of the manufacturer and associated carrier. For this reason,
applications should use the isApiSupported() method to check whether SIP support is available, before
exposing calling functionality to users.
To use the SIP API, applications must request permission from the user by
declaring <uses-permission and
android:name="android.permission.INTERNET"><uses-permission in their manifest files.
android:name="android.permission.USE_SIP">
Additionally, developers can request filtering on Android Market, such that
their applications are not discoverable to users whose devices do not include
the platform’s SIP stack and services. To request filtering, add <uses-feature and
android:name="android.software.sip"
android:required="true"><uses-feature to the application manifest.
android:name="android.software.sip.voip">
To look at a sample application that uses the SIP API, see SIP Demo.
Near Field Communications (NFC)
Android 2.3 includes an NFC stack and framework API that lets developers
read NDEF tags that are discovered as a user touches an NFC-enabled device
to tag elements embedded in stickers, smart posters, and even other devices.
The platform provides the underlying NFC services that work with the device
hardware to discover tags when they come into range. On discovering a tag, the
platform notifies applications by broadcasting an Intent, appending the tag’s
NDEF messages to the Intent as extras. Applications can create Intent filters to
recognize and handle targeted tags and messages. For example, after receiving a
tag by Intent, applications extract the NDEF messages, store them, alert the
user, or handle them in other ways.
The NFC API is available in the android.nfc package. The key classes are:
NfcAdapter, which represents the NFC hardware on the device.NdefMessage, which represents an NDEF data message,
the standard format in which “records” carrying data are transmitted between
devices and tags. Applications can receive these messages fromACTION_TAG_DISCOVEREDIntents.NdefRecord, delivered in an
NdefMessage, which describes the type of data being shared and
carries the data itself.
NFC communication relies on wireless technology in the device hardware, so
support for the platform’s NFC features on specific devices is determined by
their manufacturers. To determine the NFC support on the current device,
applications can call isEnabled() to
query the NfcAdapter. The NFC API is always present,
however, regardless of underlying hardware support.
To use the NFC API, applications must request permission from the user by
declaring <uses-permission in their manifest files.
android:name="android.permission.NFC">
Additionally, developers can request filtering on Android Market, such that
their applications are not discoverable to users whose devices do not support
NFC. To request filtering, add
<uses-feature android:name="android.hardware.nfc" to the application’s manifest.
android:required="true">
To look at a sample application that uses the NFC API, see
NFCDemo.
Gyroscope and other sensors
Android 2.3 adds platform and API support for several new sensor reading
types — gyroscope, rotation vector, linear acceleration, gravity, and barometer.
Developers can use the new sensor readings to create applications that respond
quickly and smoothly to precise changes in device position and motion. The
Sensor API reports gyroscope and other sensor changes to interested
applications, whether they are running on the application framework or in native
code.
Note that the specific set of hardware sensors available on any given device
varies at the discretion of the device manufacturer.
Developers can request filtering in Android Market, such that their
applications are not discoverable to users whose devices do not offer a
gyroscope sensor. To do so, add <uses-feature to the application manifest.
android:name="android.hardware.sensor.gyroscope"
android:required="true">
For API details, see Sensor.
Multiple cameras support
Applications can now make use of any cameras that are available on a device,
for either photo or video capture. The Camera lets
applications query for the number of cameras available and the unique
characteristics of each.
- New
Camera.CameraInfoclass stores a camera’s
positional characteristics (orientation, front-facing or back-facing). - New
getNumberOfCameras(),getCameraInfo(), and
getNumberOfCameras()methods in theCameraclass let applications query for the cameras available
and open the camera that they need. - New
get()method lets
applications retrieve aCamcorderProfilefor a specific camera. - New
getJpegEncodingQualityParameter()lets applications obtain the still-image
capture quality level for a specific camera.
To look at sample code for accessing a front-facing camera, see CameraPreview.java
in the ApiDemos sample application.
The Camera API also adds:
- New parameters for cameras, including focus distance, focus mode, and
preview fps maximum/minimum. NewgetFocusDistances(),getPreviewFpsRange(), andgetSupportedPreviewFpsRange()for getting camera parameters, as well assetPreviewFpsRange()for setting preview framerate.
Mixable audio effects
The platform’s media framework adds support for new per-track or global audio effects,
including bass boost, headphone virtualization, equalization, and reverb.
- New
android.media.audiofxpackage provides the
API to access audio effects. - New
AudioEffectis the base class
for controlling audio effects provided by the Android audio framework. - New audio session ID that lets an application associate a set of audio
effects with an instance ofAudioTrackorMediaPlayer. - New
AudioTrackclass constructor that lets you create anAudioTrackwith a specific session ID. NewattachAuxEffect(),getAudioSessionId(), andsetAuxEffectSendLevel()
methods. - New
attachAuxEffect(),getAudioSessionId(),setAudioSessionId(int), andsetAuxEffectSendLevel()
methods and supporting types.
To look at sample code for audio effects, see
AudioFxDemo.java
in the ApiDemos sample application.
The media framework also adds:
- New support for altitude tag in EXIF metadata for JPEG files. New method
getAltitude()method to
retrieve the value of the EXIF altitude tag. - New
setOrientationHint()method lets an application tellMediaRecorderof the orientation during video capture.
Download manager
The platform includes a new DownloadManager system service
that handles long-running HTTP downloads. Applications can request that a URI be
downloaded to a particular destination file. The DownloadManager
will conduct the download in the background, taking care of HTTP interactions
and retrying downloads after failures or across connectivity changes and system
reboots.
- Applications can obtain an instance of the
DownloadManager
class by callinggetSystemService(String)and passing
DOWNLOAD_SERVICE. Applications that request
downloads through this API should register a broadcast receiver forACTION_NOTIFICATION_CLICKED, to appropriately
handle when the user clicks on a running download in a notification or from the
Downloads UI. - The
DownloadManager.Requestclass lets an
application provide all the information necessary to request a new download,
such as request URI and download destination. A request URI is the only required
parameter. Note that the default download destination is a shared volume where
the system can delete your file if it needs to reclaim space for system use. For
persistent storage of a download, specify a download destination on external
storage (seesetDestinationUri(Uri)). - The
DownloadManager.Queryclass provides methods that let
an application query for and filter active downloads.
StrictMode
To help developers monitor and improve the performance of their applications,
the platform offers a new system facility called StrictMode.
When implemented in an application, StrictMode catches and notifies the
developer of accidental disk or network activity that could degrade application
performance, such as activity taking place on the application’s main thread
(where UI operations are received and animations are also taking place).
Developers can evaluate the network and disk usages issues raised in StrictMode
and correct them if needed, keeping the main thread more responsive and
preventing ANR dialogs from being shown to users.
StrictModeis the core class and is the main integration
point with the system and VM. The class provides convenience methods for
managing the thread and VM policies that apply to the instance.StrictMode.ThreadPolicyandStrictMode.VmPolicyhold the policies that you define and apply to
thread and VM instances.
For more information about how to use StrictMode to optimize your
application, see the class documentation and sample code at android.os.StrictMode.
UI Framework
- Support for overscroll
- New support for overscroll in Views and Widgets. In Views, applications can
enable/disable overscroll for a given view, set the overscoll mode, control the
overscroll distance, and handle the results of overscrolling. - In Widgets, applications can control overscroll characteristics such as
animation, springback, and overscroll distance. For more information, seeandroid.view.Viewandandroid.widget.OverScroller. ViewConfigurationalso provides methodsgetScaledOverflingDistance()andgetScaledOverscrollDistance().- New
overScrollMode,overScrollFooter, and
overScrollHeaderattributes for<ListView>elements,
for controlling overscroll behavior.
- New support for overscroll in Views and Widgets. In Views, applications can
- Support for touch filtering
- New support for touch filtering, which lets an application improve the
security of Views that provide access to sensitive functionality. For example,
touch filtering is appropriate to ensure the security of user actions such as
granting a permission request, making a purchase, or clicking on an
advertisement. For details, see the View class
documentation. - New
filterTouchesWhenObscuredattribute for view elements,
which declares whether to filter touches when the view’s window is obscured by
another visible window. When set to"true", the view will not
receive touches whenever a toast, dialog or other window appears above the
view’s window. Refer to View security
documentation for details.
To look at sample code for touch filtering, see
SecureView.java
in the ApiDemos sample application. - New support for touch filtering, which lets an application improve the
- Improved event management
- New base class for input events,
InputEvent. The class
provides methods that let applications determine the meaning of the event, such
as by querying for the InputDevice from which the event orginated. TheKeyEventandMotionEventare subclasses of
InputEvent. - New base class for input devices,
InputDevice. The
class stores information about the capabilities of a particular input device and
provides methods that let applications determine how to interpret events from an
input device.
- New base class for input events,
- Improved motion events
- The
MotionEventAPI is extended to include “pointer ID”
information, which lets applications to keep track of individual fingers as they
move up and down. The class adds a variety of methods that let an application
work efficiently with motion events. - The input system now has logic to generate motion events with the new
pointer ID information, synthesizing identifiers as new pointers are down. The
system tracks multiple pointer IDs separately during a motion event, and
ensures proper continuity of pointers by evaluating at the distance
between the last and next set of pointers.
- The
- Text selection controls
- A new
setComposingRegionmethod lets an application mark a
region of text as composing text, maintaining the current styling. A
getSelectedTextmethod returns the selected text to the
application. The methods are available inBaseInputConnection,InputConnection, andInputConnectionWrapper. - New
textSelectHandle,textSelectHandleLeft,
textSelectHandleRight, andtextSelectHandleWindowStyle
attributes for<TextView>, for referencing drawables that will be
used to display text-selection anchors and the style for the containing
window.
- A new
- Activity controls
ActivityInfoadds new constants for managing
Activity orientation:
SCREEN_ORIENTATION_FULL_SENSOR,
SCREEN_ORIENTATION_REVERSE_LANDSCAPE,
SCREEN_ORIENTATION_REVERSE_PORTRAIT,
SCREEN_ORIENTATION_SENSOR_LANDSCAPE,
and
SCREEN_ORIENTATION_SENSOR_PORTRAIT.- New constant
IMPORTANCE_PERCEPTIBLEfor
theimportancefield
inActivityManager.RunningAppProcessInfo. The value
indicates that a specific process is running something that is considered to be
actively perceptible to the user. An example would be an application performing
background music playback. - The
setPersistent(boolean)method to mark an
Activity as persistent is now deprecated and the implementation is a no-op.
- Notification text and icon styles
- New
TextAppearance.StatusBar.EventContent,
TextAppearance.StatusBar.EventContent.Title,
TextAppearance.StatusBar.Icon, and
TextAppearance.StatusBar.Titlefor managing
notification style.
- New
- WebView
- New
setUseWebViewBackgroundForOverscrollBackground()method lets aWebViewspecify whether to use its own background for the
overscroll background.
- New
Extra Large Screens
The platform now supports extra large screen sizes, such as those that might
be found on tablet devices. Developers can indicate that their applications are
designed to support extra large screen sizes by adding a <supports element to their manifest
screens ... android:xlargeScreens="true">
files. Applications can use a new resource qualifier, xlarge, to
tag resources that are specific to extra large screens. For
details on how to support extra large and other screen sizes, see Supporting Multiple
Screens.
Graphics
- Adds remaining OpenGL ES 2.0 methods
glDrawElements()and
glVertexAttribPointer()in theandroid.opengl.GLES20class. - Adds support for
YV12pixel format, a
planar 4:2:0 YCrCb format.
Content Providers
- New
AlarmClockprovider class for setting an alarm
or handling an alarm. The provider contains aACTION_SET_ALARMIntent
action and extras that can be used to start an Activity to set a new alarm in an
alarm clock application. Applications that wish to receive the
SET_ALARMIntent should create an activity that requires the
the SET_ALARM permission. Applications that wish to create a new
alarm should useContext.startActivity(), so that the user has the option of choosing
which alarm clock application to use. MediaStoresupports a new Intent action,PLAY_FROM_SEARCH, that lets an application search for music media and
automatically play content from the result when possible. For example, an
application could fire this Intent as the result of a voice recognition command
to listen to music.MediaStorealso adds a newMEDIA_IGNORE_FILENAMEflag that tells the media
scanner to ignore media in the containing directory and its subdirectories.
Developers can use this to avoid having graphics appear in the Gallery and
likewise prevent application sounds and music from showing up in the Music
app.- The
Settingsprovider adds the new Activity actions
APPLICATION_DETAILS_SETTINGSandMANAGE_ALL_APPLICATIONS_SETTINGS, which let an application show the details
screen for a specific application or show the Manage Applications screen. - The
ContactsContractprovider adds theContactsContract.CommonDataKinds.SipAddressdata kind, for
storing a contact’s SIP (Internet telephony) address.
Location
- The
LocationManagernow tracks application
requests that result in wake locks or wifi locks according to
WorkSource, a system-managed class that identifies the
application.The
LocationManagerkeeps track
of all clients requesting periodic updates, and tells its providers
about them as aWorkSourceparameter, when setting their minimum
update times.
The network location provider usesWorkSourceto track the
wake and wifi locks initiated by an application and adds it to the application’s
battery usage reported in Manage Applications. - The
LocationManageradds several new methods that
let an Activity register to receive periodic or one-time location updates based
on specified criteria (see below). - A new
Criteriaclass lets an application specify a
set of criteria for selecting a location provider. For example, providers may be
ordered according to accuracy, power usage, ability to report altitude, speed,
and bearing, and monetary cost.
Storage
- Android 2.3 adds a new
StorageManagerthat
supports OBB (Opaque Binary Blob) files. Although platform support for OBB is
available in Android 2.3, development tools for creating and managing OBB files
will not be availble until early 2011. - The Android 2.3 platform adds official support for devices that do not
include SD cards (although it provides virtual SD Card partition, when no
physical SD card is available). A convenience method,isExternalStorageRemovable(), lets applications
determine whether a physical SD card is present.
Package Manager
- New constants for declaring hardware and software features. See the list in
the New Feature Constants section, below. PackageInfoadds newfirstInstallTimeandlastUpdateTimefields that store the time of the
package installation and last update.- New
getProviderInfo()method for retrieving all of the information known about
a particular content provider class.
Telephony
- The
TelephonyManageradds the constantNETWORK_TYPE_EVDO_Bfor specifying the CDMA
EVDO Rev B network type. - New
getPsc()method returns
the primary scrambling code of the serving cell on a UMTS network.
Native access to Activity lifecycle, windows
Android 2.3 exposes a broad set of APIs to applications that use native
code. Framework classes of interest to such applications include:
NativeActivityis a new type of Activity class, whose
lifecycle callbacks are implemented directly in native code. A
NativeActivityand its underlying native code run in the system
just as do other Activities — specifically they run in the Android
application’s system process and execute on the application’s main UI thread,
and they receive the same lifecycle callbacks as do other Activities.- New
InputQueueclass and callback interface lets native
code manage event queueing. - New
SurfaceHolder.Callback2interface lets native code
manage aSurfaceHolder. - New
takeInputQueueandtakeSurface()methods inWindowlet native code manage
events and surfaces.
For full information on working with native code or to download the NDK,
see the Android NDK page.
Dalvik Runtime
dalvik.system
removes several classes that were previously deprecated.- Dalvik core libraries:
- New collections:
ArrayDeque,NavigableMap,
ConcurrentSkipListMap,
LinkedBlockingDeque - New
Arraysutilities:binarySearch(),
copyOf(),copyOfRange(), and others. CookieManagerforHttpURLConnection.- More complete network APIs:
InterfaceAddress,
NetworkInterfaceandIDN Fileread and write controlsString.isEmpty()NormalizerandNormalizer.Form- Improved
javax.net.sslserver sockets.
- New collections:
New manifest elements and attributes
- New
xlargeScreensattribute for<supports-screens>
element, to indicate whether the application supports
extra large screen form-factors. For details, see Supporting Multiple
Screens. - New values for
android:screenOrientationattribute of
<activity>element:"reverseLandscape"— The Activity would like to have the
screen in landscape orientation, turned in the opposite direction from normal
landscape."reversePortait"— The Activity would like to have the
screen in portrait orientation, turned in the opposite direction from normal
portrait."sensorLandscape"— The Activity would like to have the
screen in landscape orientation, but can use the sensor to change which
direction the screen is facing."sensorPortrait"— The Activity would like to have the
screen in portrait orientation, but can use the sensor to change which direction
the screen is facing."fullSensor"— Orientation is determined by a physical
orientation sensor: the display will rotate based on how the user moves the
device. This allows any of the 4 possible rotations, regardless of what the
device will normally do (for example some devices won’t normally use 180 degree
rotation).
New Permissions
com.android.permission.SET_ALARM— Allows an application
to broadcast an Intent to set an alarm for the user. An Activity that handles
theSET_ALARMIntent action
should require this permission.android.permission.USE_SIP— Allows an application to use
theSIP APIto make or receive internet calls.android.permission.NFC— Allows an application to use the
NFC APIto make or receive internet calls.
New Feature Constants
The platform adds several new hardware features that developers can declare
in their application manifests as being required by their applications. This
lets developers control how their application is filtered, when published on
Android Market.
android.hardware.audio.low_latency— The application uses a low-latency
audio pipeline on the device and is sensitive to delays or lag in sound input or
output.android.hardware.camera.front— The application uses a front-facing
camera on the device.android.hardware.nfc
— The application uses NFC radio features in the device.android.hardware.sensor.barometer— The application uses the device’s
barometer.android.hardware.sensor.gyroscope— The application uses the device’s
gyroscope sensor.android.software.sip
— The application uses the SIP API on the device.android.software.sip.voip— The application uses a SIP-based VOIP
service on the device.android.hardware.touchscreen.multitouch.jazzhand— The application uses
advanced multipoint multitouch capabilities on the device screen, for tracking
up to five points fully independently.
For full information about how to declare features and use them for
filtering, see the documentation for <uses-feature>.
API differences report
For a detailed view of all API changes in Android 2.3 (API
Level 9), see the API
Differences Report.
API Level
The Android 2.3 platform delivers an updated version of
the framework API. The Android 2.3 API
is assigned an integer identifier —
9 — that is
stored in the system itself. This identifier, called the “API Level”, allows the
system to correctly determine whether an application is compatible with
the system, prior to installing the application.
To use APIs introduced in Android 2.3 in your application,
you need compile the application against the Android library that is provided in
the Android 2.3 SDK platform. Depending on your needs, you might
also need to add an android:minSdkVersion="9"
attribute to the <uses-sdk> element in the application’s
manifest. If your application is designed to run only on Android 2.3 and higher,
declaring the attribute prevents the application from being installed on earlier
versions of the platform.
For more information about how to use API Level, see the API Levels document.
Built-in Applications
The system image included in the downloadable platform provides these
built-in applications:
|
|
Locales
The system image included in the downloadable SDK platform provides a variety of
built-in locales. In some cases, region-specific strings are available for the
locales. In other cases, a default version of the language is used. The
languages that are available in the Android 2.3 system
image are listed below (with language_country/region locale
descriptor).
|
|
Note: The Android platform may support more
locales than are included in the SDK system image. All of the supported locales
are available in the Android Open Source
Project.
Emulator Skins
The downloadable platform includes a set of emulator skins that you can use
for modeling your application in different screen sizes and resolutions. The
emulator skins are:
- QVGA (240×320, low density, small screen)
- WQVGA400 (240×400, low density, normal screen)
- WQVGA432 (240×432, low density, normal screen)
- HVGA (320×480, medium density, normal screen)
- WVGA800 (480×800, high density, normal screen)
- WVGA854 (480×854 high density, normal screen)
For more information about how to develop an application that displays
and functions properly on all Android-powered devices, see Supporting Multiple
Screens.
Android fly to London (DroidCon 2010)
by flotruglio on ago.29, 2010, under are you curious?, gtug
This year at October in London will be the first barcamp around android technologies and developing!
A two day barcamp and conference exploring all aspects of developing for Android mobile devices.
In these two days we will speak about Android consolidated technologies and about the new devices such eReader, Tablet and more regarding the new developing tools for Android like Ruby and more…
Follow us to learn more or visit the official website at http://www.droidcon.co.uk/
Android 2.3 Platform
by Adriano Tornatore on mag.20, 2010, under Android, Developers
API Level: 8
Android 2.2 is a minor platform release including user
features, developer features, API changes, and bug
fixes. For information on developer features and API changes, see the
Framework API section.
For developers, the Android 2.2 platform is available as a
downloadable component for the Android SDK. The downloadable platform includes a
fully compliant Android library and system image, as well as a set of emulator
skins, sample applications, and more. The downloadable platform
includes no external libraries.
To get started developing or testing against the Android
2.2 platform, use the Android SDK and AVD Manager tool to
download the platform into your SDK. For more information,
see Adding SDK
Components. If you are new to Android, download the SDK Starter Package
first.
Platform Highlights
For a list of new user features and platform highlights, see the Android
2.2 Platform Highlights document.
Revisions
The sections below provide notes about successive releases of
the Android 2.2 platform component for the Android SDK, as denoted by
revision number. To determine what revision(s) of the Android
2.2 platforms are installed in your SDK environment, refer to
the “Installed Packages” listing in the Android SDK and AVD Manager.
//

Android 2.2, Revision 1 (May 2010)
- Dependencies:
- Requires SDK Tools r6 or higher.
- Tools:
- Adds support for building with Android library projects. See SDK Tools, r6 for information.
API Level
The Android 2.2 platform delivers an updated version of
the framework API. The Android 2.2 API
is assigned an integer identifier —
8 — that is
stored in the system itself. This identifier, called the “API Level”, allows the
system to correctly determine whether an application is compatible with
the system, prior to installing the application.
To use APIs introduced in Android 2.2 in your
application, you need to set the proper value, “8″, in the
android:minSdkVersion attributes of the <uses-sdk>
element in your application’s manifest.
For more information about how to use API Level, see the API Levels document.
Framework API Changes
The sections below provide information about changes made to the application
framework API provided by the Android 2.2 platform.
App installation on external storage media
The Android platform now allows applications to request installation onto the
device’s external storage media (such as the SD card), as an alternative to
installation onto the device’s internal memory.
Application developers can express the preferred installation location for
their applications by means of a new attribute of <manifest>
in the manifest file, . The attribute supports three values:
android:installLocation
"internalOnly", "preferExternal", and
"auto". At install time, the system checks the value of
android:installLocation and installs the application
.apk according to the preferred location, if possible. If the
application has requested external installation, the system installs it into a
private, encrypted partition in the external media. Once an application .apk is
installed externally, the system lets the user change the storage location of
the .apk and move it onto the device’s internal memory if needed (and vice
versa), through Manage Applications in the user settings.
By default, the system installs all applications onto the device’s internal
memory, except for those that explicitly request external installation. This
means that the system will always install legacy applications onto internal
memory, since they do not have access to the
android:installLocation attribute. However, it is possible to
configure and compile a legacy application such that it is installed internally
on older versions of the platform and externally on Android 2.2 and later
platforms, if necessary.
Note that requesting installation onto the device’s external media is not
suitable for all applications, particularly because the external media may be
removable and unmounting/remounting may disrupt the user experience and system
settings.
For more information about setting a preferred install location for your
application, including a discussion of what types of applications should and
should not request external installation, please read the App Install Location
document.
Data backup
The platform now provides a generalized backup service that
applications can use to backup and restore user data, to ensure that users can
maintain their data when switching devices or reinstalling the application. The
Backup Manager handles the work of transporting the application data to and from
the backup storage area in the cloud. The Backup Manager can store any type of
data, from arbitrary data to files, and manages backup and restore operations
in an atomic manner. For more information, see Data Backup.
Graphics
- New OpenGL ES 2.0 APIs in
android.opengl.GLES20. - New
ETC1,ETC1Util, andETC1Util.ETC1Textureclasses and utility methods for using ETC1 for texture compression. - New
ImageFormatclass. - New
YUV image format APIto enable compression from YUV to JPEG and manipulation of YUV data.
Media
- New APIs in
android.media.AudioManagerfor managing audio focus, transport control, transient loss of audio focus, ducking. - New broadcast intent for routing audio to SCO —
ACTION_SCO_AUDIO_STATE_CHANGEDwith extras indicating new state. - New APIs in
SoundPoolto detect completion of sound-loading. - New APIs in
SoundPoolfor auto pause and resume. - New APIs in
MediaRecorderfor specifying audio settings for number of channels, encoding and sampling rates, sampling rate. - New APIs for adding files to the media database, so that they are automatically scanned. See
MediaScannerConnection.scanFileandMediaScannerConnection.OnScanCompletedListener.
Speech recognition and third-party recognition engines
- The platform provides new speech-recognition APIs that allow applications to have a richer interaction with the available voice recognizer. For example, the APIs are sufficient to integrate voice recognition deeply into an IME.
- The platform also provides a
RecognitionServicebase class that lets third-party developers create plug-in recognition engines. - New
RecognitionListenerinterface to receive callbacks. - New
RecognizerIntentextras that let a requester app specify details as preferred language, minimum length in milliseconds, and so on.
Camera and camcorder
- Changes to camera preview API to improve efficieny of preview pipeline.
- New display orientation for camera (it can now work in portrait orientation).
- New APIs in
android.hardware.Camerafor managing zoom level. - New APIs
android.hardware.Camera.Parametersfor querying and setting device camera settings such as focal length, exposure, zoom level, view angle, and others. - New
thumbnailutility for video and image thumbnails. - New
CamcorderProfileandCamcorderProfileclasses enable apps to determine device hardware camera capablities. - New support in
android.media.ExifInterfacefor retrieving GPS and focal length.
Device policy manager
New device policy management APIs allow developers to write “device
administrator” applications that can control security features of the device,
such as the minimum password strength, data wipe, and so on. Users can select
the administrators that are enabled on their devices. For more information, see
the android.app.admin classees or the example
application code in DeviceAdminSample.java.
UI Framework
- New UI modes “car mode” and “night mode” and
UiModeManagerlet applications adjust their application UI for specific user modes. - New
ScaleGestureDetectorthat lets Views detect and handle transformation gestures that involve more than one pointer (multitouch) using the supplied MotionEvents. - Improvements in the way that multitouch events are reported in
MotionEventobjects. - The layout attribute
fill_parentis renamed tomatch_parent. This affects both XML and Java code (seeViewGroup.LayoutParams). Note that the platform will continue to honor uses offill_parentin legacy applications. - New layout attributes
tabStripEnabled,tabStripRight, andtabStripLeftlet developers customize the bottom strip of TabWidgets. - Better support for managed dialogs in Activity.
Accounts and sync
- New method
AddPeriodicSync()lets you schedule a periodic sync with a specific account, authority, and extras at the given frequency.
New manifest elements and attributes
- For specifying the application’s preferred install location (see App Installation on External Storage Media, above):
- New
android:installLocationattribute of the<manifest>element. Specifies the default install location defined by an application.
- New
- For managing user data backup (see Backup manager, above, for more information):
- New
android:backupAgentattribute of the
<application>element. Specifies the component name of the
BackupAgent subclass provided by the application to handle backup/restore
operations, if any. - New
android:restoreAnyVersionattribute of the
<application>element. Boolean value that indicates whether
the application is prepared to attempt a restore of any backed-up dataset, even
if the backup is apparently from a newer version of the application than is
currently installed on the device.
- New
- For managing the platform’s JIT compiler:
- New
android:vmSafeModeattribute of the<application>element. Boolean value that specifies whether to disable JIT compiler optimizations when running the application.
- New
Permissions
android.permission.BIND_DEVICE_ADMIN— Any device administration broadcast receiver must require this permission, to ensure that only the system can interact with it.android.permission.KILL_BACKGROUND_PROCESSES— Allows an application to callkillBackgroundProcesses(String).android.permission.BIND_WALLPAPER— AnyWallpaperServicemust require this permission, to ensure that only the system can interact with it.android.permission.SET_TIME— Allows an application to set the system time.
API differences report
For a detailed view of all API changes in Android 2.2 (API
Level 8), see the API
Differences Report.
Built-in Applications
The system image included in the downloadable platform provides these
built-in applications:
|
|
Locales
The system image included in the downloadable platform provides a variety of
built-in locales. In some cases, region-specific strings are available for the
locales. In other cases, a default version of the language is used. The
languages that are available in the Android 2.2 system
image are listed below (with language_country/region locale
descriptor).
|
|
Localized UI strings match the locales that are accessible
through Settings.
Emulator Skins
The downloadable platform includes a set of emulator skins that you can use
for modeling your application in different screen sizes and resolutions. The
emulator skins are:
- QVGA (240×320, low density, small screen)
- WQVGA (240×400, low density, normal screen)
- FWQVGA (240×432, low density, normal screen)
- HVGA (320×480, medium density, normal screen)
- WVGA800 (480×800, high density, normal screen)
- WVGA854 (480×854 high density, normal screen)
For more information about how to develop an application that displays
and functions properly on all Android-powered devices, see Supporting Multiple
Screens.
Microsoft vs Google Phase 2
by flotruglio on mag.18, 2010, under are you curious?
After Bing search engine, microsoft tells about Wave4 the new hotmail service with a lot a new features… watch this introducing video
http://www.youtube.com/watch?v=NHVQD6Sddtg”>
Android Emulator Controller (.net)
by flotruglio on apr.30, 2010, under Android, C#, Developers
one of our developers is working on a project to create a handler for the Android emulator that solves the annoying problem that every day we slow down!
read the full story on his blog “Android Emulator Controller”
Google: Happey Easter
by flotruglio on apr.04, 2010, under are you curious?
Google has a long tradition of celebrating special events with special graphics on our web site… Now for this easter day there is a new Easter animated graphic with game included…