BlackBerry Java SDK. Versión: 7.0. Novedades de esta versión



Documentos relacionados
BlackBerry Social Networking Application Proxy para IBM Lotus Quickr Versión: Notas de la versión

BlackBerry ID. Guía del usuario

BlackBerry Podcasts Guía del usuario

BlackBerry Podcasts Guía del usuario

Conectarse a Salesforce. Versión: Guía del usuario

BlackBerry Client para Microsoft SharePoint Guía del usuario

Conectarse a Salesforce. Versión: 2.0. Guía del usuario

Guía de inicio rápido. BlackBerry Smart Card Reader

Yahoo! Messenger para smartphones BlackBerry Guía del usuario

Microsoft Office Communications Server for BlackBerry Smartphones Guía del usuario

BlackBerry Web Desktop Manager. Versión: 6.0. Guía del usuario

BlackBerry Mobile Conferencing

BlackBerry Social Networking Application Proxy para entornos de Microsoft SharePoint. Notas de la versión Versión: 2.1

BlackBerry Mobile Voice System

Manual de Palm BlueChat 2.0

Manual de Palm BlueBoard 2.0

BlackBerry at work for BlackBerry devices. Guía del usuario

Soporte Técnico de Software HP

Configuracion Escritorio Remoto Windows 2003

Windows Server 2012: Infraestructura de Escritorio Virtual

Eurowin 8.0 SQL. Manual del módulo TALLAS Y COLORES

Acronis License Server. Guía del usuario

Móvil Seguro. Guía de Usuario Terminales Android

BlackBerry Web Desktop Manager. Versión: 5.0 Service Pack: 4. Guía del usuario

Nokia Lifeblog 2.5 Nokia N76-1

Twitter for BlackBerry Smartphones. Versión: 5.0. Guía del usuario

Contrato de licencia del usuario final

Servidor Multimedia Doméstico

Novedades. Introducción. Potencia

INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA

Operación Microsoft Access 97

Soporte: visite mysupport.mcafee.com para encontrar soporte, avisos y documentación de productos.

Uso de la red telefónica

Descargar. Edición 1

Intego NetUpdate X4 Manual del usuario

Ayuda de Symantec pcanywhere Web Remote

1. Guía de activación. Introducción Información general sobre el sistema de licencias del software Axxon Next Tipos de licencia...

MANUAL DE USUARIO ANTIVIRUS BANDA ANCHA

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

u Eliminación de cargos de suscripción al tener el sistema en la empresa, puede eliminar los costos de servicio mensuales.

BBM for iphone. Versión: 1.0. Guía del usuario

Glosario de iconos del software

ZXHN H168N Modem VDSL Manual del Usuario

Business Communications Manager 2.5

Microsoft Dynamics. Instalación de Management Reporter for Microsoft Dynamics ERP

Formularios. Formularios Diapositiva 1

Guía de configuración de destinos de digitalización y mensajes de alerta X500 Series

Manual LiveBox WEB ADMIN.

CA Nimsoft Monitor. Guía de sondas de Monitorización de estadísticas del sistema de iseries. Serie de sysstat 1.1

MÓDULO DE EXPANSIÓN DW-GSM. Manual de usuario

Términos de licencia del software de Microsoft para:

Configuración de Aspel-SAE 6.0 para trabajar Remotamente

Calculadora virtual HP Prime

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Información sobre seguridad

ConfigFree para una conectividad sencilla

Microsoft SQL Server Conceptos.

Guía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.6

ecafé TM Update Manager

FileMaker Pro 13. Uso de una Conexión a Escritorio remoto con FileMaker Pro 13

MANUAL DE USUARIO Bluekey 3.19

CA Nimsoft Monitor Snap

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida

Instrucciones de instalación de IBM SPSS Modeler Server 16 para Windows

Información sobre seguridad

Clientes de XProtect Acceda a su vigilancia

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services.

Cloud Security Alliance, Inc. (CSA) se atiene a los siguientes principios en relación al manejo de información personal en formato electrónico:

Guía de inicio rápido

Microsoft Dynamics. Migración de FRx 6.7 a Management Reporter for Microsoft Dynamics ERP

Mondopad v1.8. Inicio rápido

Principios básicos de las redes propias Nokia N93i-1

Windows Server 2012: Infraestructura de Escritorio Virtual

CA Nimsoft Monitor Snap

Mensajería instantánea

GUÍA RÁPIDA DE NOKIA PC SUITE 4.81 PARA NOKIA 6310i

TRACcess ekey. Referencia Rápida

BBM for Windows Phone. Versión: 1.0. Guía del usuario

LASERJET ENTERPRISE 700 COLOR MFP. Guía de referencia rápida. M775dn M775f M775z M775z+

Antivirus PC (motor BitDefender) Manual de Usuario

Guía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.7

MSYTNMU13/V3.0/Nov10/ES. OEM v3.0 Notas de lanzamiento

WINDOWS : TERMINAL SERVER

Etiquetas inteligentes

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Descripción del producto

Guía Rápida de Inicio

Bienvenida. Índice. Prefacio

UNIVERSIDAD DE SALAMANCA

Manual de Notas de voz

Implantar el iphone y el ipad Apple Configurator

FileMaker Pro 14. Uso de una Conexión a Escritorio remoto con FileMaker Pro 14

BlackBerry Desktop Software. Versión: 7.1. Guía del usuario

