1Comprensión de BlackBerry y programación de dispositivos BlackBerry..........................................................................5
Principios de diseño para dispositivos BlackBerry......................................................................................................................5
Ciclos de lanzamientos y versiones...............................................................................................................................................6
BlackBerry Java Development Environment................................................................................................................................6
API de Java ME y Java para BlackBerry........................................................................................................................................7
Compatibilidad con las API estándar de Java.....................................................................................................................7
Compatibilidad con las extensiones de API de Java..........................................................................................................8
BlackBerry Internet Service...................................................................................................................................................9
Aplicaciones con sincronización de escritorio.............................................................................................................................11
Aplicaciones con acceso inalámbrico, sincronización inalámbrica o alerta inalámbrica.......................................................11
Control de API y firma de código..................................................................................................................................................13
Modelos de objetos.........................................................................................................................................................................13
Práctica recomendada: uso de subprocesamiento múltiple.............................................................................................14
Prácticas recomendadas para escribir una aplicación BlackBerry Java Application eficaz...................................................14
Práctica recomendada: escritura de código eficaz.............................................................................................................14
Práctica recomendada: uso apropiado de los objetos.......................................................................................................19
Práctica recomendada: reducción del tamaño del código compilado.............................................................................19
Compatibilidad de varios idiomas.................................................................................................................................................21
Práctica recomendada: almacenamiento de cadenas de texto en archivos de recursos..............................................21
Compatibilidad de audio.......................................................................................................................................................22
Compatibilidad con imágenes..............................................................................................................................................22
Compatibilidad de vídeo........................................................................................................................................................22
3 Interfaz de usuario y diseño de navegación............................................................................................................................23
Escritura y navegación del usuario de dispositivos BlackBerry.................................................................................................23
Rueda de desplazamiento frente a bola de desplazamiento.............................................................................................23
Creación de una interfaz de usuario que sea coherente con las interfaces de usuario estándar de BlackBerry................24
4 Gestión de memoria....................................................................................................................................................................26
Gestión de memoria.......................................................................................................................................................................26
Memoria del dispositivo BlackBerry.....................................................................................................................................26
Recursos claves para reservar...............................................................................................................................................26
Práctica recomendada: reducción del uso de la memoria.................................................................................................27
Gestión de una disponibilidad de memoria baja.........................................................................................................................27
Identificación de una disponibilidad baja de memoria en un dispositivo BlackBerry....................................................27
Conservación de recursos..............................................................................................................................................................28
Práctica recomendada: uso de una selección de estructura de datos eficaz..................................................................28
Práctica recomendada: consolidación de objetos en grupos de objetos.........................................................................28
Recogida de datos desechables en un dispositivo BlackBerry..................................................................................................29
Recogida de datos desechables de la RAM en un dispositivo BlackBerry.......................................................................29
Recogida de datos desechables en un dispositivo BlackBerry..........................................................................................29
Recogida de datos desechables inactiva en un dispositivo BlackBerry...........................................................................29
5 Administración de datos.............................................................................................................................................................31
Compatibilidad con las API para almacenar datos en la memoria constante.........................................................................31
API del almacén constante....................................................................................................................................................31
API del sistema de administración de registros MIDP.......................................................................................................31
API de conexiones de archivo...............................................................................................................................................31
Almacenamiento en medios extraíbles........................................................................................................................................32
Acceso a los datos en la tarjeta multimedia microSD........................................................................................................32
Copia de seguridad y sincronización de los datos......................................................................................................................32
6 Transporte inalámbrico de datos..............................................................................................................................................34
Uso de BlackBerry Enterprise Server como gateway de red.............................................................................................34
Uso de la gateway a Internet del proveedor de servicios inalámbricos...........................................................................34
Opciones de transporte de datos alternativas............................................................................................................................35
Uso del correo electrónico para transportar datos.............................................................................................................35
Uso de SMS para transportar datos.....................................................................................................................................35
Uso de la mensajería PIN para transportar datos..............................................................................................................35
7 Integración de aplicaciones BlackBerry...................................................................................................................................36
Adición de elementos de menú personalizados..........................................................................................................................36
Integración con aplicaciones de BlackBerry Device Software...................................................................................................36
Acceso a los datos del correo electrónico y del organizador.....................................................................................................36
Uso de BlackBerry Messenger con BlackBerry Application.......................................................................................................36
Uso de oyentes para responder a los cambios de la aplicación................................................................................................37
8 Consideraciones de seguridad..................................................................................................................................................38
Cifrado de datos y BlackBerry Application...................................................................................................................................38
Cifrado de datos durante el transporte................................................................................................................................38
Cifrado de datos en el dispositivo BlackBerry.....................................................................................................................38
Acceder a la memoria.....................................................................................................................................................................38
Autenticación de dispositivos BlackBerry y política de TI.................................................................................................39
Autenticación de aplicaciones..............................................................................................................................................39
Autenticación del servidor.....................................................................................................................................................39
API controladas y firma de códigos..............................................................................................................................................39
API de BlackBerry con acceso controlado....................................................................................................................................40
Compatibilidad con la política de TI.............................................................................................................................................41
Control de la aplicación..................................................................................................................................................................41
Cifrado de archivos en tarjetas microSD......................................................................................................................................42
Cifrado de datos en una tarjeta multimedia microSD.......................................................................................................42
Uso de la tarjeta multimedia microSD con más de un dispositivo BlackBerry...............................................................42
Políticas de TI y tarjetas multimedia microSD....................................................................................................................42
Cifrado de una aplicación BlackBerry Java Application.............................................................................................................43
Verificación previa de BlackBerry Java Application....................................................................................................................43
Prueba de aplicaciones en BlackBerry Smartphone Simulator.................................................................................................43
Prueba de aplicaciones en un dispositivo BlackBerry.................................................................................................................44
Simuladores de BlackBerry............................................................................................................................................................44
10 Disponibilidad de las aplicaciones............................................................................................................................................46
Distribución de aplicaciones a través de una conexión de ordenador.....................................................................................46
Distribuir una aplicación desde un ordenador....................................................................................................................46
Distribuir una aplicación desde una página Web...............................................................................................................46
Distribuir una aplicación para la prueba.............................................................................................................................46
Distribución de aplicaciones a través de la red inalámbrica.....................................................................................................46
Extracción inalámbrica (iniciada por el usuario)................................................................................................................47
Inserción inalámbrica (iniciada por el servidor)..................................................................................................................47
Comprensión de BlackBerry y programación de dispositivos BlackBerry
Comprensión de BlackBerry y programación de
1
dispositivos BlackBerry
Los dispositivos BlackBerry® proporcionan un entorno inalámbrico Java® ME que es compatible con las aplicaciones cliente/
servidor. Los desarrolladores de aplicaciones pueden crear BlackBerry® Java Application, con interfaces de usuario sofisticadas,
para la entrada y búsqueda de datos compatibles con un subprocesamiento múltiple, internacionalización, comunicación de red
y el almacenamiento local de datos. Las aplicaciones pueden comunicarse con las redes mediante conexiones estándar TCP y
HTTP, a pesar de la red inalámbrica subyacente.
Los desarrolladores de aplicaciones también pueden crear BlackBerry Java Application integrada por completo con aplicaciones
principales del dispositivo BlackBerry, como la lista de mensajes, las aplicaciones de organizador, el teléfono y el explorador, para
una experiencia de usuario perfecta.
Principios de diseño para dispositivos BlackBerry
Las aplicaciones diseñadas para dispositivos BlackBerry® deben ofrecer un equilibrio entre la mejor experiencia de usuario posible
y una duración larga de la batería. Cuando diseñe su aplicación de dispositivo BlackBerry, considere las diferencias entre
dispositivos móviles y ordenadores. Los dispositivos móviles
•tienen un tamaño de pantalla más pequeño que puede mostrar un número limitado de caracteres
•tienen velocidades de procesador más lentas
•utilizan redes inalámbricas que tienen un período de latencia más largo que las LAN estándar
•tienen menos memoria disponible
•tiene una batería que dura menos
•muestran una pantalla al mismo tiempo
Los usuarios de dispositivos móviles no utilizan del mismo modo las aplicaciones en su dispositivo móvil y las aplicaciones en un
ordenador. En un dispositivo móvil, los usuarios esperan encontrar la información rápidamente. Por ejemplo, un sistema de gestión
de relaciones con clientes (CRM) puede ofrecer una cantidad masiva de información, pero los usuarios sólo requieren una pequeña
cantidad de esa información a la vez. La interfaz de usuario del dispositivo BlackBerry se ha diseñado para que los usuarios
puedan realizar las tareas fácilmente y acceder a la información rápidamente.
Cuando diseña aplicaciones para dispositivos BlackBerry, intente ser tan coherente como sea posible con otras aplicaciones del
dispositivo BlackBerry. Considere las siguientes directrices:
•Utilice o amplíe los componentes existentes de la interfaz de usuario de forma que la aplicación pueda heredar el
comportamiento predeterminado del componente.
•Siga el modelo estándar de navegación tanto como le sea posible para que los usuarios puedan hacer un uso completo del
teclado y la bola de desplazamiento.
5
Guía de conceptos básicos
•Realice todas las acciones disponibles desde el menú. Compruebe que las acciones disponibles en el menú son relevantes
para el contexto actual de los usuarios.
Al diseñar su aplicación, debe considerar también las siguientes directrices:
•Céntrese en las tareas inmediatas de los usuarios. Simplifique la selección y presentación de datos para mostrar sólo la
información que los usuarios necesitan en cualquier otro momento.
•Muestre la información de manera que haga un uso efectivo de la pequeña pantalla.
Antes de diseñar su aplicación, considere la utilización de las aplicaciones principales en el dispositivo BlackBerry o BlackBerry
Smartphone Simulator para conocer más detalles acerca del modelo de navegación y las prácticas recomendadas para diseñar
la interfaz de usuario de la aplicación.
Ciclos de lanzamientos y versiones
Ciclos de lanzamientos y versiones
Todos los dispositivos BlackBerry® incluyen una versión específica de BlackBerry® Device Software y de BlackBerry® Java® Virtual
Machine. Para determinar la versión de BlackBerry Device Software de un dispositivo BlackBerry, en las Opciones del dispositivo,
haga clic en Acerca de. Puede actualizar BlackBerry Device Software. Por ejemplo, puede actualizar un dispositivo BlackBerry
con la versión de BlackBerry Device Software 4.0 a BlackBerry Device Software versión 4.1.
Con cada uno de los lanzamientos principales de BlackBerry Device Software y BlackBerry JVM, Research In Motion incluye las
correspondientes API de Java y la versión de BlackBerry® Java® Development Environment. La versión de BlackBerry Device
Software determina la versión de BlackBerry® Integrated Development Environment que puede utilizar para desarrollar
aplicaciones. Por ejemplo, RIM lanzó BlackBerry Device Software versión 4.0 y BlackBerry JDE versión 4.0 al mismo tiempo.
BlackBerry JDE versión 4.0 incluye compatibilidad con las API que se introdujeron en BlackBerry Device Software versión 4.0 y
BlackBerry JVM versión 4.0. Las aplicaciones creadas mediante BlackBerry JDE versión 4.0 sólo funcionan en dispositivos
BlackBerry que ejecutan BlackBerry Device Software versión 4.0 o posterior.
Puede utilizar los siguientes criterios para decidir qué versión de BlackBerry JDE utilizar para desarrollar una aplicación:
•Si la aplicación no necesita utilizar características específicas de hardware del dispositivo BlackBerry ni extensiones de las
API recientemente lanzadas, utilice BlackBerry JDE versión 4.0 para desarrollar la aplicación.
•Si la aplicación está diseñada para ejecutarse sólo en el smartphone BlackBerry® Pearl™ 8100, use BlackBerry JDE versión
4.2 o posterior.
BlackBerry Java Development Environment
BlackBerry® Java® Development Environment es un entorno completamente integrado de desarrollo y simulación para crear
BlackBerry® Java Application para dispositivos BlackBerry. Gracias a BlackBerry JDE, los desarrolladores pueden crear
aplicaciones con el lenguaje de programación Java® ME y las API extendidas de Java para BlackBerry.
BlackBerry Java Development Environment incluye las siguientes herramientas de desarrollo:
6
Guía de conceptos básicos
•BlackBerry® Integrated Development Environment
•BlackBerry Smartphone Simulator
•Java ME y API de BlackBerry
•aplicaciones de ejemplo
BlackBerry IDE incluye una serie completa de herramientas de edición y depuración que se han optimizado para el desarrollo de
BlackBerry Java Application. BlackBerry Smartphone Simulator ofrece un entorno tipo Windows® completo y está diseñado para
simular interfaces de usuario y la interacción del usuario, conexiones de red, servicios de correo electrónico y sincronización
inalámbrica de datos.
El paquete de componentes de BlackBerry Java Development Environment incluye las siguientes herramientas de desarrollo para
el desarrollo en IDE de terceros como NetBeans™ o Eclipse™:
•RAPC: puede utilizar este compilador del símbolo del sistema para compilar archivos .java y .jar en archivos .cod que puede
ejecutar en BlackBerry Smartphone Simulator o en un dispositivo BlackBerry.
•JavaLoader: puede utilizar esta herramienta para agregar o actualizar una aplicación en un dispositivo BlackBerry para
probar y para ver información sobre los archivos .cod de la aplicación.
•BlackBerry® Signature Tool: puede utilizar esta herramienta para enviar solicitudes de firma de código a BlackBerry® Signing
Authority Tool.
•Herramienta de verificación previa: puede utilizar esta herramienta para comprobar parcialmente sus clases antes de cargar
su aplicación en un dispositivo BlackBerry.
•JDWP: puede utilizar esta herramienta para depurar aplicaciones utilizando entornos de desarrollo integrados de terceros.
API de Java ME y Java para BlackBerry
API de Java ME y Java para BlackBerry
Java® ME es una plataforma estándar del sector que define los conjuntos comunes de API de Java para distintos tipos de
dispositivos inalámbricos e incorporados. Una aplicación Java ME en un dispositivo BlackBerry® se ejecuta en la máquina virtual
BlackBerry® Java® Virtual Machine, que proporciona todos los servicios de tiempo de ejecución a las aplicaciones y realiza
funciones tales como asignaciones normales de memoria, comprobaciones de seguridad y recogida de datos desechables.
La MIDP estándar de Java ME gestiona las necesidades de la API y BlackBerry JVM de un dispositivo inalámbrico restringido con
una interfaz de usuario. El dispositivo BlackBerry es compatible con la MIDP estándar de Java ME tal como se define en JSR 118.
La MIDP estándar de Java ME proporciona un conjunto fundamental de API de Java que son compatibles con cualquier dispositivo
BlackBerry, independientemente de su sistema operativo subyacente. Los desarrolladores a menudo pueden construir una
aplicación Java utilizando la API MIDP estándar y ejecutando esa aplicación en muchos tipos diferentes de dispositivos.
Compatibilidad con las API estándar de Java
El dispositivo BlackBerry® y BlackBerry® Java® Development Environment son compatibles con el estándar MIDP de Java® ME,
que proporciona un conjunto principal de API de Java que puede utilizar para desarrollar aplicaciones de dispositivos inalámbricos.
El dispositivo BlackBerry y BlackBerry® Java® Development Environment también son compatibles con los siguientes JSR:
7
Guía de conceptos básicos
API de Java ME y Java para BlackBerry
•JSR 30: Connected Limited Device Configuration versión 1.0
(compatible en dispositivos con BlackBerry® Device Software versión 4.0 o anterior)
•JSR 37: Mobile Information Device Profile versión 1.0
(compatible en dispositivos con BlackBerry Device Software versión 4.0 o anterior)
•JSR 75: Paquetes opcionales portátiles para la plataforma J2ME (PDAP), compatibles únicamente con las API de PIM y las
API de conexión de archivos para Java ME (compatible en dispositivos con BlackBerry Device Software versión 4.2 o posterior)
•JSR 82: API de Java para Bluetooth®
•JSR 118: Mobile Information Device Profile versión 2.0
•JSR 120: Wireless Messaging API (WMA) versión 1.1
•JSR 135: Mobile Media APIs (MM API) versión 1.1
•JSR 139: Connected Limited Device Configuration versión 1.1
•JSR 172: J2ME Web Services
•JSR 177: Security and Trust Services API para J2ME (SATSA)
•JSR 179: API de ubicación para Java ME
•JSR 185: Tecnología Java para la industria inalámbrica (JTWI)
•JSR 205: Wireless Messaging API 2.0
•JSR 211: Content Handler API
•JSR 226: API de gráficos vectoriales 2D escalables para Java ME
•JSR 238: Mobile Internationalization API
Compatibilidad con las extensiones de API de Java
Los dispositivos BlackBerry® son compatibles con las siguientes API de Java® que no forman parte de las definiciones estándar
de JSR y que pueden proporcionar características y funcionalidades mayores además de las disponibles en las bibliotecas estándar
de API de MIDP.
APIDescripción
API de interfaz de usuarioPuede utilizar estas API para crear pantallas, elementos del menú y todos los
componentes de la interfaz de usuario.
API de almacenamiento de datos
constante
API de redes y E/SPuede utilizar estas API para establecer conexiones de red y leer o escribir datos
Detectores de eventosPuede utilizar Oyentes de eventos para responder al usuario del dispositivo
8
Puede utilizar estas API para almacenar los datos personalizados de forma local en
la aplicación.
en una aplicación de servidor.
BlackBerry o eventos iniciados por el sistema en un dispositivo BlackBerry.
Guía de conceptos básicos
APIDescripción
API de integración de aplicacionesPuede utilizar estas API para integrarse con el correo electrónico existente de
BlackBerry, el teléfono, el calendario, los contactos, el explorador, la cámara, el
reproductor multimedia y las aplicaciones de la lista de tareas.
Utilidades adicionalesPuede utilizar estas API adicionales para el cifrado y compresión de datos, análisis
de XML, conectividad Bluetooth®, servicios basados en ubicación, etcétera.
Soluciones BlackBerry
Soluciones BlackBerry
Los usuarios de dispositivos BlackBerry® pueden utilizar tanto BlackBerry® Enterprise Server como BlackBerry® Internet
Service, o pueden utilizar ambos en el mismo dispositivo. La comprensión de las diferencias entre BlackBerry Enterprise Server
y BlackBerry Internet Service y saber para qué tipo de usuarios tiene previsto ofrecer compatibilidad, es importante, puesto que
puede repercutir en los modos de transporte que utiliza y en cómo puede administrar la sincronización de datos.
BlackBerry Enterprise Solution
BlackBerry® Enterprise Server forma parte de BlackBerry® Enterprise Solution. BlackBerry Enterprise Server existe tras el firewall
de la empresa y proporciona una gateway inalámbrica a los usuarios del dispositivo BlackBerry en una empresa para obtener
acceso al correo electrónico de la empresa y los datos del organizador. BlackBerry Enterprise Server también ofrece las siguientes
características clave:
•cifrado de datos y compresión
•administración de dispositivos BlackBerry y utilidades de control
•abastecimiento simplificado de la aplicación
•gateway autenticada para el acceso a la intranet desde BlackBerry® Java Application
BlackBerry Internet Service
Los usuarios de dispositivos BlackBerry® que no están asociados con BlackBerry® Enterprise Server pueden utilizar BlackBerry®
Internet Service. BlackBerry Internet Service es un servicio de correo electrónico y de Internet para dispositivos BlackBerry
diseñado para proporcionar a los usuarios con entrega automática de mensajes de correo electrónico, acceso inalámbrico a
archivos adjuntos de mensajes de correo electrónico y acceso a contenidos de Internet.
BlackBerry Internet Service incorpora compatibilidad con la conectividad directa HTTP y TCP/IP a Internet desde una aplicación
de terceros BlackBerry® Java Application.
9
Guía de conceptos básicos
Soluciones BlackBerry
BlackBerry MDS
Para permitir que BlackBerry® Java Application tenga acceso a los recursos ubicados detrás del firewall de la empresa, BlackBerry®
Enterprise Server incluye BlackBerry® Mobile Data System. BlackBerry MDS proporciona proxies HTTP y TCP/IP para BlackBerry
Java Application, que permiten al dispositivo BlackBerry comunicarse con la aplicación y servidores Web tras el firewall de la
empresa sin software adicional VPN. Las aplicaciones que envían datos mediante BlackBerry Enterprise Server como gateway
pueden capitalizar la conectividad simplificada de la empresa, el cifrado de datos y la compresión, y la independencia de la red
inalámbrica que ofrece BlackBerry® Enterprise Solution. BlackBerry MDS también ofrece una interfaz abierta, permitiendo a las
aplicaciones de servidor detrás del firewall de la empresa insertar contenido en aplicaciones del dispositivo BlackBerry.
10
Guía de conceptos básicos
Diseño de BlackBerry Java Application
Diseño de BlackBerry Java Application
2
Aplicaciones independientes
Puede utilizar las API de BlackBerry® para crear aplicaciones independientes, por ejemplo, juegos y guías de referencia estáticas
que se pueden ejecutar como aplicaciones sin conexión. Puede agregar los datos de recursos necesarios a una aplicación antes
de compilarlos. Los usuarios de los dispositivos BlackBerry puede instalar la aplicación en la red inalámbrica o con BlackBerry®
Desktop Software. Una vez que la aplicación se encuentra instalada en el dispositivo BlackBerry, no es necesario conectarse a
la red inalámbrica ni al ordenador.
Aplicaciones con sincronización de escritorio
Puede utilizar las API de BlackBerry® para crear aplicaciones con capacidades de sincronización de escritorio, como guía de
referencia y aplicaciones de organizador. El usuario conecta el dispositivo BlackBerry a un ordenador para administrar y sincronizar
los datos ubicados en el ordenador.
Research In Motion® no ofrece conductos de HotSync® o cualquier otro módulo de sincronización de base de datos directo. Debe
crear un código de sincronización y el usuario del dispositivo BlackBerry debe iniciar el proceso de sincronización de datos
manualmente. Una vez que la aplicación se instala en el dispositivo BlackBerry, el usuario del dispositivo BlackBerry debe
sincronizar la información manualmente conectando su dispositivo BlackBerry al ordenador con una conexión de serie, una
conexión USB, o una conexión Bluetooth®.
Aplicaciones con acceso inalámbrico, sincronización inalámbrica o alerta
inalámbrica
Puede utilizar las API de BlackBerry® para crear aplicaciones que inserten contenido de forma proactiva a través de la red
inalámbrica en dispositivos BlackBerry en entornos que utilizan BlackBerry® Enterprise Server. Una aplicación BlackBerry® Java
Application para dispositivos BlackBerry utiliza una conexión inalámbrica a Internet o la intranet de la empresa para proporcionar
a los usuarios de dispositivos BlackBerry acceso a datos remotos y aplicaciones. BlackBerry® Java® Development Environment
proporciona API que puede utilizar en aplicaciones para establecer conexiones de red a servidores en Internet o en la intranet
de la empresa.
Aplicaciones MIDlet
El modelo de aplicaciones MIDlet forma parte de la especificación MIDP. La clase principal de una aplicación MIDlet siempre
extiende la clase MIDlet y debe utilizar métodos para startApp(), pauseApp()y destroyApp().
11
Guía de conceptos básicos
VentajasInconvenientes
Aplicaciones CLDC
•Las aplicaciones se pueden
trasladar a otros dispositivos que
sean también compatibles con la
especificación MIDP.
•Las aplicaciones pueden utilizar sólo las API de la interfaz de usuario que hay
en la biblioteca javax.microedition.lcdui .
•El modelo asume que todos los procesos de la aplicación terminan cuando se
cierra la aplicación.
•Las aplicaciones no se pueden iniciar automáticamente en segundo plano
cuando el dispositivo se enciende.
Aplicaciones CLDC
El modelo de aplicaciones CLDC es una especificación de un marco para Java® ME. Una aplicación CLDC extiende la clase
UiApplication y se inicia con un método estándar main() .
La mayor parte de las aplicaciones de muestra que incluye BlackBerry® Java® Development Environment utiliza el modelo de
aplicaciones CLDC. Todas las aplicaciones principales de BlackBerry (incluida la lista de mensajes, la lista de contactos, el
calendario y el explorador) se crean como aplicaciones CLDC.
VentajasInconvenientes
•Las API de la interfaz de usuario de
BlackBerry ofrecen más
funcionalidad y flexibilidad que la
biblioteca estándar
javax.microedition.lcdui
.
•Las aplicaciones pueden ejecutar
subprocesos activos en segundo
plano una vez se han cerrado.
•Las aplicaciones se pueden iniciar
automáticamente en segundo
plano cuando el dispositivo se
enciende.
•Las aplicaciones no se pueden trasladar a otros dispositivos.
12
Guía de conceptos básicos
VentajasInconvenientes
•Las aplicaciones pueden utilizar las
API de IPC para intercambiar
información con otras
aplicaciones.
•Los desarrolladores pueden crear
módulos de biblioteca reutilizables
que las aplicaciones CLDC pueden
importar.
Control de API y firma de código
Control de API y firma de código
Al desarrollar BlackBerry® Java Application para dispositivos BlackBerry, puede utilizar sólo las API públicas de Java publicadas
y documentadas en los documentos Javadoc™ en BlackBerry® Java® Development Environment. La máquina virtual BlackBerry®
Java® Virtual Machine del dispositivo BlackBerry está diseñada para proteger los datos subyacentes y el sistema operativo, así
que las aplicaciones no pueden llamar a API sin documentar o no compatibles ni tienen acceso a los datos que no estén expuestos
de manera explícita a través de las API. Si intenta utilizar las API de Java que no son públicas, su aplicación recibirá un mensaje
de error en tiempo de ejecución.
Las API públicas están abiertas o firmadas. Las API firmadas exponen los métodos para acceder a datos de usuario del dispositivo
BlackBerry u otra información en el dispositivo BlackBerry que se considere vulnerable. Puede utilizar API firmadas, pero debe
solicitar y recibir un conjunto de claves de firma de código de Research In Motion. Entonces deberá firmar digitalmente su
aplicación antes de instalarla en un dispositivo BlackBerry. La firma del código no certifica ni aprueba una aplicación; permite a
RIM identificar al autor de una aplicación que utilice API con distinciones en caso de que la aplicación sea malintencionada.
Para solicitar un conjunto de claves de firma de código, visite www.blackberry.com/developers/downloads/jde/api.shtml.
Recibirá su conjunto de claves de firma de código en aproximadamente 10 días.
Modelos de objetos
Si utiliza el modelo de aplicaciones MIDlet o CLDC, debe utilizar un enfoque orientado a objetos cuando diseñe su aplicación
para el dispositivo BlackBerry®. En un enfoque orientado a objetos, los desarrolladores utilizan objetos para contener el código
que sea común a un proceso o función específicos. Por ejemplo, un desarrollador puede utilizar objetos independientes para
controlar la actividad de red, el almacenamiento de datos, el procesamiento de datos y la manipulación, y la interacción de la
interfaz de usuario. Al diseñar su aplicación, comience con un buen modelo de objetos.
13
Guía de conceptos básicos
Subprocesamiento múltiple
Subprocesamiento múltiple
El sistema operativo de BlackBerry® es un sistema operativo de subprocesos múltiples, que implica que numerosas aplicaciones
y procesos se pueden ejecutar de forma activa en el dispositivo BlackBerry al mismo tiempo. Por ejemplo, las aplicaciones pueden
utilizar subprocesos en segundo plano para gestionar comunicaciones de red o tareas que requieren una gran cantidad de uso
de procesador con el fin de que no afecten al subproceso principal. Si una aplicación crea subprocesos en segundo plano y un
usuario del dispositivo BlackBerry cierra la aplicación, los subprocesos en segundo plano pueden permanecer activos.
Práctica recomendada: uso de subprocesamiento múltiple
Haga un uso efectivo de las capacidades del subprocesamiento múltiple del sistema operativo de BlackBerry®. En particular,
cree siempre un nuevo subproceso para las conexiones de red u otras operaciones más lentas (más de una décima de segundo).
Utilice subprocesos en segundo plano para los oyentes u otros procesos que se ejecuten en segundo plano cuando la aplicación
se inicia.
Prácticas recomendadas para escribir una aplicación BlackBerry Java
Application eficaz
Práctica recomendada: escritura de código eficaz
Para permitir que BlackBerry® Java® Application utilice los recursos de forma eficaz, considere las siguientes pautas:
•Utilice variables locales.
•Utilice un método de escritura abreviada para evaluar condiciones con el valor Boolean.
•Sea cuidadoso a la hora de pasar null a un constructor.
•Utilice long para identificadores únicos.
•Salga de las aplicaciones correctamente.
•Imprima el seguimiento de la pila.
Prácticas recomendadas para escribir una aplicación BlackBerry Java Application eficaz
Uso de las variables locales
Utilice las variables locales siempre que sea posible. El acceso a las variables locales es más eficaz que el acceso a los miembros
de clase.
Uso de la escritura abreviada para evaluar condiciones con el valor Boolean
Para evaluar una condición con el valor Boolean , utilice la escritura abreviada. El código compilado resultante es más corto.
Muestra de código
return( boolean_expression );
Marcar clases con el valor final
Cuando cree bibliotecas de código, debe marcar las clases con el valor final si sabe que los desarrolladores nunca las
extenderán. La presencia de la palabra clave final permite al compilador generar código más eficaz.
De forma predeterminada, el compilador BlackBerry® Java® Development Environment marca cualquier clase que no extienda
en un archivo de aplicación .cod como final.
Uso de int en lugar de long
En Java®, un valor long es una valor entero de 64 bits. Puesto que los dispositivos BlackBerry® utilizan un procesador de 32
bits, las operaciones pueden ejecutarse dos o cuatro veces más rápido si utiliza un valor int en lugar de long.
Cómo evitar la recogida de datos desechables
Evite llamar a System.gc() para realizar una operación de recogida de datos desechables ya que puede que tarde mucho
en dispositivos BlackBerry® con memoria disponible limitada. Deje que BlackBerry® Java® Virtual Machine recoja datos
desechables.
15
Guía de conceptos básicos
Prácticas recomendadas para escribir una aplicación BlackBerry Java Application eficaz
Uso de las variables estáticas para Strings
Al definir campos estáticos (también denominados campos de clase) del tipo String, puede aumentar la velocidad de la
aplicación utilizando variables estáticas (no finales) en vez de constantes (final). Lo contrario es verdad para los tipos
de datos básicos, como int.
Por ejemplo, puede crear un objeto String del siguiente modo:
private static final String x ="example";
Para esta constante estática (denotada por la palabra clave final ), cada vez que utilice la constante, se crea una instancia
temporal String . El compilador elimina "x" y la sustituye con la cadena "example" en el código de bytes, para
que BlackBerry® Java® Virtual Machine realice una búsqueda de tabla hash cada vez que haga referencia a "x" .
Por el contrario, para una variable estática (sin la palabra clave final ), String se crea una vez. BlackBerry JVM realiza la
búsqueda de tabla hash sólo cuando inicializa "x" , así que el acceso es más rápido.
private static String x = "example";
Puede utilizar las constantes públicas (es decir, los campos finales ), pero debe marcar las variables como privadas.
Cómo evitar el constructor String(String)
En BlackBerry® Java Application, cada cadena entre comillas es una instancia de la clase java.lang.String . Cree una
String sin utilizar el constructor java.lang.String(String) .
Si es probable que el contenedor contenga más de un elemento, asigne el tamaño a una variable local.
Si la orden en la que itera a través de los elementos no es importante, puede iterar en dirección opuesta para evitar variables
locales adicionales en la pila y para acelerar la comparación.
Muestra de código
int size = vector.size(); for( int i = 0; i < size; ++i ) { ... } for( int
i = vector.size() - 1; i >= 0; --i ) { ... }
Optimización de subexpresiones
Si utiliza la misma expresión dos veces, debe utilizar una variable local.
16
Guía de conceptos básicos
Muestra de código
int tmp = i+1; one( tmp ); two( tmp );
Prácticas recomendadas para escribir una aplicación BlackBerry Java Application eficaz
Optimización de operaciones de división
Las operaciones de división pueden ser lentas en los dispositivos BlackBerry® debido a que el procesador no dispone de una
instrucción de división de hardware.
Cuando el código divide un número positivo entre dos, debe utilizar, en su lugar, la teclas Mayúscula derecha entre uno
(>> 1). Utilice la teclas Mayúsculas derecha (>>) sólo cuando sepa que está trabajando con un valor positivo.
Muestra de código
int = width >> 1;
Cómo evitar java.util.Enumeration
Evite utilizar objetos java.util.Enumeration a menos que desee ocultar datos (en otras palabras, para devolver una
enumeración de datos en lugar de los mismos datos). Preguntar a un vector o tabla hash por un objeto Enumeration es lento
y crea datos desechables innecesarios. Si otro subproceso puede modificar el vector, sincronice la iteración. Java® SE utiliza un
objeto Iterator para operaciones similares, pero los objetos Iterator no están disponibles en Java® ME.
Muestra de código
for( int i = v.size() - 1; i >=0; --i ) { o = v.elementAt( i ); ... }
synchronized( v ) { for( int i = v.size() - 1; i >=0; --i ) { o = v.elementAt
( i ); ... } }
Realización de asignaciones mediante instanceof
Utilice instanceof para valorar si una asignación es o no satisfactoria.
Muestra de código
if( x instanceof String ) { (String)x.whatever(); } else { ... } x
Evaluación de las condiciones mediante instanceof
Para generar un código más pequeño y más rápido, si evalúa una condición mediante instanceof, no debe evaluar
explícitamente si la variable es null.
Muestra de código
if( e instanceof ExampleClass ) { ... } if( ! ( e instanceof ExampleClass ) )
{ ... }
17
Guía de conceptos básicos
Prácticas recomendadas para escribir una aplicación BlackBerry Java Application eficaz
Cómo evitar StringBuffer.append (StringBuffer)
Para incluir un búfer String en otro, BlackBerry® Java Application debe utilizar
net.rim.device.api.util.StringUtilities.append
( StringBuffer dst, StringBuffer src[, int offset, int length ] ).
Si escribe un método público que devuelve un objeto, el método debe devolver un valor null sólo bajo las siguientes condiciones:
•La aplicación espera que ocurra un valor null durante el funcionamiento normal de la aplicación.
•El parámetro Javadoc™ @return del método establece que null es un valor de devolución posible.
Si la aplicación no espera un valor de devolución null, el método debe mostrar una excepción apropiada, que fuerce a la persona
que llama en el método a tratar específicamente el problema. Puede que la persona que llama no necesite comprobar la existencia
de un valor de devolución null a menos que la persona que llama en el método muestre una excepción del valor null.
Cómo evitar pasar un valor null a los métodos
No pase parámetros null a un método de API a menos que los estados de referencia API indiquen explícitamente que el método
es compatible con ellos.
Precaución al pasar un valor null a un constructor
Para evitar ambigüedades al pasar un valor null a un constructor, asigne el valor null al objeto correspondiente.
Si una clase tiene dos o más constructores, el pasar un parámetro null puede que no identifique de forma única qué constructor
utilizar. Como resultado, el compilador comunica un error.
Al asignar valores null a los objetos apropiados, debe indicar de forma precisa qué constructor debe utilizar el compilador. Esta
práctica también proporciona compatibilidad si versiones posteriores de la API agregan nuevos constructores.
Muestra de código
new someObject ((someObject)null );
18
Guía de conceptos básicos
Prácticas recomendadas para escribir una aplicación BlackBerry Java Application eficaz
Uso de long como identificadores únicos
Utilice un identificador long en lugar de un identificador String para constantes únicas, como GUID, claves de tabla hash
e identificadores de estado o contexto.
Para que los identificadores sean únicos a lo largo de la BlackBerry® Java Application, utilice claves que genera la aplicación
según un valor hash de String. En la entrada String, incluya la suficiente información para que el identificador sea único.
Por ejemplo, utilice un nombre de paquete completo como com.rim.samples.docs.helloworld.
Salida de las aplicaciones correctamente
Antes de invocar System.exit(int status), lleve a cabo una limpieza, elimine los objetos del almacén en tiempo de
ejecución que las aplicaciones ya no necesiten.
Impresión del seguimiento de pila
Al depurar una aplicación, para ver el seguimiento de pila, utilice una instancia Throwable .
Muestra de código
catch (Throwable t) { t.printStackTrace(); }
Práctica recomendada: uso apropiado de los objetos
Para permitir que BlackBerry® Java Application utilice eficazmente los recursos de la memoria, considere las siguientes preguntas:
•Dado el tamaño de una aplicación, ¿son necesarios todos los objetos?
•¿Puede la aplicación almacenar cualquier objeto que represente valores básicos, como Long, Integery Boolean,
como valores básicos y no como objetos?
•¿Son necesarios todos los objetos constantes?
•¿Existe cualquier instancia de Vector y Hashtable ? ¿Son estas instancias necesarias? Si es así, ¿cuántos
identificadores de objetos no se utilizan en Vector o bien, Hashtable porque el tamaño inicial es mayor del
necesario?
•¿Cuántos objetos crea su aplicación y desecha más tarde? En otras palabras, ¿cuántos
objetos de ámbito específico crea su aplicación?
Práctica recomendada: reducción del tamaño del código compilado
Para reducir el tamaño del código compilado, considere las siguientes pautas:
•Configure un acceso apropiado.
19
Guía de conceptos básicos
•Evite la creación de interfaces.
•Utilice clases internas estáticas.
•Evite la inicialización innecesaria de campos.
•Importe las clases individuales.
Prácticas recomendadas para escribir una aplicación BlackBerry Java Application eficaz
Configuración de un acceso apropiado
Al crear bibliotecas de código, puede reducir significativamente el tamaño del código compilado utilizando los modificadores de
acceso apropiados para campos y métodos. Defina campos como privados siempre que sea posible. Además de ser una excelente
práctica de codificación, esto permite al compilador optimizar el archivo .cod. Siempre que sea posible, utilice el acceso
predeterminado (paquete) en lugar del acceso público (es decir, omita las palabras clave público y protegido ).
Creación sin interfaces
Al crear bibliotecas de API, evite crear interfaces a menos que tenga previsto realizar múltiples implementaciones de la API. Las
interfaces generan código más grande y lento.
Uso de las clases internas estáticas
Al utilizar una clase interna para ocultar una clase dentro de otra, y si la clase interna no hace referencia al objeto de la clase
externa, marque la clase interna como estática. Esta acción evita la creación de una referencia a la clase externa.
Si utiliza una clase interna para la identificación de nombres, márquela como estática.
Muestra de código
class outer { static class inner { ... } }
Cómo evitar la inicialización de campos innecesaria
Siempre que sea posible, permita que los campos se inicialicen automáticamente de la siguiente manera:
•las referencias de objetos se inicializan como null
•int, byte, o long se inicializa como 0
•Boolean se inicializa como false
Debe inicializar explícitamente las variables locales en un método.
Muestra de código
class BetterExample { private int fieldsCount; private Field _fieldWithFocus;
private boolean _validLayout; private boolean _validLayout; }
20
Guía de conceptos básicos
Compatibilidad de varios idiomas
Importación de clases individuales
Una aplicación BlackBerry® Java Application que utiliza sólo un pequeño número de clases de un paquete sólo debe importar
las clases individuales.
Muestra de código
import net.rim.blackberry.api.browser.Browser;
Compatibilidad de varios idiomas
BlackBerry® Integrated Development Environment incluye un mecanismo de recursos para crear recursos de cadena. La API de
localización forma parte del paquete net.rim.device.api.i18n . Las aplicaciones MIDP no son compatibles con la
localización.
BlackBerry Integrated Development Environment almacena recursos para una configuración regional en un objeto
ResourceBundle . El objeto ResourceBundleFamily contiene una recopilación de ResourceBundles, que
agrupa los recursos para una aplicación. La aplicación puede cambiar los idiomas, dependiendo de la configuración regional del
usuario del dispositivo BlackBerry, sin requerir nuevos paquetes de recursos.
Puede utilizar BlackBerry Integrated Development Environment para compilar cada paquete de recursos en un archivo .cod
compilado independientemente. Puede cargar los archivos .cod apropiados en los dispositivos BlackBerry con los otros
archivos .cod de la aplicación.
Los recursos se organizan según una jerarquía basada en la capacidad heredable. Si una cadena no está definida en una
configuración regional, se utiliza una cadena de la configuración regional siguiente más cercana.
Práctica recomendada: almacenamiento de cadenas de texto en archivos de recursos
En lugar de utilizar texto en código fuente, diseñe aplicaciones para utilizar los archivos de recursos para la localización (adáptelas
a los idiomas o regiones específicas).
Considere las siguientes directrices:
•Almacene las cadenas de texto para cada configuración regional en un solo archivo de recursos.
•En el código fuente, utilice identificadores únicos para utilizar los archivos de recursos apropiados.
•Diseñe la aplicación para recuperar dinámicamente el archivo de recursos apropiado para mostrarlo al usuario del dispositivo
BlackBerry® según la configuración regional del usuario del dispositivo BlackBerry.
21
Guía de conceptos básicos
Compatibilidad multimedia
Compatibilidad multimedia
Compatibilidad de audio
Puede crear una aplicación BlackBerry® Java Application que funcione con los formatos de audio compatibles con el dispositivo
BlackBerry. El tipo de formato de audio que es compatible con un dispositivo BlackBerry depende del número de modelo del
dispositivo BlackBerry.
Para obtener más información sobre la compatibilidad de audio en un dispositivo BlackBerry, visite www.blackberry.com/
developers.
Compatibilidad con imágenes
En un dispositivo BlackBerry® que tenga cámara, cuando un usuario de dispositivo BlackBerry toma una fotografía, el dispositivo
BlackBerry almacena la imagen en el sistema de archivos del dispositivo. BlackBerry® Java Application puede tener acceso a las
imágenes utilizando la API de conexión de archivo para Java ME disponible en la versión 4.2 o superior de BlackBerry® Java®
Development Environment. BlackBerry Java Application puede invocar la aplicación de cámara y escuchar eventos cuando las
imágenes se agreguen al sistema de archivos.
Compatibilidad de vídeo
Puede crear una aplicación BlackBerry® Java Application que muestre imágenes y que utilice las clases API de gráfico para
trabajar con contenido multimedia para reproducir un archivo de vídeo en dispositivos BlackBerry que incluyen un reproductor
multimedia integrado.
22
Guía de conceptos básicos
Interfaz de usuario y diseño de navegación
Interfaz de usuario y diseño de navegación
3
Escritura y navegación del usuario de dispositivos BlackBerry
Los dispositivos BlackBerry® incluyen un teclado, una rueda o bola de desplazamiento y una tecla Escape para la escritura y
navegación. La tecla Escape proporciona una manera sencilla a los usuarios de dispositivos BlackBerry para retroceder a la
pantalla anterior o eliminar un menú o cuadro de diálogo de la pantalla.
BlackBerry® Java Application para dispositivos BlackBerry debe seguir el siguiente modelo de escritura y navegación en la medida
de lo posible.
•Al hacer clic en la rueda o bola de desplazamiento se invoca normalmente un menú.
•Pulsar la tecla Escape cambia la pantalla a la pantalla anterior o cierra la aplicación en la pantalla principal.
De forma predeterminada, los objetos de pantalla de BlackBerry ofrecen esta funcionalidad sin personalización; sin embargo,
debe agregar elementos del menú, así como una interfaz de usuario adicional y lógica de navegación.
Rueda de desplazamiento frente a bola de desplazamiento
Sensibilidad de la bola de desplazamiento
La sensibilidad de la bola de desplazamiento se refiere a cuánto movimiento la bola necesita para que el sistema identifique el
movimiento como un evento de navegación y para distribuir un evento de navegación en la capa de software. El hardware del
dispositivo BlackBerry® mide el movimiento físico de la bola de desplazamiento mediante unidades denominadas tics. Si el
número de tics a lo largo de un eje supera el umbral del sistema o de una aplicación BlackBerry® Java Application, se distribuye
un evento de navegación a lo largo de ese eje en la capa del software y el sistema restablece el recuento de tics en cero. Los
recuentos de tics también se restablecen en cero una vez se supera cierto tiempo de inactividad.
Puede utilizar la API de la bola de desplazamiento para establecer la sensibilidad de la bola de desplazamiento. Una sensibilidad
alta de la bola de desplazamiento equivale a un umbral de tics más pequeño, lo que significa que pequeños movimientos de la
bola de desplazamiento activarán eventos de navegación. Por el contrario, una sensibilidad baja de la bola de desplazamiento
equivale a un umbral mayor de tics, lo cual significa que son necesarios movimientos más grande de la bola de desplazamiento
para generar eventos de navegación.
Desplazamiento de la bola de desplazamiento
Puede utilizar la API de la bola de desplazamiento para filtrar los datos de los movimientos de la bola que el hardware del
dispositivo BlackBerry® envía a la capa del software. La API de la bola de desplazamiento puede filtrar el "ruido del
movimiento" o los movimientos no deseados.
23
Guía de conceptos básicos
Puede utilizar también la API de la bola de desplazamiento para cambiar configuraciones como la aceleración del movimiento
de la bola de desplazamiento. El aumento de la configuración de la aceleración del movimiento de la bola de desplazamiento
puede hacer que la capa de software detecte que los movimientos de la bola se mueven a una velocidad mayor que la velocidad
detectada por el hardware del dispositivo BlackBerry, siempre que el usuario desplace continuamente la bola de desplazamiento.
La sensibilidad de la bola de desplazamiento aumenta temporalmente a medida que el usuario desplaza la bola sin detenerse.
Creación de una interfaz de usuario que sea coherente con las interfaces de usuario estándar de BlackBerry
Rueda de desplazamiento
Los dispositivos BlackBerry® anteriores a BlackBerry® Pearl™ 8100 Series no incluyen una bola de desplazamiento. En su lugar,
incluyen una rueda de desplazamiento en el lado derecho del dispositivo. La rueda de desplazamiento constituye el control
principal para la navegación del usuario.
Los usuarios pueden
•desplazar la rueda de desplazamiento para mover el cursor verticalmente
•desplazar la rueda de desplazamiento mientras pulsan la tecla Alt para mover el cursor horizontalmente
•hacer clic en la rueda de desplazamiento para seleccionar objetos o abrir el menú
Directrices
•Familiarícese con los modelos de navegación con rueda de desplazamiento y con bola de desplazamiento y compruebe que
la aplicación funciona bien con ambos.
Creación de una interfaz de usuario que sea coherente con las interfaces de
usuario estándar de BlackBerry
Puede utilizar las API estándar de MIDP y las API de la interfaz de usuario de BlackBerry® para crear interfaces de usuario de
BlackBerry® Java Application.
Las API de la interfaz de usuario de BlackBerry son una biblioteca de componentes de interfaz de usuario diseñados para ofrecer
diseños y comportamientos predeterminados que son coherentes con las aplicaciones principales del dispositivo BlackBerry.
•Los componentes de pantalla ofrecen un diseño estándar de pantalla, un menú predeterminado y un comportamiento
estándar cuando el usuario del dispositivo BlackBerry pulsa la tecla Escape o hace clic en la rueda o bola de desplazamiento.
•Los componentes de Campo proporcionan elementos de interfaz de usuario estándar para la selección de fechas, opciones,
casillas de verificación, listas, campos de texto, etiquetas y controles de la barra de progreso.
•Los administradores de diseño ofrecen una aplicación con la capacidad de distribuir componentes en una pantalla de
dispositivo BlackBerry de forma estándar, tanto horizontalmente como verticalmente, o en un eje izquierda a derecha.
Puede utilizar las API de la interfaz de usuario de BlackBerry para crear interfaces de usuario que incluyan tablas, cuadrícula y
otras características especializadas. BlackBerry Java Development Environment utiliza un modelo de eventos estándar de Java
para recibir y responder a tipos específicos de eventos. Las aplicaciones pueden recibir y responder a eventos de usuarios de
24
Guía de conceptos básicos
Creación de una interfaz de usuario que sea coherente con las interfaces de usuario estándar de BlackBerry
dispositivos BlackBerry, como cuando el usuario del dispositivo BlackBerry hace clic en la rueda o bola de desplazamiento, o
escribe en el teclado y en los eventos del sistema, por ejemplo, alertas globales, cambios del reloj en tiempo real y conexiones
de puerto USB.
25
Guía de conceptos básicos
Gestión de memoria
Gestión de memoria
4
Gestión de memoria
BlackBerry® Java® Virtual Machine administra el uso de la memoria en el dispositivo BlackBerry. BlackBerry JVM asigna la
memoria, realiza la recogida de datos desechables e intercambia automáticamente los datos entre la memoria SRAM y la memoria
flash. BlackBerry JVM también debe compartir la memoria disponible entre las aplicaciones del dispositivo BlackBerry y
BlackBerry® Java Application. Las capacidades de la memoria representan la cantidad total de memoria disponible, que es más
grande que la memoria de trabajo disponible cuando todas las aplicaciones y los datos de la aplicación asociados existen en el
dispositivo BlackBerry.
Memoria del dispositivo BlackBerry
Los dispositivos BlackBerry® incluyen los siguientes tipos de la memoria:
MemoriaDescripción
flashEl sistema operativo BlackBerry y todos los módulos de aplicaciones se almacenan
permanentemente en la memoria flash. Cuando el usuario del dispositivo BlackBerry
activa el dispositivo, el sistema operativo principal y los módulos de BlackBerry®
Java Application utilizan aproximadamente de 10 MB a 15 MB de memoria flash,
dependiendo de la versión. La memoria flash puede almacenar los mensajes de
correo electrónico del usuario del dispositivo BlackBerry, los datos del organizador
y cualquier otra información personal, así como los datos que BlackBerry Java
Application almacena en la memoria.
SRAMSRAM controla los objetos de datos provisionales y los procesos en tiempo de
ejecución.
tarjeta de memoria extensible microSDLa tarjeta microSD almacena archivos multimedia, documentos y datos constantes
de BlackBerry Java Application.
Recursos claves para reservar
•Memoria flash: el espacio de almacenamiento constante disponible en el dispositivo BlackBerry® es una cantidad fija de
memoria flash, normalmente de 8 MB a 64 MB.
26
Guía de conceptos básicos
•Identificadores de objetos constantes: los identificadores asignados a cada objeto constante son consumidos únicamente
por objetos constantes. La cantidad de memoria flash en el dispositivo BlackBerry determina el número fijo de identificadores
de objetos constantes en el sistema.
•Identificadores de objeto: cada objeto y matriz de elementos básicos tienen un procesamiento de objetos asociados. La
cantidad de memoria flash en el dispositivo BlackBerry determina el número fijo de identificadores de objetos en el sistema.
Gestión de una disponibilidad de memoria baja
Práctica recomendada: reducción del uso de la memoria
Para reducir la memoria en tiempo de ejecución, considere las siguientes pautas:
•Utilice los tipos básicos (como int o bien, Boolean) en vez de objetos (como String o bien, Integer).
•No dependa enteramente del recolector de datos desechables.
•Evite crear muchos objetos rápidamente.
•Configure las referencias a objetos en null cuando termine de utilizarlas.
•Vuelva a utilizar objetos tantas veces como sea posible.
•Traslade el procesamiento más complicado al servidor. Por ejemplo, puede filtrar o clasificar los datos antes de enviarlos al
dispositivo BlackBerry®.
Gestión de una disponibilidad de memoria baja
El administrador de memoria baja gestiona los recursos de memoria en el dispositivo BlackBerry® cuando los recursos de memoria
disponibles caen por debajo de un determinado umbral. El administrador de memoria baja intenta liberar memoria utilizada para
proporcionar más memoria disponible en el dispositivo BlackBerry. Todas las aplicaciones, incluidas BlackBerry® Java
Application, deben funcionar con el administrador de memoria baja para liberar tanta memoria como sea posible cuando el
dispositivo BlackBerry está bajo de recursos de memoria.
Identificación de una disponibilidad baja de memoria en un dispositivo BlackBerry
Las siguientes condiciones pueden provocar que el administrador de memoria baja intente liberar recursos de memoria:
•La cantidad de memoria flash disponible en el dispositivo BlackBerry® cae por debajo de un determinado umbral. El umbral
de la memoria flash depende de la cantidad de RAM libre en el sistema. El umbral de la memoria flash varía entre 400 KB
y 800 KB.
•El número de identificadores de objetos constantes disponibles en el dispositivo BlackBerry cae por debajo de 1.000.
•El número de identificadores de objetos disponibles en el dispositivo BlackBerry cae por debajo de 1.000.
27
Guía de conceptos básicos
Conservación de recursos
Conservación de recursos
Práctica recomendada: uso de una selección de estructura de datos eficaz
La selección de la estructura de datos define cuántos identificadores de objetos y cuánta memoria flash consume BlackBerry®
Java Application. Una selección incorrecta de la estructura de datos puede consumir recursos clave sin mejorar la funcionalidad
de BlackBerry Java Application o la experiencia de usuario de dispositivos BlackBerry.
Considere las siguientes directrices:
•La estructura de datos debe contener el mínimo número posible de objetos, especialmente cuando utiliza objetos de alto
nivel como un Vector o un Hashtable. Estas clases ofrecen una funcionalidad considerable pero no constituyen
mecanismos eficaces de almacenamiento y debe evitar utilizarlos en el almacén constante si es posible.
•Siempre que sea posible, utilice valores básicos de los objetos, ya que éstos reducen el número de los identificadores de
objetos consumidos en el dispositivo BlackBerry. Una matriz de valores básicos es un objeto y consume un identificador de
objetos.
•los objetos String son tan eficaces como las matrices de bytes. Un objeto String consume sólo un identificador de
objetos y es equivalente si su aplicación almacena todos los caracteres como un byte. En otras palabras, el valor de cada
carácter es menor que o igual al valor decimal de 255. Si la aplicación no puede almacenar caracteres como un byte, puede
almacenar los caracteres como un objeto String porque equivale a almacenar una matriz de caracteres .
Práctica recomendada: consolidación de objetos en grupos de objetos
Uno de los errores más comunes con los que se encuentran los desarrolladores de aplicaciones es el agotamiento de los
identificadores de objetos constantes. La cantidad de memoria flash en el dispositivo BlackBerry® determina el número fijo de
los identificadores de objetos constantes que están disponibles en el sistema. Dependiendo de la selección de la estructura de
datos, los registros almacenados pueden agotar rápidamente el número de identificadores de objetos constantes. Un objeto
constante consume un identificador de objetos constante y un identificador de objetos. Un objeto provisional consume sólo un
identificador de objetos.
Por ejemplo, un registro que contenga diez campos String , que representa elementos como un nombre, un número de teléfono
y una dirección, consume 11 identificadores de objetos constantes, uno para el objeto registrado y otro para cada String. Si
BlackBerry® Java Application contiene 3.000 registros, la aplicación consume 33.000 identificadores de objetos constantes, lo
cual excede el número de identificadores de objetos constantes disponibles en un dispositivo BlackBerry con 16 MB de memoria
flash.
Puede utilizar la clase net.rim.device.api.system.ObjectGroup para consolidar los identificadores de objetos
para un objeto en un grupo. Utilizando el ejemplo del párrafo anterior, si agrupa el registro, éste consume un identificador de
objetos constate en vez de 11. Los identificadores de objetos para los campos String se consolidan bajo el identificador de
objetos registrado.
28
Guía de conceptos básicos
Cuando consolida los identificadores de objetos en un grupo, el identificador de objetos es de sólo lectura. Debe desagrupar el
objeto antes de poder cambiarlo. Una vez realice los cambios, agrupe de nuevo el objeto. Si intenta cambiar un objeto agrupado
sin agruparlo en primer lugar, se genera una excepción ObjectGroupReadOnlyException .
Desagrupar un objeto tiene un impacto en el rendimiento. El sistema crea una copia del objeto agrupado y asigna identificadores
a cada uno de los objetos dentro de ese grupo. Por lo tanto, los objetos sólo deben desagruparse cuando sea estrictamente
necesario.
Recogida de datos desechables en un dispositivo BlackBerry
Recogida de datos desechables en un dispositivo BlackBerry
Recogida de datos desechables de la RAM en un dispositivo BlackBerry
BlackBerry® Java® Virtual Machine inicia una operación de recogida de datos desechables de la RAM sólo cuando BlackBerry
JVM no puede asignar un objeto debido a falta de espacio en la RAM. La operación de recogida de datos desechables tarda
normalmente entre 500 y 600 milisegundos en ejecutarse. La operación de recogida de datos desechables elimina cualquier
variable recién asignada a la que la RAM no haga referencia. Para asegurarse de que la falta de una referencia en la RAM es una
condición suficiente para eliminar el objeto, la operación de recogida de datos desechables de la RAM sólo se puede realizar
cuándo los objetos no se localicen en la memoria flash.
Recogida de datos desechables en un dispositivo BlackBerry
La operación completa de recogida de datos desechables se ejecuta durante 1 segundo como media y debe tardar menos de 2
segundos en terminar. La operación completa de recogida de datos desechables realiza las siguientes acciones:
•Realiza una operación de recogida de datos desechables de la RAM.
•Marca objetos en la memoria flash a los que ya no se hace referencia o que ya no existen.
•Genera identificadores de objetos no constantes en la RAM y la memoria flash.
El sistema puede iniciar una operación completa de recogida de datos desechables en las siguientes situaciones:
•BlackBerry® Java® Virtual Machine no puede asignar un objeto por una falta de espacio disponible en la RAM.
•Un proceso está a punto de exceder el tamaño de la pila actualmente asignado.
•BlackBerry JVM no puede asignar un objeto nuevo porque los identificadores de objetos no están disponibles.
•El dispositivo BlackBerry está inactivo.
Recogida de datos desechables inactiva en un dispositivo BlackBerry
La recogida de datos desechables no se produce cada vez que el dispositivo BlackBerry® pasa a estado inactivo. Esto ocurre
solamente cuando el sistema considera que una operación de recogida de datos desechables puede ser beneficiosa para el
rendimiento óptimo de sistema y un rendimiento maximizado de la batería.
29
Guía de conceptos básicos
Recogida de datos desechables en un dispositivo BlackBerry
Para mejorar el rendimiento sin afectar a la experiencia de usuario del dispositivo BlackBerry, el sistema intenta realizar las
siguientes operaciones de recogida de datos desechables cuando el dispositivo BlackBerry pasa a estado inactivo:
•Se puede producir una operación completa de recogida de datos desechables cuando el dispositivo BlackBerry pasa a estado
inactivo durante un período relativamente pequeño de tiempo.
•Se puede producir una operación exhaustiva de recogida de datos desechables cuando el dispositivo BlackBerry pasa a
estado inactivo durante un período significativo de tiempo.
30
Guía de conceptos básicos
Administración de datos
Administración de datos
El dispositivo BlackBerry® ofrece API para almacenar datos en la memoria constante del dispositivo BlackBerry. Las API del
almacén constante de BlackBerry y las API RMS de MIDP (compatibilidad con JSR 37 y JSR 118) están disponible en todos los
dispositivos BlackBerry basados en Java®. Un dispositivo BlackBerry que ejecuta BlackBerry® Device Software versión 4.2 o
posterior ofrece un sistema de archivos tradicional y compatibilidad para guardar el contenido directamente en el sistema de
archivos mediante las API de JSR 75. Tanto con las API del almacén constante de BlackBerry como las API RMS de MIDP, puede
almacenar los datos de forma constante en la memoria flash. Los datos persisten incluso si retira la batería del dispositivo
BlackBerry.
5
Compatibilidad con las API para almacenar datos en la memoria constante
API del almacén constante
Las API del almacén constante de BlackBerry® se han diseñado para proporcionar una interfaz de almacenamiento de datos
flexible y sólida. Con las API del almacén constante de BlackBerry, puede guardar objetos completos de Java® en la memoria sin
tener que serializar los datos en primer lugar. Al iniciar la aplicación, puede recuperar el objeto de Java de la memoria y procesar
la información. No existe ningún límite de tamaño en el almacén constante; sin embargo, el límite de un objeto individual dentro
del almacén es de 64 KB.
Las API del almacén constante de BlackBerry no ofrecen un modelo de base de datos relacional. Debe crear un modelo de objetos
efectivo y administrar las relaciones entre objetos, tal como sea necesario, mediante índices y tablas hash.
API del sistema de administración de registros MIDP
Las API de RMS proporcionan un sistema de administración de registros sencillo que le permite crear un objeto de almacén de
datos y mantener una serie de registros en ese objeto. Cada registro es una matriz de bytes, por lo que debe serializar en primer
lugar sus datos en un formato de matriz de bytes antes de almacenarlos de forma local. Las API de RMS no ofrecen ningún índice
o relación inherente entre los registros. El límite de tamaño para un único almacén de datos de RMS es de un máximo de 64 KB.
Una aplicación puede crear múltiples almacenes de datos de RMS para mantener cantidades más grande de datos. Las API de
RMS forman parte de la especificación estándar MIDP, así que todos los dispositivos que sean compatibles con MIDP también
lo son con las API de RMS.
API de conexiones de archivo
La API de conexión de archivo ofrece un sistema de archivos tradicional y la compatibilidad para guardar los datos directamente
en el sistema de archivos en el dispositivo BlackBerry® o en una tarjeta microSD. Puede ver los datos en el sistema de archivos
y mover los datos a un ordenador mediante Windows®.
31
Guía de conceptos básicos
Almacenamiento en medios extraíbles
Almacenamiento en medios extraíbles
Acceso a los datos en la tarjeta multimedia microSD
El paquete javax.microedition.io.file es compatible con las API de conexión de archivos JSR 75 y se utiliza en
aplicaciones para obtener acceso al sistema de archivos para la tarjeta multimedia microSD. También puede implementar la
interfaz FileConnection para obtener acceso a tonos de llamada e imágenes de la cámara del dispositivo BlackBerry®.
Clase o interfazDescripción
ConnectionClosedException
FileConnection
FileSystemListener
FileSystemRegistry
IllegalModeException
Esta excepción se produce cuando una aplicación invoca un método en una
conexión de archivos cerrada.
Una aplicación puede utilizar esta API para obtener acceso a los archivos o
directorios.
Una aplicación puede utilizar esta API para recibir notificaciones de estado cuando
la aplicación agrega o elimina una raíz del sistema de archivos.
Una aplicación puede utilizar esta API como registro central para oyentes del
sistema de archivos que reciben la adición o eliminación de los sistemas de archivos.
Esta excepción se produce cuando un método requiere un modo de seguridad
específico (por ejemplo, LECTURA o ESCRITURA) y la conexión abierta no se
encuentra en ese modo.
Copia de seguridad y sincronización de los datos
BlackBerry® Desktop Manager ofrece una herramienta de copia de seguridad y restauración que el usuario del dispositivo
BlackBerry puede utilizar para guardar datos del dispositivo en un archivo en el ordenador y para restaurar los datos en el
dispositivo BlackBerry.
Si una aplicación utiliza la API de sincronización, BlackBerry Desktop Manager puede realizar copias de seguridad y restaurar la
base de datos de la aplicación a la vez que otras bases de datos del dispositivo BlackBerry. Puede utilizar la API de sincronización
para crear archivos de datos o para rellenar las bases de datos de la aplicación la primera vez que el dispositivo BlackBerry se
conecta al ordenador del usuario del dispositivo BlackBerry.
32
Guía de conceptos básicos
Copia de seguridad y sincronización de los datos
Para sincronizar los datos en fuentes de datos remotas, debe integrar la lógica de sincronización en BlackBerry Java®
Application. La mayoría de las aplicaciones envían los datos a una aplicación de servidor que utiliza protocolos estándar HTTP o
TCP/IP a través de la red inalámbrica e Internet o la intranet de la empresa. Puede utilizar las API XML para generar y analizar
los datos con formato XML para enviar y recibir a través de la red inalámbrica. Sin embargo, las aplicaciones de cliente y servidor
deben leer y escribir los datos adecuadamente y reconocer una transmisión satisfactoria.
BlackBerry Java Application se puede conectar a una aplicación basada en el ordenador para enviar los datos a través de una
conexión USB mediante las API de BlackBerry Desktop Synchronization y BlackBerry Desktop Manager. En este caso, debe crear
una aplicación para Windows® que pueda leer los datos del cliente a través de una tarea complementaria para BlackBerry Desktop
Manager. El usuario del dispositivo BlackBerry debe ejecutar manualmente la sincronización ejecutando el complemento
BlackBerry Desktop Manager, que notifica a la aplicación acerca del dispositivo BlackBerry para enviar datos a la aplicación del
ordenador. También puede escribir los datos en la aplicación del ordenador utilizando los protocolos USB originales.
33
Guía de conceptos básicos
Transporte inalámbrico de datos
Transporte inalámbrico de datos
6
Gateways inalámbricas
Las aplicaciones Java® para dispositivos BlackBerry®® pueden utilizar protocolos de socket estándar HTTP, HTTPS y TCP para
establecer conexiones a través de la red inalámbrica. Cuando una aplicación establece una conexión a través de la red inalámbrica,
puede utilizar una de las dos gateways inalámbricas para delegar la conexión a Internet o a la intranet de la empresa. Puede
diseñar la aplicación para que dependa de una gateway predeterminada que está disponible para el usuario del dispositivo
BlackBerry, o puede personalizar el código para seleccionar una gateway preferida. Diseñe su aplicación para que seleccione
explícitamente la gateway preferida para la conexión y utilice la predeterminada si el método preferido no está disponible. Esto
podría reducir el número de los problemas de conexión de red al que se enfrentan sus clientes y permita a su aplicación utilizar
un modelo de conectividad eficaz a través de todos los tipos de red y operadores inalámbricos.
Uso de BlackBerry Enterprise Server como gateway de red
Si utiliza BlackBerry® Enterprise Server como gateway de red, todo el tráfico entre la aplicación y BlackBerry Enterprise Server
se cifra utilizando el cifrado AES o Triple DES. Puesto que BlackBerry Enterprise Server se encuentra tras el firewall de la empresa
y ofrece un cifrado de datos inherente, las aplicaciones se pueden comunicar con servidores de la aplicación y con servidores
Web que se ubican en la intranet de la empresa. El componente de BlackBerry® Mobile Data System de BlackBerry Enterprise
Server incluye BlackBerry MDS Services, que ofrece un servidor proxy HTTP y TCP/IP proxy para permitir que BlackBerry® Java®
Application lo utilice como gateway segura para administrar conexiones HTTP y TCP/IP a la intranet.
Si la aplicación se conecta a Internet, puede que sea capaz de utilizar BlackBerry Enterprise Server como gateway. Las solicitudes
de red viajan tras el firewall de la empresa hacia BlackBerry Enterprise Server, que realiza la solicitud de red a Internet a través
del firewall de la empresa. Los administradores pueden establecer una política de TI para asegurarse de que BlackBerry Enterprise
Server es la gateway para todo el tráfico de red inalámbrica, incluido el tráfico destinado a Internet.
Si la aplicación se conecta a Internet, también puede utilizar o BlackBerry® Internet Service o la gateway de Internet del proveedor
del servidor inalámbrico para administrar las conexiones.
Uso de la gateway a Internet del proveedor de servicios inalámbricos
Muchos proveedores de servicios inalámbricos facilitan una gateway a Internet que ofrece conectividad TCP/IP directa a Internet.
Algunos proveedores de servicios inalámbricos también proporcionan una gateway WAP que permite que las conexiones HTTP
se produzcan mediante el protocolo WAP. BlackBerry® Java® Application puede utilizar cualquiera de estas gateways para
conectarse a Internet. Si la aplicación es para usuarios de dispositivos BlackBerry que están en una red inalámbrica específica,
la utilización de la gateway a Internet del proveedor de servicios inalámbricos, a menudo, puede ofrecer buenos resultados. Si la
aplicación es para usuarios de dispositivos BlackBerry en una variedad de redes inalámbricas, probar la aplicación en las distintas
34
Guía de conceptos básicos
gateways a Internet y lograr una experiencia constante y segura puede suponer un reto. Puede que le sea útil el uso de BlackBerry®
Internet Service y de la gateway a Internet del proveedor de servicios inalámbricos como tipo de conexión predeterminada si
BlackBerry Internet Service no está disponible.
Opciones de transporte de datos alternativas
Opciones de transporte de datos alternativas
Uso del correo electrónico para transportar datos
Puede utilizar las API de BlackBerry® para crear una aplicación BlackBerry® Java® Application que utilice el correo electrónico
como mecanismo de transporte para enviar y recibir datos. El correo electrónico puede ser una manera efectiva de distribuir
contenido de forma proactiva a los usuarios de dispositivos BlackBerry si los modelos de inserción tradicionales no están
disponibles. BlackBerry Java Application puede utilizar las API de BlackBerry para enviar mensajes de correo electrónico y escuchar
mensajes de correo electrónico entrantes. BlackBerry Java Application también puede obtener acceso a los detalles y encabezados
de mensajes de correo electrónico que se almacenan de forma local en el dispositivo BlackBerry, así como registrar oyentes para
los cambios en el estado de un mensaje de correo electrónico.
Uso de SMS para transportar datos
Puede utilizar las API de BlackBerry® para crear aplicaciones que utilicen SMS como mecanismo de transporte para enviar y
recibir datos. Las API de BlackBerry permiten a una aplicación enviar mensajes SMS y escuchar mensajes SMS entrantes.
Uso de la mensajería PIN para transportar datos
La mensajería PIN utiliza el canal de datos en lugar del canal de voz y le permite dirigirse al dispositivo BlackBerry® de destino
con su número PIN único. La mensajería PIN sólo se puede utilizar para enviar datos desde un dispositivo BlackBerry a otro. Las
API de BlackBerry también pueden permitir a una aplicación enviar y recibir mensajes PIN de BlackBerry de forma programada.
La mensajería PIN puede ser una manera efectiva de implementar las aplicaciones PIN dirigidas únicamente a usuarios de
dispositivos BlackBerry.
35
Guía de conceptos básicos
Integración de aplicaciones BlackBerry
Integración de aplicaciones BlackBerry
7
Adición de elementos de menú personalizados
BlackBerry® Java® Application puede agregar elementos de menú personalizados al menú en el dispositivo BlackBerry para el
correo electrónico, el organizador y las aplicaciones de teléfono. Cuando un usuario de dispositivo BlackBerry selecciona un
elemento de menú personalizado, BlackBerry Java Application se inicia con una referencia al objeto que selecciona el usuario
del dispositivo BlackBerry. Por ejemplo, BlackBerry Java Application puede agregar un elemento de menú denominado Mostrar
ubicación del remitente a la aplicación de correo electrónico. Si el usuario del dispositivo BlackBerry selecciona el elemento del
menú, BlackBerry Java Application se inicia con una referencia al objeto de correo electrónico que está resaltado actualmente o
que abre el usuario. BlackBerry Java Application utiliza la dirección de correo electrónico del remitente para determinar la
ubicación del remitente recuperando la dirección de correo electrónico de la lista de contactos, o recuperando los datos de un
servidor remoto y, a continuación, pasa a primer plano y muestra un mapa.
Integración con aplicaciones de BlackBerry Device Software
Una aplicación de dispositivo BlackBerry® puede invocar una aplicación de BlackBerry Device Software tal como el correo
electrónico, el organizador, el teléfono, el explorador, y las aplicaciones de cámara para realizar una acción o mostrar información.
Los siguientes ejemplos demuestran cómo una aplicación de dispositivo BlackBerry puede invocar una aplicación de BlackBerry
Device Software :
•La aplicación del dispositivo BlackBerry invoca el calendario para mostrar una fecha o una entrada de calendario específicas.
•La aplicación del dispositivo BlackBerry invoca la agenda para mostrar un contacto específico.
•La aplicación del dispositivo BlackBerry invoca el explorador para abrir una dirección Web específica.
•La aplicación del dispositivoBlackBerry invoca el teléfono para llamar a un número específico.
Acceso a los datos del correo electrónico y del organizador
BlackBerry® Java® Application puede utilizar las API de BlackBerry para obtener acceso a los detalles de los mensajes de correo
electrónico, contactos, eventos del calendario, tareas y registros de teléfono que almacena el dispositivo BlackBerry. BlackBerry
Java Application puede leer la información, actualizarla y crear entradas nuevas.
Uso de BlackBerry Messenger con BlackBerry Application
Puede integrar BlackBerry® Java® Application con la aplicación BlackBerry® Messenger. Esto podría ser útil si desea crear una
aplicación de juegos basada en turnos para el dispositivo BlackBerry.
36
Guía de conceptos básicos
Para crear una aplicación BlackBerry Java Application que se integre con la aplicación BlackBerry Messenger, puede utilizar las
clases del paquete net.rim.blackberry.api.blackberrymessenger . Para obtener más información acerca
del uso de la clase BlackBerryMessenger , consulte la documentación de referencia API de BlackBerry.
Uso de oyentes para responder a los cambios de la aplicación
Uso de oyentes para responder a los cambios de la aplicación
BlackBerry® Java® Application puede registrar oyentes en los almacenes de datos del correo electrónico y del organizador en la
aplicación de teléfono. Los oyentes permiten a BlackBerry Java Application emprender una acción inmediata cuando el usuario
del dispositivo BlackBerry lleve a cabo un evento local. Puede utilizar los oyentes de datos del correo electrónico y del organizador
para notificar a BlackBerry Java Application cuando lleguen entradas nuevas o cuando el usuario del dispositivo BlackBerry realice
cambios como adiciones, eliminaciones o actualizaciones en los datos existentes. Puede utilizar oyentes de teléfono para escuchar
acciones de llamadas telefónicas, como la iniciación de llamadas nuevas o la finalización de llamadas.
37
Guía de conceptos básicos
Consideraciones de seguridad
Consideraciones de seguridad
8
Cifrado de datos y BlackBerry Application
Cifrado de datos durante el transporte
Si utiliza BlackBerry® Enterprise Server como gateway de red para la aplicación, BlackBerry Enterprise Server cifra los datos
mediante el cifrado AES o TripleDES en todos los puntos de la conexión entre el dispositivo BlackBerry y BlackBerry Enterprise
Server tras el firewall de la empresa. Si necesita que los datos se cifren incluso más entre BlackBerry Enterprise Server y el servidor
de destino, puede utilizar el protocolo HTTPS y el cifrado SSL/TLS.
Si la aplicación utiliza BlackBerry® Internet Service o la gateway a Internet del proveedor de servicios inalámbricos, el tráfico de
datos no se cifra. Si los usuarios de dispositivos BlackBerry lo prefieren, puede utilizar HTTPS para cifrar los datos o puede utilizar
las API de Java® para el cifrado y aplicar así su propia clave simétrica o la criptografía de clave pública.
Cifrado de datos en el dispositivo BlackBerry
Los administradores pueden establecer una política de TI para asegurarse de que todos los datos del usuario del dispositivo
BlackBerry® almacenados en las aplicaciones del dispositivo BlackBerry se cifran de forma local en la memoria flash. Puede crear
una aplicación BlackBerry Java® Application que utilice API para registrar los datos para que el servicio de cifrado cifre los datos
con la misma clave de la seguridad antes de almacenarlos en la memoria flash.
Acceder a la memoria
BlackBerry® Java® Development Environment se ha diseñado para evitar que las aplicaciones provoquen problemas de forma
accidental o malintencionada en otras aplicaciones o en el dispositivo BlackBerry. Las aplicaciones BlackBerry pueden escribir
sólo en la memoria del dispositivo BlackBerry que utiliza BlackBerry® Java® Virtual Machine; no pueden obtener acceso a la
memoria virtual ni al almacenamiento constante de otras aplicaciones (a menos que se les otorgue acceso específicamente para
hacerlo). BlackBerry® Java Application sólo puede obtener acceso al almacenamiento constante o a los datos del usuario, o
comunicarse con otras aplicaciones, a través de API específicas de BlackBerry. Research In Motion debe firmar digitalmente una
aplicación BlackBerry Java Application que utilice estas API de BlackBerry, para proporcionar una pista de auditoría de las
aplicaciones que utilizan API importantes.
38
Guía de conceptos básicos
Autenticación
Autenticación
Autenticación de dispositivos BlackBerry y política de TI
Los usuarios de dispositivos BlackBerry® pueden establecer una contraseña para sus dispositivos BlackBerry. Si la contraseña
del dispositivo está activa, los usuarios del dispositivo BlackBerry deben ofrecer la contraseña para obtener acceso a los datos y
las aplicaciones. El uso de las contraseñas del dispositivo constituye un buen paso para limitar el acceso a BlackBerry Java®
Application en el dispositivo BlackBerry.
Los administradores pueden utilizar las políticas de TI ofrecidas en BlackBerry® Enterprise Server para asegurarse de que los
dispositivos BlackBerry de la empresa están protegidos con contraseña. Los administradores también pueden utilizar las políticas
de TI para bloquear un dispositivo BlackBerry, cambiar la contraseña o eliminar todos los datos.
Autenticación de aplicaciones
Para las aplicaciones en las cuales las características de seguridad son críticas, puede que desee ofrecer una pantalla de inicio
de sesión que solicite al usuario del dispositivo BlackBerry® iniciar sesión en la aplicación del dispositivo antes de utilizarlo. Las
clases de la interfaz de usuario proporcionan campos de contraseña sencillos que ocultan la entrada de texto con caracteres de
asterisco. Las pantallas de inicio de sesión pueden repercutir de forma negativa en la experiencia de usuario del dispositivo
BlackBerry y si éste establece una contraseña para proteger el dispositivo BlackBerry, puede que la aplicación no requiera una
pantalla de inicio de sesión.
Autenticación del servidor
Si la aplicación se conecta a una aplicación en un servidor o a Internet o una intranet, puede que desee incluir características
adicionales de autenticación cuando los usuarios de dispositivos BlackBerry® inicien sesión en el servidor. La mayoría de las
aplicaciones que requieren la autenticación del usuario confían en la autenticación básica HTTP, que utiliza una combinación
sencilla de nombre de usuario y contraseña. Puede utilizar la autenticación básica HTTP agregando los encabezados HTTP
correctos al abrir la conexión HTTP. También puede utilizar una autenticación más avanzada utilizando certificados; sin embargo,
la mayoría de las aplicaciones no la requieren.
API controladas y firma de códigos
Research In Motion efectúa el seguimiento de uso de las API con distinciones por razones de seguridad y de control de la
exportación. En la referencia API de BlackBerry®, RIM identifica una clase o método controlado con un icono de bloqueo o una
nota firmada. Para utilizar las clases o métodos controlados en sus aplicaciones y antes de poder instalar los archivos .cod de la
aplicación en el dispositivo BlackBerry, debe firmar su aplicación con una clave, o firma, de RIM. Otra funcionalidad, como la
capacidad de ejecutar cuando la aplicación se inicia, puede requerir que firme sus aplicaciones.
39
Guía de conceptos básicos
Aunque el proceso de registro de RIM cubre el uso de la mayoría de las API controladas, algunas clases de criptografía relacionadas
con la criptografía de claves públicas y privadas contienen tecnología de Certicom™. Para utilizar estas clases, debe registrarse
y obtener una licencia de Certicom directamente. El proceso de registro de RIM no incluye el uso de las clases de Certicom.
Para probar y depurar el código antes de recibir las firmas de código, puede utilizar BlackBerry® Smartphone Simulator. Debe
firmar la aplicación antes de instalarla en dispositivos BlackBerry. No tiene que enviar su código real a RIM. Puede utilizar
BlackBerry® Signature Tool para enviar un hash SHA-1 de su archivo de código para que el sistema de autoridad de firmas pueda
generar la firma necesaria.
Para obtener más información acerca de cómo registrar y obtener firmas de código, consulte BlackBerry Signing Authority Toolversión 1.0 - Guía del administrador basada en contraseñas. Para obtener más información acerca de cómo registrar y utilizar
clases, visite www.blackberry.com/developers/index.shtml.
API de BlackBerry con acceso controlado
API de BlackBerry con acceso controlado
Puede ejecutar aplicaciones que utilicen una API controlada en BlackBerry® Smartphone Simulator sin firmas de código; sin
embargo, debe obtener las firmas de código de Research In Motion antes de instalar estas aplicaciones en los dispositivos
BlackBerry.
Puede utilizar las siguientes categorías de API controlada de RIM:
•API de tiempo de ejecución
•API de BlackBerry® Application
•API de cifrado de BlackBerry
Si utiliza cualquiera de los siguientes paquetes de API de BlackBerry, su aplicación necesitará firmas de código antes de poder
instalarlos en un dispositivo BlackBerry:
net.rim.blackberry.api.browser
•
net.rim.blackberry.api.invoke
•
net.rim.blackberry.api.mail
•
net.rim.blackberry.api.mail.event
•
net.rim.blackberry.api.menuitem
•
net.rim.blackberry.api.options
•
net.rim.blackberry.api.pdap
•
net.rim.blackberry.api.phone
•
net.rim.blackberry.api.phone.phonelogs
•
net.rim.device.api.browser.field
•
net.rim.device.api.browser.plugin
•
net.rim.device.api.crypto.*
•
net.rim.device.api.io.http
•
net.rim.device.api.notification
•
40
Guía de conceptos básicos
net.rim.device.api.servicebook
•
net.rim.device.api.synchronization
•
net.rim.device.api.system
•
Para obtener más información sobre las API controladas de RIM, consulte la referencia API de BlackBerry.
Compatibilidad con la política de TI
Compatibilidad con la política de TI
Puede utilizar las API en el paquete net.rim.device.api.itpolicy para tener acceso a la información de política
de TI en el dispositivo BlackBerry® y cambiar el comportamiento o la funcionalidad de una aplicación de un dispositivo BlackBerry.
Cada elemento de política de TI está formado por un nombre, una descripción y un valor. El valor puede ser uno de estos tres
valores: string, integer o Boolean.
La configuración de la política de TI del dispositivo BlackBerry se sincroniza automáticamente y se actualiza a través de la red
inalámbrica con la versión 3.6 o posterior de BlackBerry® Device Software. En las versiones anteriores de BlackBerry Device
Software, la configuración de la política de TI se actualiza cuando el usuario del dispositivo BlackBerry sincroniza el dispositivo
BlackBerry con el ordenador.
Para obtener más información acerca de las políticas de control de TI, consulte la Guía de referencia de políticas de BlackBerryEnterprise Server.
Control de la aplicación
Las reglas de la política de control de aplicaciones de BlackBerry® Enterprise Server se han diseñado para permitir o evitar la
instalación de aplicaciones específicas en el dispositivo BlackBerry y para limitar los permisos de las aplicaciones en el dispositivo
BlackBerry. Por ejemplo, los administradores pueden utilizar la política de control de aplicaciones para asegurarse de que una
aplicación de juegos en el dispositivo BlackBerry no pueda obtener acceso a la aplicación de teléfono.
El administrador puede aplicar políticas de control de aplicaciones sólo cuando el dispositivo BlackBerry está asociado a BlackBerry
Enterprise Server. Si el administrador o un usuario de dispositivo BlackBerry deniega el acceso de la aplicación a una de las áreas
protegidas, la aplicación muestra una excepción ControlledAccessException.
41
Guía de conceptos básicos
Cifrado de archivos en tarjetas microSD
Cifrado de archivos en tarjetas microSD
Cifrado de datos en una tarjeta multimedia microSD
Si BlackBerry® Java® Application obtiene acceso a un archivo en la tarjeta de memoria microSD, tiene lugar el descifrado del
archivo y el archivo se traslada a la memoria principal para que lo lea una aplicación. Para que BlackBerry Java Application
obtenga acceso a un archivo protegido con contraseña, el dispositivo BlackBerry no debe bloquearse. Los archivos cifrados tienen
una extensión .rem y no se pueden descifrar en plataformas que no sean de BlackBerry.
Si el NVRAM se elimina y la tarjeta multimedia microSD se bloquea con una clave de dispositivo BlackBerry, los datos de la tarjeta
multimedia microSD ya no están accesibles. Para eliminar los datos que no sean accesibles, inicie el dispositivo BlackBerry y
elimine todos los archivos multimedia cifrados.
El dispositivo BlackBerry utiliza una clave maestra almacenada en la tarjeta multimedia microSD para cifrar los archivos
multimedia del dispositivo BlackBerry. La clave maestra evita que el dispositivo BlackBerry tenga que descifrar o volver a cifrar
todos los archivos multimedia cuando desactive el cifrado o cambie la contraseña.
Uso de la tarjeta multimedia microSD con más de un dispositivo BlackBerry
Si el usuario del dispositivo BlackBerry® mueve la tarjeta multimedia microSD a un dispositivo BlackBerry que no utiliza una
contraseña de dispositivo o que utiliza una contraseña que no descifra correctamente la clave principal de la tarjeta multimedia
microSD, el dispositivo BlackBerry solicita al usuario del dispositivo BlackBerry que escriba la contraseña de la tarjeta multimedia
microSD. Si el dispositivo BlackBerry tiene una contraseña, el usuario del dispositivo BlackBerry puede utilizar el aviso para
cambiar la contraseña de la tarjeta multimedia microSD a una contraseña del dispositivo BlackBerry.
Políticas de TI y tarjetas multimedia microSD
Puede aplicar la política de TI Cifrar los datos escritos en la tarjeta multimedia microSD a cualquier archivo nuevo o modificado
que almacene en la tarjeta multimedia microSD. Sólo se cifrarán los archivos que almacene en la tarjeta multimedia microSD
después de que un administrador establezca la política de TI. Se cifrará todo el contenido excepto los archivos multimedia.
42
Guía de conceptos básicos
Probar BlackBerry Java Application
Probar BlackBerry Java Application
9
Cifrado de una aplicación BlackBerry Java Application
El compilador para BlackBerry® Java® Development Environment y BlackBerry® JDE Plug-in para Eclipse™ se configura para
reducir el tamaño de la aplicación. El compilador produce un archivo .cod que proporciona servicios de cifrado similares a aquellos
que ofrecen los paquetes de cifrado en un esfuerzo por reducir el tamaño de los archivos .cod. Por ejemplo, BlackBerry Java
Development Environment elimina la siguiente información de un archivo .cod:
•toda la información de depuración
•los nombres de variables locales
•los números de la línea de origen
•el método privado y los nombres de miembros
Normalmente no es necesario que proporcione cifrado para sus aplicaciones además del cifrado ya existente, de forma
predeterminada, lo proporciona BlackBerry JDE. De hecho, Research In Motion no realiza ningún cifrado adicional en sus propios
productos.
BlackBerry JDE no incluye compatibilidad con el cifrado a través de herramientas de terceros. Debe incluir un procedimiento de
línea de comandos para cifrar los archivos .cod en los dispositivos BlackBerry.
Verificación previa de BlackBerry Java Application
Al verificar previamente las clases, reducirá la cantidad de procesamiento que debe realizar el dispositivo BlackBerry® cuando
instala una aplicación. Para verificar parcialmente sus clases antes de instalar su aplicación en un dispositivo BlackBerry, puede
utilizar la herramienta de verificación previa, disponible en BlackBerry® Java® Development Environment. Puede utilizar
BlackBerry® Smartphone Simulator para verificar previamente los archivos .cod.
Para obtener más información acerca de cómo utilizar BlackBerry Smartphone Simulator, consulte Manual del usuario de
BlackBerry Device Simulator. Si desea obtener más información acerca del uso de la herramienta de verificación previa, consulte
Guía de desarrollo de BlackBerry Java Development Environment.
Prueba de aplicaciones en BlackBerry Smartphone Simulator
Tras desarrollar y compilar su aplicación, puede probarla en el dispositivo BlackBerry®. El primer paso más común consiste en
configurar BlackBerry® Java® Development Environment para que utilice BlackBerry® Smartphone Simulator. BlackBerry
Smartphone Simulator ejecuta el mismo código Java que los dispositivos BlackBerry, de modo que BlackBerry Smartphone
43
Guía de conceptos básicos
Simulator proporciona un entorno adecuado para probar cómo las aplicaciones funcionarán en un dispositivo BlackBerry.
BlackBerry JDE incluye las versiones actuales de BlackBerry Smartphone Simulator. Para descargar las versiones adicionales de
BlackBerry Smartphone Simulator, visite www.blackberry.com/developers/index.shtml.
Prueba de aplicaciones en un dispositivo BlackBerry
Prueba de aplicaciones en un dispositivo BlackBerry
Tras probar su aplicación en BlackBerry® Smartphone Simulator, puede instalar la aplicación en un dispositivo BlackBerry. Si su
aplicación utiliza API firmadas, puede que necesite claves de firma de código. Tras instalar la aplicación en el dispositivo
BlackBerry, puede abrirla y probar su funcionalidad y rendimiento.
Con el objeto de depurar, puede integrar su dispositivo en BlackBerry® Integrated Development Environment y utilizar la
herramienta de depuración para avanzar a través del código de la aplicación. BlackBerry IDE puede ser útil si intenta identificar
una red o problema de Bluetooth®, así como otros problemas que son difíciles de simular.
Simuladores de BlackBerry
BlackBerry Smartphone Simulator
BlackBerry® Smartphone Simulator se ha diseñado para emular una experiencia BlackBerry sin utilizar un dispositivo BlackBerry
real. BlackBerry Smartphone Simulator es una aplicación que instala en el ordenador y muestra una imagen del modelo del
dispositivo BlackBerry de su elección. Esta imagen tiene el aspecto de un dispositivo BlackBerry real. La funcionalidad incluye la
misma interacción del usuario de un dispositivo BlackBerry real (incluida la rueda o bola de desplazamiento y el teclado), las
mismas aplicaciones y las mismas características, como los mensajes de correo electrónico, el teléfono y la exploración de Internet.
BlackBerry Smartphone Simulator también sirve como plataforma en la que se pueden ejecutar aplicaciones. Esto incluye la
capacidad de las aplicaciones para establecer conexiones de red, almacenar datos y gestionar mensajes de correo electrónico.
BlackBerry Smartphone Simulator incluye aplicaciones del dispositivo BlackBerry que normalmente están disponibles en los
dispositivos BlackBerry por lo que puede instalar y probar sus propias aplicaciones. Puede simular y probar varios cambios de
conectividad y estado mediante BlackBerry Smartphone Simulator.
Al utilizar BlackBerry Smartphone Simulator para realizar pruebas, puede que necesite simular servicios adicionales de BlackBerry.
BlackBerry® MDS Simulator y BlackBerry® Email Simulator están disponibles para este fin.
Para obtener BlackBerry Smartphone Simulator, visite www.blackberry.com/developers y descargue BlackBerry® Java®
Development Environment o el paquete de componentes de BlackBerry Java Development Environment.
44
Guía de conceptos básicos
Simuladores de BlackBerry
BlackBerry MDS Simulator
BlackBerry® MDS Simulator está diseñado para simular el componente BlackBerry MDS Connection Service de BlackBerry®
Enterprise Server. Al utilizar BlackBerry Smartphone Simulator con BlackBerry MDS Simulator puede probar redes, insertar HTTP
y aplicaciones del explorador diseñadas para su uso con BlackBerry Enterprise Server. Para obtener BlackBerry MDS Simulator,
visite www.blackberry.com/developers y descargue BlackBerry® Email and MDS Services Simulator Package.
BlackBerry Email Simulator
BlackBerry® Email Simulator se ha diseñado para enviar y recibir mensajes entre BlackBerry® Smartphone Simulator y cualquier
otra aplicación de correo electrónico, como Microsoft® Outlook®, o servidores POP3 y SMTP. No es necesario BlackBerry®
Enterprise Server. Para obtener BlackBerry Email Simulator, visite www.blackberry.com/developers y descargue BlackBerry®
Email and MDS Services Simulator Package.
45
Guía de conceptos básicos
Disponibilidad de las aplicaciones
Disponibilidad de las aplicaciones
10
Distribución de aplicaciones a través de una conexión de ordenador
Distribuir una aplicación desde un ordenador
Puede utilizar la herramienta Cargador de aplicaciones en BlackBerry® Desktop Manager para instalar aplicaciones en el
dispositivo BlackBerry. La herramienta Cargador de aplicaciones ofrece a los usuarios un modo sencillo de descargar las
aplicaciones desde sus ordenadores a sus dispositivos BlackBerry.
Distribuir una aplicación desde una página Web
Puede utilizar BlackBerry® Application Web Loader para registrar la aplicación compilada en un sitio Web. Los usuarios pueden
utilizar Windows® Internet Explorer® en sus ordenadores para visitar la página Web e instalar la aplicación en sus dispositivos
BlackBerry. Cuando los usuarios de dispositivos BlackBerry visitan la página Web, BlackBerry Application Web Loader les solicita
que conecten sus dispositivos al puerto USB. A continuación, pueden instalar la aplicación mediante un control ActiveX®.
BlackBerry Application Web Loader ofrece a los usuarios de dispositivos BlackBerry una manera sencilla de instalar las aplicaciones
desde sus ordenadores sin ejecutar BlackBerry® Desktop Manager.
Distribuir una aplicación para la prueba
BlackBerry® Java® Development Environment incluye una herramienta de línea de comandos denominada JavaLoader que se
ubica en la carpeta BIN dentro de la carpeta BlackBerry JDE. Puede utilizar la herramienta JavaLoader para instalar y eliminar
rápidamente los archivos de la aplicación compilados en el dispositivo BlackBerry directamente a través del puerto USB. No
necesita ningún archivo de descriptor o páginas Web. La herramienta JavaLoader puede ser útil si instala y elimina la aplicación
con frecuencia durante la prueba y desarrollo; sin embargo, la herramienta JavaLoader no se ha diseñado para su uso por parte
de usuarios de dispositivos BlackBerry.
Distribución de aplicaciones a través de la red inalámbrica
Puede distribuir sus aplicaciones a través de la red inalámbrica para ayudar a proporcionar una mejor experiencia a los usuarios
de dispositivos BlackBerry® y para simplificar la distribución de aplicaciones a un grupo grande de personas, puesto que no
requiere una aplicación informática. Un usuario del dispositivo BlackBerry puede instalar sus aplicaciones a través de la red
inalámbrica.
46
Guía de conceptos básicos
Distribución de aplicaciones a través de la red inalámbrica
Extracción inalámbrica (iniciada por el usuario)
Puede registrar aplicaciones compiladas en un sitio Web público o privado. Los usuarios de dispositivos BlackBerry® pueden
visitar el sitio Web para descargar aplicaciones a través de la red inalámbrica mediante el explorador de sus dispositivos BlackBerry.
El explorador solicita al usuario que instale la aplicación y, a continuación, la aplicación se descarga a través de la red inalámbrica
y se instala en el dispositivo BlackBerry.
Inserción inalámbrica (iniciada por el servidor)
En el entorno BlackBerry® Enterprise Server, el administrador puede insertar las aplicaciones para los usuarios de dispositivos
BlackBerry a través de la red inalámbrica para la instalación obligatoria. El administrador crea una política nueva y especifica
que el dispositivo BlackBerry requiere la aplicación. La aplicación se inserta para los usuarios sin que sea necesaria ninguna
interacción por parte del usuario. Las empresas pueden considerar práctico este enfoque a la hora de enviar aplicaciones nuevas
a un gran número de usuarios de dispositivos BlackBerry.
47
Guía de conceptos básicos
Glosario
Glosario
AES
Advanced Encryption Standard (Estándar de cifrado avanzado)
API
Application Programming Interface (Interfaz de programación de aplicaciones)
CLDC
Connected Limited Device Configuration (Configuración de dispositivos con conexión limitada)
HTTP
Hypertext Transfer Protocol (Protocolo de transferencia de hipertexto)
HTTPS
Hypertext Transfer Protocol over Secure Sockets Layer (Protocolo de transferencia de hipertexto a través de un nivel de
socket seguro)
I/O
entrada/salida
IMAP
Internet Message Access Protocol (Protocolo de acceso a mensajes de Internet)
IPC
comunicación entre procesos
11
JDWP
Java® Debug Wire Protocol
JSR
Java® Specification Request
JTWI
Java® Technology for the Wireless Industry (Tecnología Java para la industria inalámbrica)
JVM
Java® Virtual Machine
MIDP
Mobile Information Device Profile (Perfil de dispositivo móvil de información)
NVRAM
48
Guía de conceptos básicos
Memoria de acceso aleatorio no volátil
PDAP
Paquetes opcionales de PDA para la plataforma J2ME
PIM
personal information management (administración de información personal)
PIN
número de identificación personal
POP
Protocolo de oficina de correos
RAPC
Compilador de programas de aplicaciones de RIM
RMS
Sistema de administración de registros (Record Management System)
SHA
Secure Hash Algorithm (Algoritmo de hash seguro)
Glosario
SMS
Short Message Service (Servicio de mensajes cortos)
SMTP
Protocolo de transferencia simple de correo (Simple Mail Transfer Protocol)
SRAM
memoria de acceso aleatorio estático
SSL
Secure Sockets Layer (Nivel de socket seguro)
TCP
Transmission Control Protocol (Protocolo de control de transmisión)
TLS
Transport Layer Security (Seguridad de capa de transporte)
Triple DES
Triple Data Encryption Standard (Estándar de cifrado triple de datos)
VPN
49
Guía de conceptos básicos
virtual private network (red privada virtual)
WAP
Wireless Application Protocol (Protocolo de aplicaciones inalámbricas)
XML
Extensible Markup Language (Lenguaje de marcado extensible)
Bluetooth es una marca comercial de Bluetooth SIG. Java y Javadoc son marcas comerciales de Sun Microsystems, Inc. Microsoft,
Windows Internet Explorer, ActiveX y Windows son marcas comerciales de Microsoft Corporation. HotSync es una marca comercial
de Palmsource, Inc. Todas las demás marcas comerciales son propiedad de sus respectivos propietarios.
El smartphone BlackBerry y otros dispositivos y/o el software asociado están protegidos por copyright, tratados internacionales
y varias patentes, incluida una o varias de las siguientes de EE.UU. 6.278.442, 6.271.605, 6.219.694, 6.075.470, 6.073.318,
D445.428, D433.460, D416.256. Otras patentes están registradas o pendientes de registro en los EE.UU. y en diferentes países
del mundo. Visite www.rim.com/patents para obtener una lista de las patentes de RIM (como se las denominará de ahora en
adelante).
Esta documentación, incluida cualquier documentación que se incorpore mediante referencia como documento proporcionado
o disponible en www.blackberry.com/go/docs, se proporciona o se pone a disposición "TAL CUAL" y "SEGÚN SU
DISPONIBILIDAD" sin ninguna condición, responsabilidad o garantía de ningún tipo por Research In Motion Limited y sus
empresas afiliadas ("RIM") y RIM no asume ninguna responsabilidad por los errores tipográficos, técnicos o cualquier otra
imprecisión, error u omisión contenidos en esta documentación. Con el fin de proteger la información confidencial y propia de
RIM, así como los secretos comerciales, la presente documentación describe algunos aspectos de la tecnología de RIM en líneas
generales. RIM se reserva el derecho a modificar periódicamente la información que contiene esta documentación, si bien tampoco
se compromete en modo alguno a proporcionar cambios, actualizaciones, ampliaciones o cualquier otro tipo de información que
se pueda agregar a esta documentación.
12
Esta documentación puede contener referencias a fuentes de información, hardware o software, productos o servicios, incluidos
componentes y contenido como, por ejemplo, el contenido protegido por copyright y/o sitios Web de terceros (conjuntamente,
los "Productos y servicios de terceros"). RIM no controla ni es responsable de ningún tipo de Productos y servicios de terceros,
incluido, sin restricciones, el contenido, la exactitud, el cumplimiento de copyright, la compatibilidad, el rendimiento, la honradez,
la legalidad, la decencia, los vínculos o cualquier otro aspecto de los Productos y servicios de terceros. La inclusión de una
referencia a los Productos y servicios de terceros en esta documentación no implica que RIM se haga responsable de dichos
Productos y servicios de terceros o de dichos terceros en modo alguno.
EXCEPTO EN LA MEDIDA EN QUE LO PROHÍBA ESPECÍFICAMENTE LA LEY DE SU JURISDICCIÓN, QUEDAN EXCLUIDAS POR
LA PRESENTE TODAS LAS CONDICIONES, APROBACIONES O GARANTÍAS DE CUALQUIER TIPO, EXPLÍCITAS O IMPLÍCITAS,
INCLUIDA, SIN NINGÚN TIPO DE LIMITACIÓN, CUALQUIER CONDICIÓN, APROBACIÓN, GARANTÍA, DECLARACIÓN DE
GARANTÍA DE DURABILIDAD, IDONEIDAD PARA UN FIN O USO DETERMINADO, COMERCIABILIDAD, CALIDAD COMERCIAL,
ESTADO DE NO INFRACCIÓN, CALIDAD SATISFACTORIA O TITULARIDAD, O QUE SE DERIVE DE UNA LEY O COSTUMBRE
O UN CURSO DE LAS NEGOCIACIONES O USO DEL COMERCIO, O RELACIONADO CON LA DOCUMENTACIÓN O SU USO
O RENDIMIENTO O NO RENDIMIENTO DE CUALQUIER SOFTWARE, HARDWARE, SERVICIO O CUALQUIER PRODUCTO O
SERVICIO DE TERCEROS MENCIONADOS AQUÍ. TAMBIÉN PODRÍA TENER OTROS DERECHOS QUE VARÍAN SEGÚN EL
ESTADO O PROVINCIA. ES POSIBLE QUE ALGUNAS JURISDICCIONES NO PERMITAN LA EXCLUSIÓN O LA LIMITACIÓN DE
GARANTÍAS IMPLÍCITAS Y CONDICIONES. EN LA MEDIDA EN QUE LO PERMITA LA LEY, CUALQUIER GARANTÍA IMPLÍCITA
51
Guía de conceptos básicos
Aviso legal
O CONDICIONES EN RELACIÓN CON LA DOCUMENTACIÓN NO SE PUEDEN EXCLUIR TAL Y COMO SE HA EXPUESTO
ANTERIORMENTE, PERO PUEDEN SER LIMITADAS, Y POR LA PRESENTE ESTÁN LIMITADAS A NOVENTA (90) DÍAS DESDE
DE LA FECHA QUE ADQUIRIÓ LA DOCUMENTACIÓN O EL ELEMENTO QUE ES SUJETO DE LA RECLAMACIÓN.
EN LA MEDIDA MÁXIMA EN QUE LO PERMITA LA LEY DE SU JURISDICCIÓN, EN NINGÚN CASO RIM ASUMIRÁ
RESPONSABILIDAD ALGUNA POR CUALQUIER TIPO DE DAÑOS RELACIONADOS CON ESTA DOCUMENTACIÓN O SU USO,
O RENDIMIENTO O NO RENDIMIENTO DE CUALQUIER SOFTWARE, HARDWARE, SERVICIO O PRODUCTOS Y SERVICIOS
DE TERCEROS AQUÍ MENCIONADOS INCLUIDOS SIN NINGÚN TIPO DE LIMITACIÓN CUALQUIERA DE LOS SIGUIENTES
DAÑOS: DIRECTOS, RESULTANTES, EJEMPLARES, INCIDENTALES, INDIRECTOS, ESPECIALES, PUNITIVOS O AGRAVADOS,
DAÑOS POR PÉRDIDA DE BENEFICIOS O INGRESOS, IMPOSIBILIDAD DE CONSEGUIR LOS AHORROS ESPERADOS,
INTERRUPCIÓN DE LA ACTIVIDAD COMERCIAL, PÉRDIDA DE INFORMACIÓN COMERCIAL, PÉRDIDA DE LA OPORTUNIDAD
DE NEGOCIO O CORRUPCIÓN O PÉRDIDA DE DATOS, IMPOSIBILIDAD DE TRANSMITIR O RECIBIR CUALQUIER DATO,
PROBLEMAS ASOCIADOS CON CUALQUIER APLICACIÓN QUE SE UTILICE JUNTO CON PRODUCTOS Y SERVICIOS DE RIM,
COSTES DEBIDOS AL TIEMPO DE INACTIVIDAD, PÉRDIDA DE USO DE LOS PRODUCTOS Y SERVICIOS DE RIM O PARTE DE
ÉL O DE CUALQUIER SERVICIO DE USO, COSTE DE SERVICIOS SUSTITUTIVOS, COSTES DE COBERTURA, INSTALACIONES
O SERVICIOS, COSTE DEL CAPITAL O CUALQUIER OTRA PÉRDIDA MONETARIA SIMILAR, TANTO SI DICHOS DAÑOS SE HAN
PREVISTO O NO, Y AUNQUE SE HAYA AVISADO A RIM DE LA POSIBILIDAD DE DICHOS DAÑOS.
EN LA MEDIDA MÁXIMA EN QUE LO PERMITA LA LEY DE SU JURISDICCIÓN, RIM NO TENDRÁ NINGÚN OTRO TIPO DE
OBLIGACIÓN O RESPONSABILIDAD CONTRACTUAL, EXTRACONTRACTUAL O CUALQUIER OTRA, INCLUIDA CUALQUIER
RESPONSABILIDAD POR NEGLIGENCIA O RESPONSABILIDAD ESTRICTA.
LAS LIMITACIONES, EXCLUSIONES Y DESCARGOS DE RESPONSABILIDAD SE APLICARÁN: (A) INDEPENDIENTEMENTE DE
LA NATURALEZA DE LA CAUSA DE LA ACCIÓN, DEMANDA O ACCIÓN SUYA, INCLUIDA PERO NO LIMITADA AL
INCUMPLIMIENTO DEL CONTRATO, NEGLIGENCIA, AGRAVIO, EXTRACONTRACTUAL, RESPONSABILIDAD ESTRICTA O
CUALQUIER OTRA TEORÍA DEL DERECHO Y DEBERÁN SOBREVIVIR A UNO O MÁS INCUMPLIMIENTOS ESENCIALES O AL
INCUMPLIMIENTO DEL PROPÓSITO ESENCIAL DE ESTE CONTRATO O CUALQUIER SOLUCIÓN CONTENIDA AQUÍ; Y (B) A
RIM Y A SUS EMPRESAS AFILIADAS, SUS SUCESORES, CESIONARIOS, AGENTES, PROVEEDORES (INCLUIDOS LOS
PROVEEDORES DE SERVICIOS DE USO), DISTRIBUIDORES AUTORIZADOS POR RIM (INCLUIDOS TAMBIÉN LOS
PROVEEDORES DE SERVICIOS DE USO) Y SUS RESPECTIVOS DIRECTORES, EMPLEADOS Y CONTRATISTAS
INDEPENDIENTES.
ADEMÁS DE LAS LIMITACIONES Y EXCLUSIONES MENCIONADAS ANTERIORMENTE, EN NINGÚN CASO NINGÚN
DIRECTOR, EMPLEADO, AGENTE, DISTRIBUIDOR, PROVEEDOR, CONTRATISTA INDEPENDIENTE DE RIM O CUALQUIER
AFILIADO DE RIM ASUMIRÁ NINGUNA RESPONSABILIDAD DERIVADA DE O RELACIONADA CON LA DOCUMENTACIÓN.
Antes de instalar, usar o suscribirse a cualquiera de los Productos y servicios de terceros, es su responsabilidad asegurarse de
que su proveedor de servicios de uso ofrezca compatibilidad con todas sus funciones. Puede que algunos proveedores de servicios
de uso no ofrezcan las funciones de exploración de Internet con una suscripción al servicio BlackBerry® Internet Service. Consulte
con su proveedor de servicios acerca de la disponibilidad, arreglos de itinerancia, planes de servicio y funciones. La instalación
o el uso de los Productos y servicios de terceros con productos y servicios de RIM puede precisar la obtención de una o más
patentes, marcas comerciales, derechos de autor u otras licencias para evitar que se vulneren o violen derechos de terceros.
Usted es el único responsable de determinar si desea utilizar Productos y servicios de terceros y si se necesita para ello cualquier
otra licencia de terceros. En caso de necesitarlas, usted es el único responsable de su adquisición. No instale o utilice Productos
y servicios de terceros hasta que se hayan adquirido todas las licencias necesarias. Cualquier tipo de Productos y servicios de
terceros que se proporcione con los productos y servicios de RIM se le facilita para su comodidad "TAL CUAL" sin ninguna
condición expresa e implícita, aprobación, garantía de cualquier tipo por RIM y RIM no sume ninguna responsabilidad en relación
52
Guía de conceptos básicos
Aviso legal
con ello. El uso de los Productos y servicios de terceros se regirá y estará sujeto a la aceptación de los términos de licencias
independientes aplicables en este caso con terceros, excepto en los casos cubiertos expresamente por una licencia u otro acuerdo
con RIM.
Algunas funciones mencionadas en esta documentación requieren una versión mínima del software de BlackBerry® Enterprise
Server, BlackBerry® Desktop Software y/o BlackBerry® Device Software.
Los términos de uso de cualquier producto o servicio de RIM se presentan en una licencia independiente o en otro acuerdo con
RIM que se aplica en este caso. NINGUNA PARTE DE LA PRESENTE DOCUMENTACIÓN ESTÁ PENSADA PARA PREVALECER
SOBRE CUALQUIER ACUERDO EXPRESO POR ESCRITO O GARANTÍA PROPORCIONADA POR RIM PARA PARTES DE
CUALQUIER PRODUCTO O SERVICIO DE RIM QUE NO SEA ESTA DOCUMENTACIÓN.
Research In Motion Limited
295 Phillip Street
Waterloo, ON N2L 3W8
Canadá
Research In Motion UK Limited
Centrum House
36 Station Road
Egham, Surrey TW20 9LF
Reino Unido
Publicado en Canadá
53
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.