Nivel de API: 9
Para los desarrolladores, la versión 2.3
(GINGERBREAD
) está disponible como
componente descargable para el SDK de Android. La plataforma descargable incluye
una biblioteca de Android y una imagen del sistema, así como un conjunto de máscaras de emulador y
más. Para comenzar a desarrollar o probar con Android 2.3,
usa SDK Manager de Android para descargar la plataforma en tu SDK.
Descripción general de la API
En las siguientes secciones, se proporciona una descripción general técnica de las novedades para desarrolladores en 2.3, incluidas las nuevas funciones y los cambios en el marco desde la versión anterior.
VoIP basada en SIP
La plataforma ahora incluye una pila de protocolo SIP y una API de framework que permite desarrolladores a compilar aplicaciones de telefonía por Internet. Con la API, las aplicaciones pueden ofrecer funciones de llamadas de voz sin tener que administrar sesiones, objetivos comunicación o audio, estos se manejan con transparencia por la API y los servicios de SIP de la plataforma.
La API de SIP está disponible en android.net.sip
. La clase clave es SipManager
, y las aplicaciones
usar para configurar y administrar perfiles SIP, iniciar llamadas de audio y recibir
llamadas de audio. Una vez que se establece una llamada de audio, las aplicaciones pueden silenciar las llamadas, activar el modo de bocina, enviar tonos DTMF y mucho más. Las aplicaciones también pueden usar SipManager
para crear conexiones SIP genéricas.
La pila SIP subyacente y los servicios de la plataforma están disponibles en dispositivos en
a discreción del fabricante y el operador asociado. Por este motivo, las aplicaciones deben usar el método isApiSupported()
para verificar si la compatibilidad con SIP está disponible antes de exponer la funcionalidad de llamadas a los usuarios.
Para usar la API de SIP, las aplicaciones deben solicitar permiso al usuario antes del
Declarar <uses-permission
android:name="android.permission.INTERNET">
y <uses-permission
android:name="android.permission.USE_SIP">
en sus archivos de manifiesto
Además, los desarrolladores pueden solicitar el filtrado en Google Play para que sus aplicaciones no sean detectables por los usuarios cuyos dispositivos no incluyan la pila y los servicios de SIP de la plataforma. Para solicitar filtros, agrega <uses-feature
android:name="android.software.sip"
android:required="true">
y <uses-feature
android:name="android.software.sip.voip">
al manifiesto de la aplicación.
Para obtener más información, lee la guía para desarrolladores sobre SIP.
Comunicación de campo cercano (NFC)
Android 2.3 incluye una pila de NFC y una API de framework que permite a los desarrolladores leer etiquetas NDEF que se descubren cuando un usuario toca un dispositivo habilitado para NFC para etiquetar elementos incorporados en calcomanías, carteles inteligentes y hasta en otros dispositivos.
La plataforma proporciona los servicios de NFC subyacentes que funcionan con el hardware del dispositivo para descubrir etiquetas cuando entran en el rango. Cuando se descubre una etiqueta, la plataforma notifica a las aplicaciones mediante la transmisión de un intent y, luego, agrega los mensajes NDEF de la etiqueta al intent como elementos adicionales. Las aplicaciones pueden crear filtros de intents para reconocen y manejan etiquetas y mensajes orientados. Por ejemplo, después de recibir un etiqueta por intent, las aplicaciones extraen los mensajes NDEF, los almacenan, alertan al usuario o los manejas de otra manera.
La API de NFC está disponible en el paquete android.nfc
. Las clases clave son las siguientes:
NfcAdapter
, que representa el hardware NFC del dispositivo.NdefMessage
, que representa un mensaje de datos NDEF, el formato estándar en el que se transmiten los "registros" que llevan datos entre dispositivos y etiquetas. Las aplicaciones pueden recibir estos mensajes de intentsACTION_TAG_DISCOVERED
.NdefRecord
, se entregó en unNdefMessage
, que describe el tipo de datos que se comparten transporta los datos en sí.
La comunicación NFC depende de la tecnología inalámbrica en el hardware del dispositivo, por lo que
la compatibilidad con las funciones de NFC de la plataforma en dispositivos específicos está determinada por
a sus fabricantes. Para determinar la compatibilidad con NFC en el dispositivo actual,
aplicaciones pueden llamar a isEnabled()
para
consulta NfcAdapter
. La API de NFC siempre está presente
independientemente de la compatibilidad
con el hardware subyacente.
Para usar la API de NFC, las aplicaciones deben solicitar permiso al usuario declarando <uses-permission
android:name="android.permission.NFC">
en sus archivos de manifiesto.
Además, los desarrolladores pueden solicitar el filtrado en Google Play para que sus aplicaciones no sean detectables por los usuarios cuyos dispositivos no admiten NFC. Para solicitar el filtrado, agrega <uses-feature android:name="android.hardware.nfc"
android:required="true">
al manifiesto de la aplicación.
Para ver una aplicación de ejemplo que usa la API de NFC, consulta NFCDemo.
Giroscopio y otros sensores
Android 2.3 agrega compatibilidad con la plataforma y la API para varios tipos de lectura de sensores nuevos: giroscopio, vector de rotación, aceleración lineal, gravedad y barómetro. Los desarrolladores pueden usar las nuevas lecturas de los sensores para crear aplicaciones que respondan de forma rápida y fluida a cambios precisos en la posición y el movimiento del dispositivo. El La API de Sensor informa el giroscopio y otros cambios en el sensor a interesados aplicaciones, ya sea que se ejecuten en el framework de aplicaciones o en aplicaciones código.
Ten en cuenta que el conjunto específico de sensores de hardware disponibles en cualquier dispositivo varía a discreción del fabricante del dispositivo.
Los desarrolladores pueden solicitar el filtrado en Google Play para que sus aplicaciones no sean detectables por los usuarios cuyos dispositivos no ofrecen un sensor de giroscopio. Para ello, agrega <uses-feature
android:name="android.hardware.sensor.gyroscope"
android:required="true">
al manifiesto de la app.
Para obtener detalles de la API, consulta Sensor
.
Compatibilidad con varias cámaras
Las aplicaciones ahora pueden usar cualquier cámara que esté disponible en un dispositivo,
para la captura de fotos o videos. Camera
permite que las aplicaciones consulten la cantidad de cámaras disponibles y las características únicas de cada una.
- La nueva clase
Camera.CameraInfo
almacena las características de posición de una cámara (orientación, frontal o posterior). - Los nuevos métodos
getNumberOfCameras()
ygetCameraInfo()
en la claseCamera
permiten que las aplicaciones consulten las cámaras disponibles. y abran la cámara que necesitan. - El nuevo método
get()
permite que las aplicaciones recuperen unCamcorderProfile
para una cámara específica. - El nuevo
getJpegEncodingQualityParameter()
permite que las aplicaciones obtengan la imagen estática. el nivel de calidad de captura de una cámara específica.
Para ver un ejemplo de código para acceder a una cámara frontal, consulta CameraPreview.java en la aplicación de ejemplo de ApiDemos.
La API de Camera también agrega lo siguiente:
- Nuevos parámetros para cámaras, incluida la distancia focal, el modo sin distracciones y
la vista previa de FPS máximo y mínimo. Se agregaron
getFocusDistances()
,getPreviewFpsRange()
ygetSupportedPreviewFpsRange()
nuevos para obtener parámetros de la cámara, así comosetPreviewFpsRange()
para establecer la velocidad de fotogramas de la vista previa.
Efectos de audio mezclables
El framework multimedia de la plataforma agrega compatibilidad con nuevos efectos de audio globales o por pista. como potenciador de graves, virtualización de auriculares, ecualización y reverberación.
- El nuevo paquete
android.media.audiofx
proporciona el API para acceder a efectos de audio. - El nuevo
AudioEffect
es la clase base para controlar los efectos de audio que proporciona el framework de audio de Android. - Nuevo ID de sesión de audio que permite a una aplicación asociar un conjunto de audio
efectos con una instancia de
AudioTrack
oMediaPlayer
. - Nuevo constructor de clase
AudioTrack
que te permite crear unAudioTrack
con un ID de sesión específico. NuevosattachAuxEffect()
,getAudioSessionId()
ysetAuxEffectSendLevel()
. - Nuevos métodos
attachAuxEffect()
,getAudioSessionId()
,setAudioSessionId(int)
ysetAuxEffectSendLevel()
, y tipos compatibles.
Para ver el código de muestra de efectos de audio, consulta AudioFxDemo.java en la aplicación de ejemplo ApiDemos.
El framework de medios también agrega lo siguiente:
- Nueva compatibilidad con etiquetas de altitud en metadatos EXIF para archivos JPEG. Nuevo método
getAltitude()
para recuperar el valor de la etiqueta de altitud EXIF. - El nuevo método
setOrientationHint()
permite que una aplicación le indique aMediaRecorder
la orientación durante la captura de video.
Administrador de descargas
La plataforma incluye un nuevo servicio del sistema DownloadManager
que controla las descargas HTTP de larga duración. Las aplicaciones pueden solicitar que se descargue un URI en un archivo de destino particular. El DownloadManager
realizará la descarga en segundo plano teniendo en cuenta las interacciones HTTP
y reintentar las descargas después de fallas o entre cambios de conectividad y
reinicios.
- Las aplicaciones pueden obtener una instancia de la clase
DownloadManager
llamando agetSystemService(String)
y pasandoDOWNLOAD_SERVICE
. Aplicaciones que solicitan a través de esta API deben registrar un receptor de emisión paraACTION_NOTIFICATION_CLICKED
para cuando el usuario hace clic en una descarga en ejecución en una notificación o desde IU de descargas. - La clase
DownloadManager.Request
permite que una aplicación proporcione toda la información necesaria para solicitar una nueva descarga, como el URI de solicitud y el destino de descarga. Un URI de solicitud es el único parámetro. Ten en cuenta que el destino de descarga predeterminado es un volumen compartido, el sistema puede borrar tu archivo si necesita recuperar espacio para usarlo. Para almacenamiento persistente de una descarga, especifica un destino de descarga en dispositivos almacenamiento (consultasetDestinationUri(Uri)
). - La clase
DownloadManager.Query
proporciona métodos que permiten una consulta de aplicación y filtrar las descargas activas.
StrictMode
Para ayudar a los desarrolladores a supervisar y mejorar el rendimiento de sus aplicaciones,
La plataforma ofrece una instalación de sistema nueva llamada StrictMode
.
Cuando se implementa en una aplicación, StrictMode detecta y notifica al
desarrollador de actividades accidentales de disco o red que podrían degradar la aplicación
rendimiento, como la actividad que se produce en el subproceso principal de la aplicación
(en la que se reciben operaciones de la IU y también se llevan a cabo animaciones).
Los desarrolladores pueden evaluar los problemas de uso de red y disco que se generan en StrictMode y corregirlos si es necesario, lo que mantiene el subproceso principal más responsivo y evita que se muestren diálogos de ANR a los usuarios.
StrictMode
es la clase principal y la integración principal. con el sistema y la VM. La clase proporciona métodos convenientes para gestionar las políticas de subproceso y VM que se aplican a la instancia.StrictMode.ThreadPolicy
yStrictMode.VmPolicy
contienen las políticas que defines y aplicas a subproceso e instancias de VM.
Para obtener más información sobre cómo usar StrictMode para optimizar tu
consulta la documentación de la clase y el código de muestra en android.os.StrictMode
.
Framework de IU
- Compatibilidad con el sobredesplazamiento
- Nueva compatibilidad con el sobredesplazamiento en Views y Widgets En Views, las aplicaciones pueden habilitar o inhabilitar el desplazamiento horizontal para una vista determinada, establecer el modo de desplazamiento horizontal, controlar la distancia de desplazamiento horizontal y controlar los resultados del desplazamiento horizontal.
- En Widgets, las aplicaciones pueden controlar las características de desplazamiento,
animación, springback y distancia de sobredesplazamiento. Para obtener más información, consulta
android.view.View
yandroid.widget.OverScroller
. ViewConfiguration
también proporciona los métodosgetScaledOverflingDistance()
ygetScaledOverscrollDistance()
.- Nuevos:
overScrollMode
,overScrollFooter
y AtributosoverScrollHeader
para elementos<ListView>
, para controlar el comportamiento de desplazamiento.
- Compatibilidad con el filtrado táctil
- Nueva compatibilidad con el filtrado táctil, que permite que una aplicación mejore la la seguridad de los objetos View que proporcionan acceso a funciones sensibles. Por ejemplo: el filtrado táctil es adecuado para garantizar la seguridad de las acciones del usuario, otorgar una solicitud de permiso, realizar una compra o hacer clic en una anuncio. Para obtener más información, consulta la clase View documentación.
- Nuevo atributo
filterTouchesWhenObscured
para elementos de vista que declara si se deben filtrar los toques cuando la ventana de la vista está oculta en otra ventana visible. Cuando se establece en"true"
, la vista no recibirá toques cada vez que aparezca un aviso, un diálogo o alguna otra ventana sobre la ventana de la vista. Consulta Cómo ver la seguridad documentación para obtener más detalles.
Para ver el código de muestra del filtrado táctil, consulta SecureView.java en la aplicación de ejemplo ApiDemos.
- Administración de eventos mejorada
- Nueva clase base para eventos de entrada,
InputEvent
. La clase proporciona métodos que permiten a las aplicaciones determinar el significado del evento, como como consultando el InputDevice desde el que se originó el evento.KeyEvent
yMotionEvent
son subclases deInputEvent
. - Nueva clase base para dispositivos de entrada,
InputDevice
. El almacena información sobre las capacidades de un dispositivo de entrada en particular y proporciona métodos que permiten a las aplicaciones determinar cómo interpretar eventos de una dispositivo de entrada.
- Nueva clase base para eventos de entrada,
- Eventos de movimiento mejorados
- Se extiende la API de
MotionEvent
para incluir "ID de puntero". información, lo que permite a las aplicaciones hacer un seguimiento de los dedos individuales a medida que se moverá hacia arriba y hacia abajo. La clase agrega una variedad de métodos que permiten a una aplicación de manera eficiente con eventos de movimiento. - El sistema de entrada ahora tiene lógica para generar eventos de movimiento con el nuevo información del ID del puntero y sintetizar identificadores a medida que se bajan los nuevos punteros. El el sistema rastrea varios ID de puntero por separado durante un evento de movimiento garantiza la continuidad adecuada de los punteros evaluando la distancia entre el último y el siguiente conjunto de punteros.
- Se extiende la API de
- Controles de selección de texto
- Un nuevo método
setComposingRegion
permite que una aplicación marque un región del texto como texto compuesto, manteniendo el estilo actual. Un métodogetSelectedText
muestra el texto seleccionado a la aplicación. Los métodos están disponibles enBaseInputConnection
,InputConnection
yInputConnectionWrapper
. - Nuevos atributos
textSelectHandle
,textSelectHandleLeft
,textSelectHandleRight
ytextSelectHandleWindowStyle
para<TextView>
, para hacer referencia a elementos de diseño que se usarán para mostrar anclas de selección de texto y el estilo de la ventana contenedora.
- Un nuevo método
- Controles de actividad
ActivityInfo
agrega nuevas constantes para administrar Orientación a la actividad:SCREEN_ORIENTATION_FULL_SENSOR
,SCREEN_ORIENTATION_REVERSE_LANDSCAPE
,SCREEN_ORIENTATION_REVERSE_PORTRAIT
,SCREEN_ORIENTATION_SENSOR_LANDSCAPE
, ySCREEN_ORIENTATION_SENSOR_PORTRAIT
- Nueva constante
IMPORTANCE_PERCEPTIBLE
para el campoimportance
enActivityManager.RunningAppProcessInfo
. El valor indica que un proceso específico está ejecutando algo que se considera perceptible de forma activa para el usuario. Un ejemplo sería una aplicación que realiza la reproducción de música en segundo plano. - El método Activity.setPersistent(boolean) para marcar una actividad como persistente ahora dejó de estar disponible, y la implementación no realiza ninguna acción.
- Estilos de texto y íconos de notificaciones
- Nuevo
TextAppearance.StatusBar.EventContent
,TextAppearance.StatusBar.EventContent.Title
,TextAppearance.StatusBar.Icon
yTextAppearance.StatusBar.Title
para administrar estilo de notificación.
- Nuevo
- Agrega los métodos
glDrawElements()
y el resto de los métodos de OpenGL ES 2.0.glVertexAttribPointer()
en la claseandroid.opengl.GLES20
. - Agrega compatibilidad con el formato de píxeles
YV12
, un formato YCrCb plano 4:2:0. - Nueva clase de proveedor
AlarmClock
para establecer una alarma o controlar una alarma. El proveedor contiene una acción de intentACTION_SET_ALARM
y elementos adicionales que se pueden usar para iniciar una actividad para establecer una alarma nueva en una aplicación de reloj despertador. Las aplicaciones que deseen recibir el intentSET_ALARM
deben crear una actividad que requiera el permiso SET_ALARM. Las aplicaciones que deseen crear una alarma nueva deben usarContext.startActivity()
, de modo que el usuario tenga la opción de elegir qué aplicación de reloj despertador usar. MediaStore
admite una nueva acción de intent,PLAY_FROM_SEARCH
, que permite que una aplicación busque contenido multimedia musical y reproducir contenido automáticamente desde el resultado cuando sea posible. Por ejemplo, una aplicación podría activar este intent como resultado de un comando de reconocimiento de voz para escuchar música.MediaStore
también agrega una nueva marcaMEDIA_IGNORE_FILENAME
que le indica al escáner de contenido multimedia que ignore el contenido multimedia en el directorio contenedor y sus subdirectorios. Los desarrolladores pueden usar esto para evitar que aparezcan gráficos en la Galería y, del mismo modo, evitar que los sonidos y la música de la aplicación aparezcan en la app de Música.- El proveedor
Settings
agrega las nuevas acciones de actividadAPPLICATION_DETAILS_SETTINGS
yMANAGE_ALL_APPLICATIONS_SETTINGS
, que permiten que una aplicación muestre la pantalla de detalles de una aplicación específica o la pantalla Administrar aplicaciones. - El proveedor
ContactsContract
agrega el tipo de datosContactsContract.CommonDataKinds.SipAddress
, por Almacenar la dirección SIP (telefonía por Internet) de un contacto LocationManager
ahora realiza un seguimiento de las solicitudes de la aplicación que generan bloqueos de activación o bloqueos de Wi-Fi segúnWorkSource
, una clase administrada por el sistema que identifica la aplicación.LocationManager
realiza un seguimiento de todos los clientes que solicitan actualizaciones periódicas y les informa a sus proveedores sobre ellos como un parámetroWorkSource
cuando establece sus tiempos de actualización mínimos. El proveedor de ubicación de red usaWorkSource
para rastrear la bloqueos de activación y Wi-Fi que inicia una aplicación y los agrega al servicio uso de batería informado en Administrar aplicaciones.LocationManager
agrega varios métodos nuevos que permiten que un registro de actividad reciba actualizaciones de ubicación periódicas o únicas según criterios especificados (consulta a continuación).- Una nueva clase
Criteria
permite que una aplicación especifique un conjunto de criterios para seleccionar un proveedor de ubicación. Por ejemplo, es posible que los proveedores ordenados de acuerdo con la precisión, el consumo de energía, la capacidad de informar la altitud, la velocidad y el costo monetario. - Android 2.3 agrega un nuevo
StorageManager
que admite archivos OBB (Opaque Binary Blob). Aunque la compatibilidad de la plataforma con OBB está disponible en Android 2.3, las herramientas de desarrollo para crear y administrar archivos OBB no estarán disponibles hasta principios de 2011. - La plataforma de Android 2.3 agrega compatibilidad oficial para dispositivos que no incluyen tarjetas SD (aunque proporciona una partición de tarjeta SD virtual cuando no hay una tarjeta SD física disponible). Un método conveniente,
isExternalStorageRemovable()
, permite que las aplicaciones determinen si hay una tarjeta SD física. - Nuevas constantes para declarar funciones de hardware y software. Consulta la lista en la sección Nuevas constantes de atributos, a continuación.
PackageInfo
agrega nuevos camposfirstInstallTime
ylastUpdateTime
que almacenan la hora de la instalación del paquete y la última actualización.- Nuevo método
getProviderInfo()
para recuperar toda la información conocida una clase específica de proveedor de contenido. TelephonyManager
agrega la constanteNETWORK_TYPE_EVDO_B
para especificar el tipo de red CDMA EVDO Rev B.- El nuevo método
getPsc()
muestra el código de codificación principal de la celda de transmisión en una red UMTS. NativeActivity
es un nuevo tipo de clase Activity, cuyo Las devoluciones de llamada de ciclo de vida se implementan directamente en el código nativo. RNativeActivity
y su código nativo subyacente se ejecutan en el sistema al igual que otras actividades, que se ejecutan en la biblioteca proceso del sistema de la aplicación y se ejecutan en el subproceso de IU principal de la aplicación, y reciben las mismas devoluciones de llamada de ciclo de vida que otras actividades.- La nueva clase
InputQueue
y la interfaz de devolución de llamada permiten que el código nativo administre las filas de eventos. - La nueva interfaz
SurfaceHolder.Callback2
permite que el código nativo administre unSurfaceHolder
. - Los nuevos métodos
takeInputQueue
ytakeSurface()
enWindow
permiten que el código nativo administre el código y plataformas de Google. dalvik.system
quita varias clases que dejaron de estar disponibles.- Bibliotecas principales de Dalvik:
- Colecciones nuevas:
ArrayDeque
,NavigableMap
,ConcurrentSkipListMap
,LinkedBlockingDeque
- Nuevas utilidades de
Arrays
:binarySearch()
,copyOf()
,copyOfRange()
y otros. CookieManager
paraHttpURLConnection
.- APIs de red más completas:
InterfaceAddress
,NetworkInterface
yIDN
- Controles de lectura y escritura de
File
String.isEmpty()
Normalizer
yNormalizer.Form
- Se mejoraron los sockets de servidor
javax.net.ssl
.
- Colecciones nuevas:
- Nuevo atributo
xlargeScreens
para el elemento<supports-screens>
, que indica si la aplicación admite factores de forma de pantalla extragrandes. Para obtener más información, consulta Compatibilidad con varios Pantallas. - Valores nuevos para el atributo
android:screenOrientation
de Elemento<activity>
:"reverseLandscape"
: La actividad solicita tener la pantalla en orientación horizontal, girada en la dirección opuesta a la normal horizontal."reversePortrait"
: La actividad desea que la pantalla tenga orientación vertical, girada en la dirección opuesta al modo vertical normal."sensorLandscape"
: A la actividad le gustaría tener la pantalla en orientación horizontal, pero puede usar el sensor para cambiar la dirección en la que se encuentra la pantalla."sensorPortrait"
: La actividad solicita tener la orientación vertical en la pantalla, pero puedes usar el sensor para cambiar la dirección hacia la pantalla."fullSensor"
: La orientación se determina mediante una conexión Orientación: la pantalla rotará en función de cómo el usuario mueva la dispositivo. Esto permite cualquiera de las 4 rotaciones posibles, independientemente de lo que el dispositivo haga normalmente (por ejemplo, algunos dispositivos no suelen usar la rotación de 180 grados).
com.android.permission.SET_ALARM
: Permite que una aplicación transmita un intent para establecer una alarma para el usuario. Una actividad que controla la acción de intentSET_ALARM
debe requerir este permiso.android.permission.USE_SIP
: Permite que una aplicación use laSIP API
para realizar o recibir llamadas por Internet.android.permission.NFC
: Permite que una aplicación use laNFC API
para leer etiquetas NFC.android.hardware.audio.low_latency
: La aplicación usa una latencia baja de audio en el dispositivo y es sensible a retrasos o retrasos en la entrada o salida.android.hardware.camera.front
: La aplicación usa una cámara frontal en el dispositivo.android.hardware.nfc
— La aplicación usa funciones de radio NFC en el dispositivo.android.hardware.sensor.barometer
: La aplicación usa el nombre del dispositivo barómetro.android.hardware.sensor.gyroscope
: La aplicación usa el sensor de giroscopio del dispositivo.android.software.sip
— La aplicación usa la API de SIP en el dispositivo.android.software.sip.voip
: La aplicación usa un servicio de VoIP basado en SIP en el dispositivo.android.hardware.touchscreen.multitouch.jazzhand
: La aplicación usa funciones multitáctiles multipunto avanzadas en la pantalla del dispositivo para realizar un seguimiento cinco o más puntos de forma completamente independiente.
Pantallas extragrandes
La plataforma ahora admite tamaños de pantalla extragrandes, como los que se pueden encontrar en dispositivos de tablet. Los desarrolladores pueden indicar que sus aplicaciones son
Se diseñó para admitir tamaños de pantalla extragrandes agregando un elemento <supports
screens ... android:xlargeScreens="true">
al manifiesto.
archivos. Las aplicaciones pueden usar un nuevo calificador de recursos, xlarge
, para etiquetar recursos específicos de pantallas extragrandes. Para obtener detalles sobre cómo admitir pantallas extragrandes y otros tamaños, consulta Compatibilidad con varias pantallas.
Gráficos
Proveedores de contenido
Ubicación
Almacenamiento
Administrador de paquetes
Telefonía
Acceso nativo al ciclo de vida de la actividad y a las ventanas
Android 2.3 expone un amplio conjunto de APIs a las aplicaciones que usan aplicaciones código. Entre las clases de framework de interés para esas aplicaciones, se incluyen las siguientes:
Para obtener toda la información sobre cómo trabajar con código nativo o descargar el NDK, consulta la página NDK de Android.
Entorno de ejecución de Dalvik
Nuevos elementos y atributos del manifiesto
Nuevos permisos
Constantes de funciones nuevas
La plataforma agrega varias funciones de hardware nuevas que los desarrolladores pueden declarar en sus manifiestos de aplicaciones como obligatorias para sus aplicaciones. Esta permite a los desarrolladores controlar cómo se filtra su aplicación, cuando se publican en Google Play
Para obtener toda la información sobre cómo declarar funciones y usarlas en
consulta la documentación de <uses-feature>
.
Informe de diferencias de API
Para obtener una vista detallada de todos los cambios de las APIs en Android 2.3 (nivel de API 9), consulta el Informe de diferencias de las APIs.
Nivel de API
La plataforma Android 2.3 ofrece una versión actualizada de la API del framework. A la API de Android 2.3 se le asigna un identificador de número entero (9) que se almacena en el sistema. Este identificador, llamado “nivel de API”, permite que la para determinar de forma correcta si una aplicación es compatible con en el sistema antes de instalar la aplicación.
Para usar en tu aplicación las APIs que se introdujeron en Android 2.3,
debes compilar la aplicación en la biblioteca de Android que se proporciona en
la plataforma del SDK de Android 2.3. Según tus necesidades, es posible que también debas agregar un atributo android:minSdkVersion="9"
al elemento <uses-sdk>
en el manifiesto de la aplicación. Si tu aplicación está diseñada para ejecutarse solo en Android 2.3 y versiones posteriores, declarar el atributo evita que se instale en versiones anteriores de la plataforma.
Para obtener más información, consulta ¿Qué es el nivel de API?