Operación de Microsoft Excel

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

Configuración de Aspel-SAE 6.0 para trabajar Remotamente

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Manual para agentes de Call Center. Número de parte P

La Digitalización del Ayuntamiento. Gestión Integral

Acronis Backup & Recovery 10 Advanced Editions. Guía rápida de inicio

Transcripción:

BlackBerry Java SDK Versión: 7.0 Novedades de esta versión

Publicado: 2011-11-15 SWD-1634956-1115050804-005

Contenido 1 Descripción general... 3 2 Novedades de BlackBerry Java SDK 7.0... 4 Interfaz de usuario... 4 API de envío para menú... 4 Mejoras del marco de comandos... 4 Poner en capas los elementos de la interfaz... 4 Escanear una imagen para obtener datos de código de barras... 4 Escanear una imagen para obtener datos... 5 Recuperar la fuente de iluminación de un mapa de bits... 5 Objeto de fuente ligera... 5 Determinar la calidad del color admitida... 5 Rectángulos de escala... 5 Mapas de bits de 32 bits de color... 6 Recuperar el tipo de mapa de bits para el canal alfa de un marco de imagen dado... 6 Integración de aplicaciones... 6 API de magnetómetro... 6 Recuperar la inclinación o declinación de un campo geomagnético... 6 Aplicación Brújula... 6 Mejoras a la búsqueda unificada... 6 Identificar archivos multimedia... 7 Supervisión del volumen de datos en dispositivos CDMA... 7 Multimedia... 7 Uso de los modos de entrada de escena de la cámara... 7 Modos de control del enfoque... 8 Grabar vídeos sin audio... 8 Velocidades de bits compatibles con consulta para varios códecs... 8 Configurar el muestreo de audio y vídeo en grabaciones de vídeo durante la inicialización... 8 Interfaz avanzada de control de vídeo... 9 API de configuración de búfer... 9 VoIP en dispositivos basados en CDMA... 9 Cambio rápido de contenido RTSP... 9 Conexiones de red... 9 Near Field Communication... 9 Servicios basados en la ubicación... 10 Mejoras de codificación geográfica... 10 Marco dinámico asignable... 10

Marco de estilos... 10 Marco de componentes... 10 Superposiciones de brújula... 11 Mejoras de MapField y MapAction... 11 Recuperar el rumbo entre dos ubicaciones... 11 Límite geográfico... 11 Recuperar una ubicación... 11 Estimación de hora de salida... 11 Gráficos... 12 OpenGL ES 2.0... 12 OpenVG 1.1... 12 Utilidades de matemáticas... 12 Seguridad... 12 RIM Cryptographic API... 12 Compatibilidad con la tecnología BlackBerry Balance... 13 Seguridad para NFC... 14 Mejoras de SQLite... 14 Mejoras de SQLite... 14 SQLite como servicio... 14 Funcionalidad mejorada para administrar BLOB... 15 Reservar espacio para BLOB... 15 Estadísticas de uso de memoria de conexión... 15 Asistencia técnica... 15 Adjuntar y separar las bases de datos... 16 Intercalado de idioma... 16 Cambios de comportamiento para cursores almacenados en búfer... 17 3 Comentarios... 18 4 Aviso legal... 19

Descripción general Descripción general 1 Las API de BlackBerry le proporcionan las clases e interfaces que puede utilizar para crear una aplicación con funciones diseñadas específicamente para el dispositivo BlackBerry. Puede utilizar las API de BlackBerry para crear aplicaciones que realicen las funciones siguientes: interactuar con las funciones específicas incorporadas de dispositivos BlackBerry, como el GPS y funciones de ubicación, la cámara y grabadora de vídeo, el teléfono y los periféricos que utilizan la tecnología Bluetooth responder a la interacción con los métodos de entrada del dispositivo BlackBerry, como la rueda de desplazamiento, la pantalla táctil o el teclado integrarse con las aplicaciones de BlackBerry Device Software, como la aplicación Contactos, la aplicación Mensajes, BlackBerry Browser y BlackBerry Maps interactuar con los componentes de la solución BlackBerry, incluidos BlackBerry Enterprise Server, los servicios push y los recursos del servidor 3

