Android 2.0, versión 1

Nivel de API: 5

Android 2.0 es una importante versión de la plataforma se puede implementar en teléfonos celulares con Android a partir de noviembre de 2009. La actualización incluye nuevas funciones para usuarios y desarrolladores, así como cambios en la API del framework de Android.

Para los desarrolladores, la plataforma Android 2.0 se encuentra disponible como componente descargable para el SDK de Android. La plataforma descargable incluye un imagen del sistema y biblioteca de Android compatibles, además de un conjunto de emuladores máscaras, aplicaciones de muestra y más. La plataforma descargable está completamente cumple con los requisitos y no incluye bibliotecas externas.

Para comenzar a desarrollar o probar con el SDK 2.0, usa el SDK de Android y la herramienta Administrador de AVD para descarga la plataforma en tu SDK.

Aspectos destacados de la plataforma

Para acceder a una lista de las nuevas funciones del usuario y aspectos destacados de la plataforma, consulta el vínculo Android 2.0 Aspectos destacados de la plataforma.

Aplicaciones integradas

La imagen de sistema incluida en la plataforma descargable proporciona estas aplicaciones integradas:

  • Alarma
  • Navegador
  • Calculadora
  • Cámara de video
  • Cámara
  • Contactos
  • Configuración regional personalizada (app para desarrolladores)
  • Herramientas para desarrolladores (app para desarrolladores)
  • Dialer
  • Correo electrónico
  • Galería
  • Creador de gestos
  • IME para entrada de texto en japonés
  • Mensajería
  • Música
  • Configuración
  • Repuestos (app para desarrolladores)

Idiomas