Novedades de BlackBerry Java SDK 7.0 Novedades de BlackBerry Java SDK 7.0 2 BlackBerry Java SDK 7.0 ofrece una gran cantidad de API nuevas y mejoradas, y simuladores que puede utilizar para desarrollar aplicaciones para dispositivos BlackBerry que ejecutan BlackBerry 7. Interfaz de usuario API de envío para menú Puede utilizar la API de envío para menú para agregar un elemento de envío al menú de su aplicación. Un usuario de BlackBerry puede utilizar un elemento de envío para menú con el fin de enviar contenido a otra aplicación del dispositivo BlackBerry, como la aplicación Mensajes o BlackBerry Messenger. El contenido para enviar se encapsula como un objeto JSONObject, que pasa de su aplicación a la aplicación que envía el contenido. Cuando un usuario de dispositivo BlackBerry hace clic en el elemento de envío del menú, el dispositivo muestra un submenú con una lista de aplicaciones que pueden utilizarse para enviar el contenido. Cuando el usuario hace clic en una de estas aplicaciones, la aplicación seleccionada se inicia con ciertos campos rellenados con el contenido a enviar. El usuario puede completar los campos restantes y enviar el contenido. La API de envío para menú está incluida en el paquete net.rim.blackberry.api.sendmenu. Mejoras del marco de comandos Ahora puede ahora cancelar el registro de comandos que su aplicación hubiese registrado anteriormente con la API de marco de comandos invocando unregistercommand(), unregistercommandcategory() o unregistermodulecommands(). Estos métodos se ofrecen en la clase LocalCommandRegistrarConnection, incluida en el paquete net.rim.device.api.command. Poner en capas los elementos de la interfaz Puede colocar los componentes de la interfaz sobre otros mediante la clase ComponentCanvas. A diferencia de AbsoluteFieldManager, que ofrece una funcionalidad semejante, un ComponentCanvas se dibuja sobre otros campos y gestores de una pantalla, como un campo de vídeo o cámara. Puede agregar componentes estándar de la interfaz, como etiquetas, botones o listas desplegables, a ComponentCanvas. Por ejemplo, puede utilizar un ComponentCanvas para mostrar una serie de botones sobre un campo de vídeo o cámara. ComponentCanvas se proporciona en el paquete net.rim.device.api.ui.container. Escanear una imagen para obtener datos de código de barras La biblioteca de escaneo de códigos de barras ZXing 1.6 es compatible con el paquete com.google.zxing. El paquete net.rim.device.api.barcodelib ofrece la aplicación clases auxiliares para escaneo de códigos de barras. 4

Interfaz de usuario Puede utilizar la clase BarcodeScanner para explorar y decodificar datos de códigos de barras 1D o 2D de un marco detectado por el visor de la cámara. Cuando crea una instancia nueva de BarcodeScanner, le pasa al constructor una instancia de una clase BarcodeDecoder y una implementación de la interfaz de BarcodeDecoderListener o ImageDecoderListener. Mediante decode() (contenido en la clase BarcodeDecoder) puede analizar los datos en una matriz de bytes u objeto Bitmap y realizar una acción basada en los datos mediante barcodedecoded(). Escanear una imagen para obtener datos Puede utilizar la clase ImageScanner para escanear y decodificar los datos de un marco detectado por la cámara. Cuando crea una instancia nueva de ImageScanner, le pasa al constructor tanto una implementación de la interfaz de ImageDecoder como de la interfaz de ImageDecoderListener. La interfaz de ImageDecoderListener ofrece un método, imagedecoded(), invocado cuando ImageDecoder termina de analizar la imagen. Estas clases se ofrecen en el paquete net.rim.device.api.amms.control.camera. Recuperar la fuente de iluminación de un mapa de bits Puede utilizar las clases BitmapLuminanceSource y PlanarYUVLuminanceSource para crear objetos que representan el perfil de escala de grises de un objeto de un mapa de bits. Puede encontrar estas clases en el paquete net.rim.device.api.barcodelib. Objeto de fuente ligera La clase FontSpec, ofrecida en el paquete net.rim.device.ui, representa un objeto ligero Font que contiene sólo los atributos básicos Font como la familia, el tamaño y el estilo del tipo de letra. FontSpec se usa en los métodos de API OpenVG (por ejemplo, vgtdrawtext()). Puede obtener el objeto de FontSpec que representa un Font mediante el método Font.getFontSpec(). Determinar la calidad del color admitida Puede recuperar la calidad del color que un dispositivo BlackBerry admite invocando DeviceCapability.getDisplayColorQuality(), que se incluye en el paquete net.rim.device.api.system.capability. Este método devuelve una constante TRUE_COLOR si el dispositivo admite el color de 32 bits, y devuelve una constante HIGH_QUALITY de lo contrario, indicando que un dispositivo admite el color de 16 bits. Rectángulos de escala Puede utilizar la clase Graphics en el paquete net.rim.device.api.ui para dibujar rectángulos con un relleno de escala en su aplicación. El relleno de escala varía el color dentro del rectángulo según la posición, creando una transición suave del color. Puede invocar drawgradientfilledrect() para dibujar un rectángulo con un relleno de escala con esquinas angulares o invocar drawgradientfilledroundedrect() para rellenar un rectángulo con una escala con esquinas redondeadas. 5

Integración de aplicaciones Mapas de bits de 32 bits de color Puede invocar Bitmap.createAlpha() en un objeto Bitmap para añadir un canal alfa de transparencia al objeto. Cuando invoca createalpha() el método selecciona automáticamente el formato del mapa de bits. Recuperar el tipo de mapa de bits para el canal alfa de un marco de imagen dado Puede recuperar el tipo de mapa de bits para el canal alfa de un marco dado mediante el nuevo método getalphatype() ofrecido por la clase net.rim.device.api.system.encodedimage. Integración de aplicaciones API de magnetómetro En algunos dispositivos BlackBerry 7, se integra un sensor de magnetómetro en el dispositivo (actualmente, sólo los dispositivos con pantallas táctiles tienen esta funcionalidad). El sensor del magnetómetro detecta campos magnéticos en los tres ejes de un dispositivo BlackBerry. Puede utilizar las API de magnetómetro ofrecidas en el paquete net.rim.device.api.system para crear aplicaciones (por ejemplo, un detector de piezas metálicas o una brújula) que detecten los campos magnéticos XYZ y los polos magnéticos de la Tierra. Recuperar la inclinación o declinación de un campo geomagnético Puede recuperar la inclinación, la declinación, y varias otras estimaciones para un campo geomagnético mediante la clase GeomagneticField. La clase GeomagneticField se proporciona en el paquete net.rim.device.api.location. Aplicación Brújula La aplicación Brújula utiliza las API de Magnetómetro para ofrecer al usuario de dispositivo BlackBerry la dirección del dispositivo BlackBerry con respeto a los polos magnéticos de la Tierra. La aplicación Brújula se integra con BlackBerry Maps y ofrece al usuario la capacidad de especificar un destino. Mejoras a la búsqueda unificada Se han realizado varias mejoras al Unified Search Service. La clase SearchableContentTypeConstantsInfo ofrece dos métodos que ayudan a determinar el tipo de contenido devuelto por el Unified Search Service en un resultado de búsqueda. El método getallcontenttypes() devuelve un orden de bits o combinación de todas las constantes de tipo contenido definidas en la clase SearchableContentTypeConstants. El método getmediacontenttypes() devuelve un orden de bits o combinación de todos los tipos de contenido multimedia en SearchableContentTypeConstants. 6

Multimedia Dos constantes nuevas en SearchableContentTypeConstants pueden ayudarle a identificar los archivos multimedia. La constante CONTENT_TYPE_MEDIA_DOCUMENTS identifica los archivos de documento. El CONTENT_TYPE_MEDIA_FILES_ALL identifica todos los archivos multimedia (documentos, música, melodías de llamada, etcétera). Puede comparar los valores devueltos de estos métodos con los valores devueltos de Searchable.getType() para determinar si un resultado de búsqueda contiene un tipo de datos particular. La clase SearchableDataObject ofrece una implementación de la interfaz SearchableEntity. Puede ampliar esta clase para omitir los métodos pertinentes para sus datos. La clase SearchableDataObject ofrece opciones predeterminadas para los métodos que no omita. La clase EntityBasedSearchableProvider ofrece una implementación de la interfaz EntityBasedSearchable. Puede añadir, eliminar y actualizar sus datos en el índice de búsqueda sin interactuar con la clase AppContentManager. La clase ExtendedSearchProvider ofrece una implementación de la interfaz ExternalSearchProvider. Debe omitir el método search() para conectarse a un motor de búsqueda. Un constructor nuevo para la clase SearchArguments le permite especificar únicamente la cadena de búsqueda. Se ha dejado de dar soporte al constructor SearchArguments(String, String). Identificar archivos multimedia Dos constantes se agregaron a la clase SearchableContentTypeConstants para ayudar a identificar los archivos multimedia. La constante CONTENT_TYPE_MEDIA_DOCUMENTS identifica los archivos de documento. El CONTENT_TYPE_MEDIA_FILES_ALL identifica todos los archivos multimedia (documentos, música, melodías de llamada, etcétera). Supervisión del volumen de datos en dispositivos CDMA Ahora puede utilizar los métodos RadioInfo.getNumberOfPacketsSent() y RadioInfo.getNumberOfPacketsRecieved() para recuperar el número de paquetes (bytes de IP) enviados o recibidos en el transceptor para dispositivos CDMA. Anteriormente, sólo podría recuperar esta información en dispositivos GSM. Puede utilizar estos métodos para hacer un seguimiento de cuántos datos envía y recibe un dispositivo a través de la red. Puede encontrar la clase RadioInfo en el paquete net.rim.device.api.system. Multimedia Uso de los modos de entrada de escena de la cámara Puede utilizar nuevas constantes y métodos en la clase net.rim.device.api.amms.control.camera.featurecontrol para establecer y recuperar el modo de entrada de escena (como vertical, horizontal, deportes, nieve, macro, etc.) y comprobar si lo admite el dispositivo. 7