La imagen del sistema incluida en la plataforma descargable proporciona una variedad de configuraciones regionales integradas. En algunos casos, las cadenas específicas de la región están disponibles para configuraciones regionales. En otros casos, se usa una versión predeterminada del idioma. El idiomas que están disponibles en el sistema Android 2.0 imagen se enumeran a continuación (con la configuración regional en language_country/region) descriptor).

  • Chino, PRC (zh_CN)
  • Chino, Taiwán (zh_TW)
  • Checo (cs_CZ)
  • Neerlandés y Países Bajos (nl_NL)
  • Neerlandés y Bélgica (nl_BE)
  • Inglés, EE.UU. (en_US)
  • Inglés, Gran Bretaña (en_GB)
  • Inglés, Canadá (en_CA)
  • Inglés, Australia (en_AU)
  • Inglés, Nueva Zelanda (en_NZ)
  • Inglés, Singapur(en_SG)
  • Francés, Francia (fr_FR)
  • Francés, Bélgica (fr_BE)
  • Francés, Canadá (fr_CA)
  • Francés, Suiza (fr_CH)
  • Alemán, Alemania (de_DE)
  • Alemán, Austria (de_AT)
  • Alemán, Suiza (de_CH)
  • Alemán, Liechtenstein (de_LI)
  • Italiano, Italia (it_IT)
  • Italiano, Suiza (it_CH)
  • Japonés (ja_JP)
  • Coreano (ko_KR)
  • Polaco (pl_PL)
  • Ruso (ru_RU)
  • Español (es_ES)
  • Las cadenas de IU localizadas coinciden con las configuraciones regionales a las que se puede acceder en Configuración.

    Máscaras de emulador

    La plataforma descargable incluye un conjunto de máscaras de emulador que puedes usar para modelar tu aplicación en diferentes tamaños y resoluciones de pantalla. Las máscaras del emulador son las siguientes:

    • QVGA (240 x 320, densidad baja, pantalla pequeña)
    • WQVGA (240 x 400, densidad baja, pantalla normal)
    • FWQVGA (240 x 432, densidad baja, pantalla normal)
    • HVGA (320 x 480, densidad media, pantalla normal)
    • WVGA800 (480 x 800, densidad alta, pantalla normal)
    • WVGA854 (480 x 854 de alta densidad, pantalla normal)

    Para obtener más información sobre cómo desarrollar una aplicación que se muestre y funcione correctamente en todos los dispositivos con Android, consulta Compatibilidad con varias pantallas.

    Funciones para desarrolladores

    En las siguientes secciones se brinda información sobre las nuevas funciones para desarrolladores que ofrece el componente descargable de la plataforma Android 2.0.

    Soporte para hormigas

    • Firma de aplicaciones en modo de depuración y lanzamiento La firma del modo de lanzamiento incluye compatibilidad integrada para la optimización de zipalign. Para obtener más información, consulta Cómo firmar tus aplicaciones.
    • Se agregó un nuevo sistema de compilación Ant que admite proyectos de instrumentación Emma (cobertura de código).

    API de framework

    En las siguientes secciones se brinda información sobre la API de marco de trabajo de aplicaciones proporcionada por la plataforma de Android 2.0.

    Nivel de API

    La plataforma Android 2.0 ofrece una versión actualizada del marco de trabajo. en la API de Cloud. Al igual que con las versiones anteriores, la API de Android 2.0 se le asigna un identificador de número entero, 5, que es almacenados 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 API que se introdujeron en Android 2.0, debes hacer lo siguiente: Establecer el valor adecuado, "5", en los atributos de <uses-sdk> en el manifiesto de tu aplicación.

    Para obtener más información sobre cómo usar el nivel de API, consulta el documento Niveles de API.

    Resumen de los cambios en la API

    Bluetooth

    • Activar o desactivar Bluetooth
    • Descubrimiento de dispositivos y servicios
    • Conectarse a un dispositivo remoto mediante RFCOMM y enviar/recibir datos
    • Anunciar servicios RFCOMM y escuchar las conexiones RFCOMM entrantes

    Adaptadores de sincronización

    • Nuevas APIs para que los adaptadores de sincronización se conecten a cualquier backend

    Administrador de cuentas

    • API de administrador de cuentas centralizada para almacenar de forma segura tokens y contraseñas de autenticación, y acceder a ellos

    Contactos

    • Nuevas APIs de contactos que permiten datos de varias cuentas
    • Las nuevas APIs del framework de Quick Contact permiten a los desarrolladores crear insignias de contacto en sus apps. Si haces clic en la insignia, se abrirá una ventana con una lista de formas de ponerse en contacto con la persona con un solo clic.

    WebView

    • Clases obsoletas: UrlInterceptHandler, Plugin, PluginData, PluginList y UrlInterceptRegistry.

    Cámara

    • Nuevos parámetros para efecto de color, modo panorámico, modo flash, modo de enfoque, balance de blancos, rotación y otros parámetros de configuración.
    • Nueva interfaz de ZoomCallback para realizar acciones cuando cambia el nivel de zoom.

    Contenido multimedia

    • MediaScanner ahora genera miniaturas para todas las imágenes cuando se insertan en MediaStore
    • Nueva API de miniaturas para recuperar miniaturas de imágenes y videos a pedido.

    Otro marco de trabajo

    • Nuevos temas del sistema en android.R.style para mostrar fácilmente actividades sobre el fondo de pantalla actual del sistema o mantener visible la actividad anterior en segundo plano.
    • La nueva API de BackgroundManager reemplaza y extiende las APIs de fondo de pantalla que estaban en Contexto, para permitir que las aplicaciones soliciten y establezcan el fondo de pantalla del sistema.
    • Se agregaron nuevas APIs de Service para ayudar a las aplicaciones a controlar correctamente el ciclo de vida del Service, en particular situaciones de poca memoria en las que se puede cerrar un Service mientras se ejecuta.
      • Service.setForeground() dejó de estar disponible y no realiza operaciones efectivas. Esto se reemplaza por una nueva API, startForeground(), que ayuda (y requiere) a asociar una notificación en curso con el estado en primer plano.
    • MotionEvent ahora puede informar información de toques simultáneos para los dispositivos compatibles. Se pueden rastrear hasta tres punteros de forma simultánea.
    • KeyEvent tiene nuevas APIs de despacho de claves, para ayudar a implementar el comportamiento de acción en el momento y mantener presionado, así como un nuevo mecanismo para cancelar las pulsaciones de teclas (para teclas virtuales).
    • WindowManager.LayoutParams tiene constantes nuevas que permiten que una ventana active la pantalla cuando se muestra y la muestre incluso si está bloqueada. Esto permite que las aplicaciones implementen de forma más ordenada cosas como despertadores que deberían activar el dispositivo.
    • Nuevas APIs de Intent que transmiten el estado de acoplamiento del dispositivo y permiten que las aplicaciones inicien actividades especiales cuando el dispositivo se coloca en un conector para autos o escritorio.

    Eventos de teclas ejecutados al activar la tecla

    Android 2.0 está diseñado para ejecutarse en dispositivos que usan claves virtuales para HOME, MENÚ, ATRÁS y BÚSQUEDA, en lugar de las teclas físicas. Para brindar asistencia a los mejores usuarios experiencia en esos dispositivos, la plataforma de Android ahora ejecuta estos botones en tecla arriba, para un par de tecla abajo/arriba, en lugar de tecla abajo. Esto ayuda a evitar eventos de botones accidentales y permite que el usuario presione el área del botón y luego arrastre sin generar un evento.

    Este cambio en el comportamiento solo debería afectar a tu aplicación interceptar eventos de botones y realizar una acción con la tecla pulsada, en lugar de tecla presionada. Especialmente si tu aplicación intercepta la tecla ATRÁS, debes asegúrate de que tu aplicación controle los eventos clave de manera adecuada.

    En general, no se recomienda interceptar la tecla ATRÁS en una aplicación, sin embargo, si tu aplicación lo hace e invoca alguna acción en con la tecla presionada, en lugar de la tecla hacia arriba, deberías modificar tu código.

    Si tu aplicación utilizará APIs presentadas en Android 2.0 (nivel de API 5), puedes aprovechar las nuevas APIs para administrar pares clave-evento:

    • Si interceptas la tecla ATRÁS en una actividad o un diálogo, simplemente implementa el nuevo método onBackPressed().
    • Si interceptas la tecla ATRÁS en una vista, debes realizar un seguimiento de la tecla evento al presionar la tecla hacia abajo (mediante el nuevo startTracking() método) y, luego, invocar la acción al subir la tecla. Este es un patrón que puedes usar:
    • Kotlin

      override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
          return when (keyCode) {
              KeyEvent.KEYCODE_BACK -> {
                  if (event.repeatCount == 0) {
                      event.startTracking()
                      true
                  } else {
                      false
                  }
              }
              ...
              else -> super.onKeyDown(keyCode, event)
          }
      }
      
      override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean {
          return when (keyCode) {
              KeyEvent.KEYCODE_BACK -> {
                  if (event.isTracking && !event.isCanceled) {
                      // *** DO ACTION HERE ***
                      true
                  } else {
                      false
                  }
              }
              ...
              else -> super.onKeyUp(keyCode, event)
          }
      }
      

      Java

      public boolean onKeyDown(int keyCode, KeyEvent event) {
              if (keyCode == KeyEvent.KEYCODE_BACK
                      && event.getRepeatCount() == 0) {
                  event.startTracking();
                  return true;
              }
              return super.onKeyDown(keyCode, event);
          }
      
          public boolean onKeyUp(int keyCode, KeyEvent event) {
              if (keyCode == KeyEvent.KEYCODE_BACK && event.isTracking()
                      && !event.isCanceled()) {
                  // *** DO ACTION HERE ***
                  return true;
              }
              return super.onKeyUp(keyCode, event);
          }
      

    Si quieres actualizar una aplicación heredada para que el manejo de la función BACK funciona correctamente tanto en Android 2.0 como en versiones anteriores de la plataforma, puedes usar un enfoque similar al que se muestra arriba. Tu código puede detectar la evento de botón objetivo al presionar la tecla hacia abajo, establecer una marca para rastrear el evento clave y y, luego, captar el evento en la tecla key-up y ejecutar la acción deseada si el seguimiento marca de verificación. También querrás observar los cambios de enfoque y borrar el seguimiento cuando se pone o se pierde.

    Informe de diferencias de API

    Puedes obtener una vista detallada de los cambios de API en Android 2.0 (nivel de API 5), en comparación con la versión anterior, consulta el Informe de diferencias de las APIs.