Multimedia Puede utilizar el método setscenemode() para establecer el modo de la cámara en el modo de escena especificado en el parámetro. El parámetro debe ser una de las constantes de la clase FeatureControl con el prefijo SCENE_MODE_. El método getcurrentscenemode() recupera el modo de escena establecido actualmente, representado por una de las constantes con el prefijo SCENE_MODE_, y isscenemodesupported() comprueba si se admite un modo de escena. Modos de control del enfoque Puede utilizar constantes y métodos en la clase net.rim.device.api.amms.control.camera.enhancedfocuscontrol para establecer el modo de control del enfoque. El control predeterminado del enfoque de la cámara en un dispositivo BlackBerry ha cambiado de un solo disparo al mejor modo disponible (normalmente disparo continuo). Si depende de un modo específico de enfoque para su aplicación, invóquelo explícitamente con estas constantes nuevas. Puede utilizar FOCUS_MODE_SINGLESHOT, FOCUS_MODE_CONTINUOUS y FOCUS_MODE_FIXED para establecer explícitamente el modo de enfoque de la cámara a autoenfoque de un solo disparo, continuo y fijo, respectivamente. Puede pasar estas constantes en el método setfocusmode(string mode) para establecer el modo de enfoque de la cámara. Puede recuperar el modo actual de enfoque de la cámara mediante el método getcurrentfocusmode(). Puede comprobar si un modo específico de enfoque es admitido introduciendo una de las constantes antes mencionadas en el método isfocusmodesupported(string focusmodeid), que devolverá verdadero si está admitida y falso si no lo está. Grabar vídeos sin audio Ahora puede especificar none como valor para el parámetro audio_codec al crear su reproductor de vídeo. Por ejemplo: createplayer("capture://video?encoding=video/3gpp&audio_codec=none"). Si especifica none, el vídeo se reproducirá sin audio. Además, System.getProperty("audio.encodings") ahora devuelve none como valor admisible para el parámetro audio_codec. Velocidades de bits compatibles con consulta para varios códecs Puede invocar System.getProperty("audio.encodings.bitrate.ranges") y System.getProperty("video.encoding.bitrate.ranges") para recuperar una lista de intervalos de velocidad de bits para los códecs compatibles. El formato de la cadena devuelta es: "codec:[min]-[max] codec: [min]-[max]... codec[min]-[max]", donde códec es el nombre que corresponde al nombre en clave para utilizar en la cadena del localizador para iniciar una grabación (por ejemplo: capture://video?encoding=video/ 3gpp&audio_codec=codec& video_codec=<codec>&rate=<audiorate>&video_rate=<videorate> ). Configurar el muestreo de audio y vídeo en grabaciones de vídeo durante la inicialización Puede especificar la velocidad de bits para los códecs de audio y vídeo cuando cree una instancia de Player mediante la clase Manager configurando el parámetro de velocidad. Por ejemplo: createplayer("capture:// video?encoding=video/3gpp&rate=<bitrate>&video_rate<bitrate>"). 8

Conexiones de red Los intervalos de la velocidad de bits para varios códecs pueden obtenerse mediante System.getProperty("audio.encodings.bitrate.ranges") y System.getProperty("video.encoding.bitrate.ranges"). Interfaz avanzada de control de vídeo Puede utilizar la interfaz nueva de AdvancedVideoControl incluida en el paquete net.rim.device.api.media.control para definir un modo de visualización de vídeo nuevo. Este modo nuevo le permite representar los componentes principales de la interfaz en campos de vídeo, por ejemplo los controles de reproducción. La interfaz tiene una constante, USE_GUI_ADVANCED, que se usa como un parámetro en el método VideoControl.initDisplayMode(int mode, Object arg). API de configuración de búfer Puede utilizar la interfaz de StreamingBufferControl del paquete net.rim.device.api.media.control para controlar los búfer internos de transmisión del reproductor multimedia. El método flush() desactiva todos los datos que el reproductor multimedia almacena en búfer actualmente (pero aún no ha reproducido). El método setbuffertime(int millis) controla la cantidad de tiempo que se almacena en búfer antes de que la reproducción empiece. VoIP en dispositivos basados en CDMA Puede activar la funcionalidad de VoIP en dispositivos basados en CDMA mediante los parámetros voipmode y rate del método createplayer(string locator) de la clase javax.microedition.media.manager. Cambio rápido de contenido RTSP Cuando utiliza el protocolo de RTSP para mostrar vídeo, ahora puede cambiar las fuentes de vídeo sin desconectarse y conectarse de nuevo al servidor (si se admite) mediante la nueva interfaz RtspContentControl del paquete net.rim.device.api.media.control. Esto puede resultar en un cambio más rápido y eficaz del contenido. Conexiones de red Near Field Communication El paquete de API de NFC le permite leer y escribir datos en etiquetas inteligentes, emular una etiqueta inteligente y acceder a un elemento seguro incrustado en un dispositivo BlackBerry o tarjeta SIM. La API de NFC admite la mayoría de los tipos principales de etiquetas. Puede comprobar la capacidad de un dispositivo para admitir NFC mediante las clases DeviceCapability en el paquete net.rim.device.api.system.capability. 9

Servicios basados en la ubicación Para leer y escribir en etiquetas inteligentes, puede registrar su aplicación para recibir las notificaciones cuando un dispositivo BlackBerry detecte una etiqueta. Dependiendo del tipo de etiqueta, y si desea leer o escribir, debe implementar servicios de escucha diferentes y registrarlos con la clase ReaderWriterManager en el paquete net.rim.device.api.io.readerwriter. Para utilizar su dispositivo para emular una etiqueta inteligente, puede utilizar el paquete net.rim.device.api.io.nfc.emulation. Para conectar accesorios inteligentes a su dispositivo, puede utilizar la clase net.rim.device.blackberry.api.accessory.accessorymanager, así como el paquete net.rim.device.api.io.nfc.se para acceder a un elemento seguro. Servicios basados en la ubicación Mejoras de codificación geográfica La clase Locator en el paquete net.rim.device.api.lbs se ha abandonado, y ha sido sustituida por unas nuevas API de codificación geográfica y codificación geográfica inversa. Mediante estas API, puede realizar la codificación geográfica y las peticiones de codificación inversa asincrónica y sincrónicamente. Para iniciar una petición asincrónica, debe ofrecer una implementación de ServerExchangeCallback o de otro modo la petición es sincrónica. Las API de codificación geográfica y codificación geográfica inversa se incluyen en los paquetes net.rim.device.api.lbs.maps.server y net.rim.device.api.lbs.maps.server.exchange. Marco dinámico asignable El marco dinámico asignable le permite crear las ubicaciones en un mapa, especificar si una ubicación debe actualizarse, y volver a dibujar el mapa cuando la ubicación se actualiza. Por ejemplo, puede mostrar la ubicación de un contacto BlackBerry Messenger casi en tiempo real en un mapa a medida que la ubicación del contacto cambia. El marco dinámico asignable se incluye en el paquete net.rim.device.api.lbs.maps.model. Marco de estilos Puede definir estilos para elementos asignables individuales o clases de elementos asignables mediante el marco de estilos. También puede ajustar el borde de la línea (peso, opacidad y color), el relleno (opacidad y color) y la etiqueta (relleno y tipo de letra) para elementos asignables. El marco de estilos se incluye en el paquete net.rim.device.api.lbs.maps.view. Marco de componentes Puede crear objetos asignables que corresponden a formas geoespaciales como polígonos, polilíneas, imágenes, líneas, marcadores y puntos mediante el marco de componentes. Las formas (por ejemplo, imágenes o polígonos) están incluidas en el paquete de net.rim.device.api.lbs.maps.model. Las formas geoespaciales que corresponden a estas formas están incluidas en el paquete de net.rim.device.api.lbs.maps.model.geospatial. Puede utilizar estas formas para varias cosas. Por ejemplo, mostrar imágenes de perfil de BlackBerry Messenger como marcadores para ubicaciones en un mapa. 10

Servicios basados en la ubicación Superposiciones de brújula Puede añadir una superposición de brújula a su aplicación mediante la clase CompassField, que se incluye en el paquete net.rim.device.api.lbs.compass. El CompassField ofrece una representación gráfica de una brújula para obtener el contexto direccional (por ejemplo, en una aplicación de mapas, la brújula muestra dónde está el norte en relación con la ubicación actual del usuario del dispositivo BlackBerry). Puede crear una instancia de CompassField y añadirla a un administrador de campos, como otros componentes de la interfaz de usuario de BlackBerry Java SDK. Mejoras de MapField y MapAction Las clases MapAction y MapField ofrecidas en el paquete net.rim.device.api.lbs.maps.ui ofrecen métodos nuevos que permiten realizar acciones específicas en un campo de mapa. Las clases admiten acciones como configuración del centro, del zoom y del nivel de rotación de un campo de mapa. Recuperar el rumbo entre dos ubicaciones Puede recuperar el rumbo inicial de la brújula entre dos ubicaciones especificadas mediante el método de getbearing() definido en la clase net.rim.device.api.gps.locationinfo. Debe proporcionar las coordenadas geográficas (latitud y longitud) para las ubicaciones de inicio y fin y, a continuación, invocar getbearing(), que calcula el ángulo (en grados) entre las dos ubicaciones. Límite geográfico Puede utilizar la clase Geofence para definir áreas con límite geográfico y recibir notificaciones cuando un usuario de dispositivo BlackBerry entre o salga del área especificada. Un límite geográfico es un área geográfica virtual de interés que puede definir por un radio alrededor de una ubicación, o por las coordenadas que definen un polígono para la ubicación. Su aplicación debe crear una instancia de un objeto de Geofence e implementar GeofenceListener para recibir las notificaciones para eventos de limitación geográfica (cuando un usuario entre o salga de áreas con límite geográfico). Cada instancia de Geofence está diseñada para procesar hasta 20 áreas supervisadas al mismo tiempo. Geofence se proporciona en el paquete net.rim.device.api.location. Recuperar una ubicación Puede recuperar la ubicación asignable (es decir, basada en latitud y longitud) de un elemento asignable mediante getboundingbox(). Las clases que implementan la interfaz de Mappable definen este método. Una ubicación asignable representa el área rectangular que un elemento asignable ocupa en un mapa. Estimación de hora de salida La API de duración de viaje está mejorada. Ahora puede especificar una hora de llegada y solicitar una hora de salida estimada. La API de duración de viaje se incluye en el paquete net.rim.device.api.lbs.travel y ahora puede solicitar horas de salida y llegada estimadas según su ubicación actual. 11

Gráficos Gráficos OpenGL ES 2.0 OpenGL ES 2.0 es compatible con la adición de la interfaz GL20 definida en el paquete net.rim.device.api.opengles. OpenGL ES 2.0 también es compatible con la clase GLField. Las mejoras en la clase GLUtils y un conjunto nuevo de métodos de utilidad se han diseñado para ayudarle a utilizar OpenGL ES 1.1 y 2.0. La clase GLUtils se proporciona en el paquete net.rim.device.api.opengles. Ahora puede cargar un EncodedImage como textura para un objeto 3D, una parte de un EncodedImage o Bitmap en una textura. También puede cargar programas de sombreador. OpenVG 1.1 La clase VGUtils ofrece un conjunto de métodos de utilidad diseñados para facilitarle el uso de OpenVG. La clase VGUtils se proporciona en el paquete net.rim.device.api.openvg. Puede crear una VGImage a partir de una región de un Bitmap o una EncodedImage. Puede crear una VGPath a partir de datos de ruta de SVG, y utilizar un método más sencillo para crear rutas lineales o escalas radiales. También puede anexar segmentos de rutas a una VGPath, así como crear texto en una VGPath o una VGImage especificando el texto a crear y el tipo de letra a utilizar. Puede dibujar texto como glifos de imagen o glifos de ruta, y controlar si los contornos de los glifos de texto tienen relleno, están trazados o ambas cosas, y medir el texto sin dibujarlo. Puede cargar los datos de imagen de una región de una Bitmap o una EncodedImage en una región de una VGImage. Utilidades de matemáticas Las clases Matrix3f y Matrix4f del paquete net.rim.device.api.math se mejoraron con métodos para ayudarle a trabajar con y crear varios tipos de matrices utilizadas por OpenGL ES y OpenVG. El método Matrix3f.shear() transforma una matriz para incorporar una cantidad especificada de distorsión por dos ejes. Los métodos createbillboard(), createlookat(), createorthographic(), createperspective(), y createreflection() de Matrix4f están diseñados para facilitar la construcción de matrices que podría necesitar al usar OpenGL ES. Seguridad RIM Cryptographic API La implementación de AES en la RIM Cryptographic API ha cambiado. Antes de BlackBerry Java SDK 7.0, se utilizaba siempre una versión validada con FIPS del algoritmo de cifrado de AES, pero con BlackBerry 7 el dispositivo BlackBerry elige la versión de AES que ofrece el mejor rendimiento. Esta flexibilidad es posible porque los dispositivos BlackBerry con BlackBerry 7 no utilizan las implementaciones de AES conformes con FIPS de forma 12

Seguridad predeterminada. La mayoría de los desarrolladores no necesitan crear aplicaciones en conformidad con FIPS. La opción para imponer la conformidad con FIPS en dispositivos BlackBerry está disponible en un entorno BlackBerry Enterprise Server. Para implantar la conformidad con FIPS, su administrador de BlackBerry Enterprise Server debe establecer la nueva regla de política de TI "Imponer modo de funcionamiento FIPS". Se ha agregado una fuente aleatoria validada para FIPS: el generador aleatorio de bits determinista basado en cifrado de AES. Es representado por una constante nueva en la clase Crypto, PRNG_TYPE_AES_CTR_DRBG. Además, se agregó una constante: PRNG_TYPE_FIPS186. Anteriormente, era el único generador de números aleatorios; como era el único tipo, no hacía falta especificarlo. Este generador de números aleatorios ya no cumple la conformidad con FIPS. Una variable nueva, prngtype, se admite ahora por el método Crypto.getPRNG(). Puede establecerse en PRNG_TYPE_AES_CTR_DRBG (para la conformidad con FIPS) o PRNG_TYPE_FIPS186 (para ninguna conformidad con FIPS) Los métodos AESEncryptorEngine(), AESDecryptorEngine(), AESCBCEncryptorEngine(), y AESCBCDecryptorEngine() tienen todos un parámetro Booleano nuevo llamado usefipsmode. Un nombre de parámetro se cambió en AESEncryptorEngine(), AESDecryptorEngine(), AESCBCEncryptorEngine(), y AESCBCDecryptorEngine(). El parámetro inecmmode se ha cambiado a usecpaprotection. Este cambio de nombre no afecta a la funcionalidad. Se ha agregado la clase AESCTRDRBGPseudoRandomSource. La clase AESCTRDRBGPseudoRandomSource es idéntica a FIPS186PseudoRandomSource, excepto porque la clase nueva admite la conformidad con FIPS. La clase FIPS186PseudoRandomSource ya no puede utilizarse para generar los datos pseudoaleatorios en aplicaciones conformes con FIPS, pero todavía pueden utilizarse para aplicaciones que no requieran la compatibilidad con FIPS. Compatibilidad con la tecnología BlackBerry Balance La API de plataforma multiservicio admite la tecnología BlackBerry Balance introducida en BlackBerry Enterprise Server 5.0.3. Los administradores BlackBerry Enterprise Server pueden establecer las reglas de política de TI que controlen el acceso a datos de trabajo y personales en un dispositivo BlackBerry. Estas reglas permiten a los administradores controlar el acceso a datos de trabajo, así como facilitar su eliminación. La clase net.rim.device.api.system.multiserviceplatformmanager y la interfaz net.rim.device.api.system.multiserviceplatformlistener le permiten implementar los controles de acceso y crear servicios de escucha que permitan a los administradores eliminar los datos de forma remota. Los modos (como el de trabajo) se definen en la clase net.rim.device.api.system.servicemode. La clase net.rim.device.api.system.application incluye los métodos nuevos siguientes: getservicemode, setservicemode, setservicemodeimpl, y suggestservicemode. La constante PL_INVALID_OPERATION se ha agregado a la clase FileIOException. La excepción PL_INVALID_OPERATION se genera cuando una aplicación no autorizada, personal o que no sea de l trabajo intenta eliminar, crear, leer o cambiar un archivo del trabajo. 13

Mejoras de SQLite Seguridad para NFC Las constantes PERMISSION_NFC y PERMISSION_SECURE_ELEMENT se han agregado a la clase ApplicationPermissions. PERMISSION_NFC controla la capacidad de una aplicación para acceder la funcionalidad de NFC. PERMISSION_SECURE_ELEMENT controla la capacidad de una aplicación para acceder los elementos seguros incrustados en el teléfono o en una tarjeta SIM. Puede especificar ambos permisos en VALUE_ALLOW, VALUE_PROMPT, o VALUE_DENY. El valor predeterminado para ambos permisos es VALUE_PROMPT. Puede encontrar la clase ApplicationPermissions en el paquete net.rim.device.api.applicationcontrol. Mejoras de SQLite Mejoras de SQLite El BlackBerry Java SDK 7.0 usa SQLite versión 3.7.2. BlackBerry Java SDK 6.0 usaba SQLite 3.6.21. Para una descripción de las características nuevas en SQLite, consulte la documentación de SQLite, disponible en www.sqlite.org. La cantidad de RAM disponible en una base de datos de SQLite para almacenar las estructuras internas de datos para esquemas y transacciones ha aumentado a 16 MB (de 5 MB en 6.0). Una consulta ahora puede pesar hasta 1 MB. En BlackBerry Java SDK 6.0, el límite de longitud de consulta era 4 KB. El límite de manipulación de archivos ha aumentado a 64, permitiendo abrir hasta 56 bases de datos al mismo tiempo en BlackBerry Java SDK 7.0. Además, ahora puede elegir utilizar un registro de escritura anticipada en vez del diario de reversión. El registro de escritura anticipada ofrece mayor simultaneidad porque la escritura en la base de datos no bloquea la lectura. Puede utilizar un registro de escritura anticipada configurando la opción WAL en el PRAGMA journal_mode. También puede utilizar el modo de caché compartida para ayudar a reducir el uso de memoria para múltiples conexiones a la misma base de datos. SQLite como servicio SQLite ahora se ejecuta como servicio, y las operaciones de la base de datos utilizan un puente del tiempo de ejecución para transferir los datos entre código JavaScript y código nativo. Se han agregado varios métodos para ayudarle a utilizar el puente del tiempo de ejecución eficazmente. Cuando crea una declaración preparada para insertar o actualizar los datos, puede utilizar Statement.executeInsert() y Statement.executeUpdate() para reducir el número de llamadas por el puente del tiempo de ejecución. Estos métodos realizan las operaciones siguientes en el código nativo: enlazar los parámetros del SQL, ejecutar la declaración, restablecer la declaración y desactivar los enlaces. Además, executeinsert() devuelve la última fila de identificador insertada. 14

Mejoras de SQLite Cuando ejecuta una consulta que no devuelve un conjunto de resultados y no está enlazando parámetros, puede utilizar Database.executeStatement() para reducir las llamadas por el puente del tiempo de ejecución. Este método realiza las operaciones siguientes en el código nativo: preparar la declaración, ejecutar la declaración y completar la declaración. Cuando mediante Statement.getCursor() ejecute una consulta que devuelva un conjunto de resultados, ahora puede obtener previamente un número especificado de filas mediante Statement.setCursorBufferSize(). Mediante este método se reduce el uso del puente del tiempo de ejecución. Cuando el cursor se desplaza por delante del conjunto almacenado en búfer, se obtiene una serie nueva de filas. Puede recuperar el número de filas que almacena en búfer un cursor con el método nuevo Statement.getCursorBufferSize(). Cuando recupera valores de número entero para utilizar como claves en otra consulta, puede utilizar Statement.getIntegers() y Statement.getLongs(). Estos métodos ayudan a simplificar y optimizar la recuperación de columnas de número entero. Funcionalidad mejorada para administrar BLOB Los métodos nuevos para administrar BLOB eliminan la necesidad de almacenar el BLOB entero en la memoria de aplicación, de modo que la cantidad de la memoria dinámica disponible no limita el tamaño de BLOB que puede leerse o escribrise en la base de datos. Database.createBlobOutputStream() crea un objeto OutputStream que se usa para escribir los datos en un BLOB, y crea Database.createBlobInputStream() un objeto InputStream que se usa para leer los datos de un BLOB. Reservar espacio para BLOB El método Statement.bindZeroBlob() le permite enlazar una serie de bytes nulos a un parámetro en un Statement. Puede utilizar el método bindzeroblob para reservar el espacio para la salida de BLOB cuando utilice Database.createBlobOutputStream() para escribir los datos en un BLOB y ejecutar el Statement con Statement.execute(). Estadísticas de uso de memoria de conexión Puede hacer un seguimiento del uso de la memoria para cada conexión de base de datos mediante los métodos nuevos Database.getCacheUsed(), Database.getSchemaUsed()y Database.getStatementUsed(). Puede recuperar tipos de columna SQLite para filas específicas mediante el método nuevo Row.getDatabaseColumnTypes(). Asistencia técnica Ahora puede utilizar un subconjunto de declaraciones de PRAGMA de SQLite. La clase net.rim.device.api.database.pragma contiene constantes para cada PRAGMA admitida. Se admiten las siguientes PRAGMA: collation_list compile_options 15

Mejoras de SQLite database_list foreign_keys freelist_count journal_mode journal_size_limit page_count synchronous user_version Adjuntar y separar las bases de datos Puede adjuntar las bases de datos y separar las bases de datos de una conexión de base de datos existente, se han agregado dos métodos nuevos, Database.attach() y Database.detach(). Estos métodos están diseñados para permitirle adjuntar hasta diez bases de datos a una conexión. También puede utilizar el comando DETACH en una instrucción de SQL, pero no usar el comando ATTACH. Intercalado de idioma Ahora se admite el intercalado de idioma. Por ejemplo, ahora puede crear una tabla que tenga habilitado el intercalado de francés. Las siguientes secuencias de intercalado están admitidas: Estándar Afrikaans Árabe Catalán Checo Francés Hebreo Chino de Hong Kong Húngaro Japonés Coreano Pinyin Polaco Rumano Español Tailandés Turco Chino taiwanés 16

Mejoras de SQLite Cambios de comportamiento para cursores almacenados en búfer El método BufferedCursor.isEmpty() ya no se desplaza con el cursor en ningún caso, y ya no devuelve false cuando la posición de cursor es una más que la última fila disponible. El método BufferedCursor.prev() recoloca el cursor en la posición inicial (-1) cuando se le invoca muchas veces. 17

Comentarios Comentarios 3 Para ofrecer comentarios acerca de esta entrega, visite www.blackberry.com/docsfeedback. 18