Anda di halaman 1dari 45

BlackBerry Java SDK

Versin: 7.0
Gua de introduccin

Publicado: 2011-10-25 SWD-1641291-1025051221-005

Contenido
1 Introduccin...................................................................................................................................................... Cmo obtener ayuda para el desarrollo de Java.............................................................................................. 2 Crear una aplicacin ptima............................................................................................................................. Disear su aplicacin........................................................................................................................................ 3 Herramientas de desarrollo de Java................................................................................................................. Acerca de BlackBerry Java Plug-in para Eclipse................................................................................................ Simuladores...................................................................................................................................................... Claves de firma de cdigo................................................................................................................................. 4 Crear su primera aplicacin.............................................................................................................................. Crear la aplicacin Hola BlackBerry.................................................................................................................. Ejecutar su aplicacin....................................................................................................................................... Ejecutar su aplicacin en un simulador..................................................................................................... Ejecutar su aplicacin en un smartphone.................................................................................................. Ms tutoriales................................................................................................................................................... 5 Presentacin de Java SDK................................................................................................................................. API de ciclo de vida de la aplicacin................................................................................................................. API de la interfaz de usuario (IU)...................................................................................................................... API de integracin de aplicaciones................................................................................................................... API de la gestin PIM........................................................................................................................................ API de mensajera............................................................................................................................................. API de conexin de red..................................................................................................................................... API de utilidades y de la plataforma CLDC........................................................................................................ Caractersticas del dispositivo y BlackBerry Infrastructure............................................................................... API de almacenamiento de datos..................................................................................................................... API multimedia................................................................................................................................................. API de servicios basados en ubicacin.............................................................................................................. API de seguridad............................................................................................................................................... Compatibilidad con las API estndar de Java.................................................................................................... 6 Comentarios..................................................................................................................................................... 7 Glosario............................................................................................................................................................. 8 Historial de revisin del documento................................................................................................................. 3 3 4 5 7 7 8 8 9 9 10 10 11 12 13 13 15 17 21 21 23 25 26 29 31 31 33 36 37 38 40

9 Aviso legal.........................................................................................................................................................

41

Gua de introduccin

Introduccin

Introduccin
Sugerencias para crear una aplicacin ptima Una introduccin a las herramientas de desarrollo de aplicaciones BlackBerry Java Un tutorial para aprender a crear una aplicacin sencilla Una introduccin a los componentes de las API en BlackBerry Java SDK

Bienvenido al desarrollo de aplicaciones Java de BlackBerry. Esta gua le ayudar a empezar a crear aplicaciones de mvil para smartphones BlackBerry. En esta gua encontrar:

Esta gua est diseada como introduccin a los recursos de desarrollo de BlackBerry Java, y por tanto ofrece enlaces a informacin adicional en las guas de desarrollo de BlackBerry Java SDK y BlackBerry Developer Zone.

Cmo obtener ayuda para el desarrollo de Java


En caso de duda o si desea realizar cualquier pregunta, RIM pone a su disposicin todo tipo de recursos. Estos incluyen... Plataformas gratuitas para la consulta de dudas: Foro de asistencia tcnica para desarrolladores de Java Developer Issue Tracker (para registrar errores y consultar los informes de errores) Desarrollo de BlackBerry en Twitter Desarrollo de BlackBerry para la comunidad Facebook

Plataformas de pago para la consulta de dudas: Asistencia tcnica basada en incidentes para desarrolladores Programa BlackBerry Alliance

Puede que su pregunta ya est respondida. Breve descripcin general de los recursos de desarrollo de Java: Guas de desarrollo de Java Aplicaciones Java de muestra Referencia API de Java Recursos para desarrolladores Pgina de introduccin a Java de la zona para desarrolladores de BlackBerry Blog para desarrolladores de BlackBerry Base de conocimientos para el desarrollo de Java

Gua de introduccin

Crear una aplicacin ptima

Crear una aplicacin ptima


Advertising Service, Payment Service y Analytics Service son SDK independientes, por lo que no dependen de ninguna versin de BlackBerry Java SDK. Estos servicios se han diseado para una integracin sencilla.

Research In Motion proporciona las siguientes soluciones para ayudarle a alcanzar el xito con sus aplicaciones. Todos estos servicios se proporcionan de forma gratuita.

Podr anunciar su aplicacin en App World


BlackBerry App World es un portal para proveedores proporcionado por RIM para la venta de aplicaciones. Podr registrarse de forma gratuita en App World o bien utilizarlo para vender sus aplicaciones. App World ya viene incorporado en los nuevos smartphones BlackBerry. Alrededor del 90% de la base de 50 millones de suscriptores con cuentas de BlackBerry tiene acceso a App World. App World est disponible en alrededor de 70 pases y es compatible con 21 monedas y 6 idiomas. Para obtener ms informacin, consulte: Distribucin de BlackBerry App World Guas para desarrolladores del escaparate BlackBerry App World

Podr colocar anuncios en sus aplicaciones


Advertising Service es un SDK y portal Web que puede utilizar para colocar anuncios en sus aplicaciones. El SDK est diseado para permitirle integrar anuncios en sus aplicaciones sin escribir mucho cdigo. Mediante el portal Web, puede modificar el contenido de los anuncios despus de iniciar su aplicacin (como cambiar las redes de anuncios), y hacer un seguimiento de las estadsticas de sus anuncios. Para obtener ms informacin, consulte: Servicio de publicidad Guas para desarrolladores y referencia API de Advertising Service

Convierta su aplicacin en un negocio rentable


Payment Service es un SDK que puede utilizar para conseguir dinero por sus aplicaciones. Sus clientes podrn utilizar cualquiera de los mtodos de pago asociados con su BlackBerry ID. Los mtodos de pago incluyen la facturacin al proveedor de servicios inalmbricos, tarjeta de crdito o PayPal. El servidor de Payment Service procesa todas las solicitudes de compra. Para obtener ms informacin, consulte: Servicio de pago Guas para desarrolladores y referencia API de Payment Service

Recopile datos acerca del uso de su aplicacin

Gua de introduccin

Disear su aplicacin

Analytics Service es un SDK y portal Web que puede ayudarle a comprender el uso de sus aplicaciones. Por ejemplo, puede reunir datos acerca de sus usuarios como su modelo de smartphone BlackBerry, versin, pas de origen e idioma; el nmero de usuarios nicos, el nmero total de sesiones y la longitud media de una sesin; y datos como vistas de pantalla, clics y errores de aplicacin. Analytics Service recopila los datos, los compila y genera informes y mtricas en un portal Web. Para obtener ms informacin, consulte: Servicio de anlisis Guas para desarrolladores y referencia API de Analytics Service

Disear su aplicacin
Esta seccin proporciona los pasos bsicos de planificacin de una aplicacin ptima, con vnculos a informacin ms detallada.

Investigar el mercado
El primer paso debe ser investigar el mercado para determinar lo que desean los potenciales usuarios. Para las aplicaciones cuya venta est prevista a travs del escaparate BlackBerry App World, deber realizar un estudio del potencial de mercado y observar su actual comportamiento en el mismo. Para las aplicaciones de empresa, deber determinar los niveles de necesidad y capacidad de los usuarios de destino.

Decidir la compatibilidad con versiones


Cada smartphone BlackBerry ejecuta una versin de BlackBerry Device Software que se corresponde con una versin de BlackBerry Java SDK. Las aplicaciones sern compatibles con las versiones actuales y futuras, pero es posible que no lo sean con las anteriores. Por ejemplo, las aplicaciones escritas en BlackBerry Java SDK 5.0 se ejecutan en BlackBerry Device Software 6.0, pero es posible que no se ejecuten en BlackBerry Device Software 4.7. Para obtener ms informacin acerca del diseo de aplicaciones para mltiples versiones, consulte: Migrar su aplicacin a BlackBerry 7 Desarrollar aplicaciones para versiones de BlackBerry Device Software y modelos de smartphone BlackBerry diferentes

Para obtener ms informacin acerca de las caractersticas del modelo y del uso por parte de los clientes de los modelos, consulte: Escoger el SO de un dispositivo de destino Modelos de smartphone BlackBerry Referencia API para BlackBerry Java SDK y Gua de desarrollo de componentes de la interfaz de usuario de BlackBerry Java SDK (para la versin en la que se introdujeron cada uno de los componentes API)

Gua de introduccin

Disear su aplicacin

En BlackBerry Java Plug-in para Eclipse, puede empaquetar su proyecto de aplicacin BlackBerry (y sus proyectos dependientes) para varias versiones de BlackBerry Device Software. Cuando distribuye su aplicacin, el complemento crea un archivo master .alx en la carpeta Standard de su proyecto de aplicacin de BlackBerry. Al distribuir su aplicacin por Internet, el complemento crea los archivos .jad y .cod para cada versin de BlackBerry Device Software en la carpeta Web de su proyecto de aplicacin BlackBerry. Para obtener ms informacin acerca del empaquetado de proyectos de aplicaciones para varias versiones, consulte las guas para desarrolladores de BlackBerry Java Plug-in para Eclipse.

Decidir qu caractersticas de BlackBerry integrar en su aplicacin


Las aplicaciones para smartphones de xito (especialmente en el mercado de consumo) aprovechan la tecnologa de los mismos. Por ejemplo, se integran con las redes sociales, los calendarios, las cmaras, GPS o con capacidades de insercin. Algunos smartphones BlackBerry contienen magnetmetros (una brjula de tres ejes que detecta la direccin), acelermetros que detectan el movimiento del smartphone en un espacio en 3-D, sensores NFC, etc. Para obtener informacin acerca de las caractersticas de BlackBerry y cmo aprovecharlas al mximo en su aplicacin, consulte: Super Apps de BlackBerry Gua de desarrollo de Super App de BlackBerry Java SDK Gua de desarrollo de integracin de BlackBerry Java SDK

Para obtener ms informacin acerca de los acelermetros y magnetmetros, consulte la Gua de desarrollo de la interfaz de usuario y navegacin de BlackBerry Java SDK. Para obtener ms informacin acerca de NFC, consulte la Gua de desarrollo de red y conectividad de BlackBerry Java SDK. Para obtener informacin sobre nuevas caractersticas de BlackBerry Java SDK 7, consulte: Migrar su aplicacin a BlackBerry 7 BlackBerry Java SDK 7: Novedades de esta versin

Revisin de las directrices de diseo de BlackBerry


Research In Motion ha investigado extensivamente para desarrollar prcticas recomendadas y sugerencias de diseo para que pueda emplearlas al disear una interfaz de usuario. Para obtener ms informacin, consulte las Directrices de interfaces de usuario de smartphones BlackBerry. Si desea obtener una rpida referencia de los componentes de la interfaz de usuario que puede crear, consulte los Componentes de la interfaz de usuario de BlackBerry Java SDK.

Consulte las aplicaciones de ejemplo


RIM proporciona numerosas aplicaciones de ejemplo para ayudarle a empezar. Se instalan como parte del BlackBerry Java Plug-in para Eclipse. Todas las aplicaciones de ejemplo estn documentadas con comentarios de cdigo. Algunas de ellas tambin incluyen manuales del usuario. Puede encontrar los manuales del usuario en Aplicaciones Java de muestra.
6

Gua de introduccin

Herramientas de desarrollo de Java

Herramientas de desarrollo de Java


BlackBerry Java Plug-in para Eclipse incluye BlackBerry Java SDK. El complemento tambin incluye una funcionalidad para simplificar sus esfuerzos de desarrollo, como herramientas para compilar su cdigo en los archivos que necesita para la implementacin de BlackBerry y una funcionalidad para crear aplicaciones para mltiples versiones de BlackBerry Device Software.

Esta seccin describe las herramientas del desarrollo que puede utilizar para el desarrollo de aplicaciones para el smartphone BlackBerry.

Acerca de BlackBerry Java Plug-in para Eclipse


Eclipse es una herramienta de desarrollo de cdigo abierto y de uso gratuito. Con el fin de ampliar Eclipse para el desarrollo de aplicaciones BlackBerry, RIM proporciona BlackBerry Java Plug-in para Eclipse, tambin de forma gratuita. Este complemento simplifica el desarrollo de aplicaciones Java para smartphones BlackBerry al tiempo que le da acceso a las herramientas estndar de Eclipse, como la de asistencia de cdigo. BlackBerry Java Plug-in para Eclipse es la herramienta de desarrollo preferida a la hora de desarrollar aplicaciones Java de BlackBerry. Sin embargo, puede utilizar, de forma alternativa, Visual Studio o NetBeans como su entorno de desarrollo. El complemento incluye BlackBerry Java SDK, BlackBerry Smartphone Simulator y numerosas aplicaciones de ejemplo. El complemento tambin incluye las siguientes herramientas de desarrollo: RAPC: puede utilizar este compilador de smbolo de sistema para compilar archivos .java y .jar en archivos .cod. Las aplicaciones del smartphone deben ser archivos .cod. JavaLoader: puede utilizar esta herramienta para agregar o actualizar una aplicacin en un smartphone para probar y para ver informacin sobre los archivos .cod de la aplicacin. BlackBerry Signature Tool: puede utilizar esta herramienta para enviar solicitudes de firma de cdigo a BlackBerry Signing Authority Tool. Herramienta de verificacin previa: puede utilizar esta herramienta para comprobar parcialmente sus clases antes de cargar su aplicacin en un smartphone. JDWP: puede utilizar esta herramienta para depurar aplicaciones utilizando entornos de desarrollo integrados de terceros.

Haya versiones de BlackBerry Java Plug-in para Eclipse para sistemas operativos Windows y Macintosh. Si anteriormente ha desarrollado aplicaciones Java de BlackBerry con BlackBerry JDE, podr importar su proyecto a Eclipse con BlackBerry Java Plug-in para Eclipse. Tras la versin 1.1, BlackBerry Java Plug-in para Eclipse no es ya compatible con los archivos de proyecto (.jdp) ni con los archivos de espacio de trabajo (.jdw), adems ha dejado de ser compatible con las versiones anteriores de BlackBerry JDE.

Instalar BlackBerry Java Plug-in y Eclipse IDE


Para instalar Eclipse ID o BlackBerry Java Plug-in, debe tener una cuenta en BlackBerry Developer Zone. La suscripcin es gratis.

Gua de introduccin

Simuladores

Puede descargar Eclipse IDE y el complemento juntos. Si ya tiene Eclipse instalado, puede elegir instalar Eclipse IDE con BlackBerry Java Plug-in en un directorio diferente, o sobrescribir su instalacin existente. Estos son los sitios de descarga para Eclipse con el complemento: BlackBerry Java Plug-in para Eclipse v1.3 (Windows) BlackBerry Java Plug-in para Eclipse v1.3 (Mac)

Si ya tiene Eclipse Classic 3.6.x instalado, puede instalar el complemento y SDK sin volver a instalar Eclipse. Puede hacer esto en Eclipse, o a travs de Help > Install New Software (debe especificar un sitio de actualizacin de BlackBerry para esto) o Window > Preferences (ample el elemento Java y seleccione Installed JREs). Una vez que tiene el complemento instalado, puede actualizar la versin de JavaSDK o eliminar Java SDK. Puede encontrar las instrucciones completas de la instalacin aqu: guas de desarrollo de BlackBerry Java Plug-in para Eclipse (para Windows y Mac).

Para obtener ms informacin acerca de Eclipse y Java Plug-in.


Guas de desarrollo de BlackBerry Java Plug-in para Eclipse (para Windows y Mac) Sitio de actualizacin de BlackBerry Java Plug-in para Eclipse Herramientas de Java

Simuladores
Cuando instala el BlackBerry Java Plug-in para Eclipse, se incluye un simulador en la descarga. Sin embargo, es una buena prctica probar su aplicacin en simuladores para varios modelos de smartphone. Puede descargar otros simuladores de BlackBerry gratuitos. Para obtener ms informacin acerca de los simuladores y cmo descargarlos, consulte: Simuladores de smartphones BlackBerry Guas de desarrollo de simuladores de smartphones BlackBerry

Claves de firma de cdigo


Algunas API de BlackBerry necesitan claves de firma de cdigo. Mediante estas API podr probar su aplicacin en un simulador pero no podr implementarla hasta que utilice su clave para firmar la aplicacin. En la referencia API, los elementos que requieren claves de firma de cdigo se especifican con la imagen de un candado. Las claves de firma de cdigo de BlackBerry son gratuitas. Para registrarse y obtener claves de firma de cdigo, visite www.blackberry.com/SignedKeys. Sus claves se enviarn por correo electrnico, junto con instrucciones sobre cmo utilizarlas. Para obtener ms informacin acerca del uso de las claves de firma de cdigo, consulte la Gua de desarrollo de seguridad de BlackBerry Java SDK.

Gua de introduccin

Crear su primera aplicacin

Crear su primera aplicacin

BlackBerry Java Plug-in para Eclipse 1.3 y posterior proporciona plantillas que puede utilizar para crear un proyecto de aplicacin bsico de BlackBerry. Puede personalizar el cdigo en la plantilla segn convenga a sus necesidades, o puede crear una aplicacin desde cero con una plantilla vaca. Para empezar, crearemos una versin de la aplicacin "Hola mundo" mediante la plantilla Hola BlackBerry. Esta versin de "Hola mundo" es una aplicacin bsica de interfaz de usuario que proporciona algunos componentes sencillos de la interfaz de usuario. La aplicacin incluye un campo de texto editable que permite al usuario del dispositivo BlackBerry escribir texto en un campo; en este ejemplo, puede escribir su nombre. La aplicacin tambin incluye un campo de botn. Cuando el usuario del dispositivo BlackBerry escriba su nombre y haga clic en el botn Say Hello to, la aplicacin mostrar un cuadro de dilogo con el texto Hello <username> tal como se muestra en la siguiente captura de pantalla.

Crear la aplicacin Hola BlackBerry


Antes de comenzar: En BlackBerry Java Plug-in para Eclipse, asegrese de activar la perspectiva de desarrollo de aplicaciones para BlackBerry. Haga clic en Window > Open Perspective > Other y, a continuacin, seleccione BlackBerry Application Development. 1. 2. 3. 4. 5. 6. 7. En el men de BlackBerry, haga clic en New > BlackBerry Project. En el campo Project name, escriba HolaBlackBerry. En el cuadro de dilogo Nuevo proyecto de BlackBerry, seleccione Create new project in workspace. En JRE, seleccione Use a project specific JRE y, a continuacin, seleccione BlackBerry JRE 7.0.0 en la lista desplegable. Haga clic en Next. Haga clic en Next. Seleccione la plantilla Hello BlackBerry.

Gua de introduccin

Ejecutar su aplicacin

8.

Haga clic en Finish.

En la lista de proyectos del panel del Navegador de paquetes, aparece el proyecto de HolaBlackBerry. Puede ampliar el proyecto para comprobar que la carpeta de src/mypackage contenga dos archivos de origen de Java: HelloBlackBerry.java: este archivo contiene el cdigo fuente para la seccin principal de la aplicacin. HelloBlackBerryScreen.java: este archivo contiene el cdigo fuente para generar la pantalla.

Ejecutar su aplicacin
Puede ejecutar y probar su aplicacin en un BlackBerry Smartphone Simulator o un smartphone BlackBerry. BlackBerry Java Plug-in para Eclipse incluye simuladores para varios modelos de smartphones BlackBerry. Los simuladores ejecutan el mismo cdigo Java que los smartphones, as que un simulador ofrece un entorno preciso para probar cmo funcionar su aplicacin en un dispositivo BlackBerry.

Ejecutar su aplicacin en un simulador


En los siguientes pasos, utilizaremos la aplicacin Hola BlackBerry que creamos anteriormente para demostrar cmo ejecutar una aplicacin. 1. 2. En el panel Package Explorer, seleccione el proyecto que desea ejecutar. Para este ejemplo, seleccione el proyecto HelloBlackBerry. Para ejecutar la aplicacin en un simulador, realice una de las acciones siguientes: Haga clic con el botn derecho en el proyecto y, a continuacin, seleccione Run As > BlackBerry Simulator. Si ha activado la perspectiva de desarrollo de aplicaciones para BlackBerry, en la barra de herramientas de BlackBerry, haga clic en el botn Run on BlackBerry Simulator. BlackBerry Java Plug-in para Eclipse crea y empaqueta el proyecto y, a continuacin, inicia el simulador BlackBerry Smartphone Simulator. En la pantalla de inicio del simulador, haga clic en el icono de la aplicacin. En este ejemplo, haga clic en el icono Hello BlackBerry.

3.

10

Gua de introduccin

Ejecutar su aplicacin

4.

5. 6.

La aplicacin HolaBlackBerry se abre y muestra una pantalla con un campo de texto editable y un botn. Para probar la aplicacin HolaBlackBerry, escriba su nombre en el campo Enter Name y, a continuacin, haga clic en el botn Say Hello to. Se mostrar un cuadro de dilogo con el texto Hello <your name> y un botn OK. Haga clic en OK. Para cerrar la aplicacin, en el simulador, pulse la tecla Menu y, a continuacin, seleccione Close. Para cerrar el simulador, seleccione File > Exit.

Ejecutar su aplicacin en un smartphone


Antes de comenzar: Si su aplicacin utiliza API protegidas de Research In Motion, debe obtener en primer lugar las claves de firma de cdigo de RIM. Para obtener ms informacin acerca de la firma de cdigo y el registro con RIM para utilizar API protegidas, consulte www.blackberry.com/SignedKeys 1. 2. 3. Conecte el smartphone BlackBerry a su ordenador con un cable USB. En el panel Eclipse Package Explorer, haga clic con el botn derecho en el proyecto que desea cargar en el dispositivo. Haga clic en BlackBerry > Load Project(s) on Device. BlackBerry Java Plug-in para Eclipse crea y empaqueta el proyecto. En el caso de que el smartphone BlackBerry est protegido por contrasea, se le pedir que la escriba. La aplicacin se carga en el dispositivo. En la pantalla de inicio del dispositivo BlackBerry, haga clic en el icono de la aplicacin para ejecutarla.

4.

11

Gua de introduccin

Ms tutoriales

Ms tutoriales
Aqu tiene algunos tutoriales avanzados: Tutorial: Crear un botn personalizado Tutoriales en los foros de asistencia de desarrolladores de Java

12

Gua de introduccin

Presentacin de Java SDK

Presentacin de Java SDK

El smartphone BlackBerry se crea en su totalidad desde el principio como un dispositivo basado en Java, con todas las aplicaciones y API integradas escritas en Java. BlackBerry Java SDK incluye API de Java ME y API especficas de BlackBerry. Las API de BlackBerry le proporcionan acceso a funciones avanzadas de la interfaz de usuario, adems de una fantstica integracin con las aplicaciones existentes, la capacidad de crear bases de datos con SQLite y utilizar las funciones de cifrado para proteger el contenido, la funcionalidad de integracin de caractersticas basadas en ubicacin (por ejemplo, mapas y la funcin de geoubicacin), etc. BlackBerry Java SDK se divide en doce categoras. Cada categora consta de API que ofrecen un tipo independiente de funcionalidad, por ejemplo, la creacin de una interfaz de usuario, redes, almacenamiento de datos y seguridad. Muchas de las categoras incluyen tanto API de Java ME como especficas de BlackBerry. Las doce categoras que forman BlackBerry Java SDK se describen en las secciones siguientes.

API de ciclo de vida de la aplicacin


El ciclo de vida de una aplicacin se refiere a los posibles estados y transiciones que atraviesa una aplicacin desde el momento de su creacin hasta su finalizacin. El ciclo de vida de una aplicacin BlackBerry es sencillo: lanzamiento, ejecucin y finalizacin. Durante el estado de ejecucin, la mayora de las aplicaciones reciben y procesan eventos y actualizan su interfaz de usuario de forma correspondiente. Todas las aplicaciones tienen una clase de aplicacin derivada de Application o de UiApplication. Si quiere crear una aplicacin con una IU, su aplicacin debe ampliar UiApplication. De lo contrario, su aplicacin deber ampliar Application.

Iniciando
Una aplicacin BlackBerry se puede iniciar de varias maneras: El usuario hace clic en un icono en la pantalla de inicio. El sistema inicia automticamente la aplicacin cuando el smartphone se enciende. Otra aplicacin la inicia. El sistema inicia la aplicacin a una hora programada.

En ejecucin
Independientemente de cmo se inicie una aplicacin, el Administrador de aplicaciones ser el responsable de iniciar el proceso en el cual se ejecutar la aplicacin. La clase ApplicationManager permite a las aplicaciones interactuar con el Administrador de aplicaciones para realizar tareas, incluidas: Ejecutar una aplicacin inmediatamente o a una hora especfica. Interactuar con procesos, por ejemplo, la recuperacin de los ID de las aplicaciones en primer plano. Publicar eventos globales en el sistema.

El Administrador de aplicaciones inicia una aplicacin obteniendo un nuevo proceso y generando un subproceso dentro del mismo para llamar a uno de los puntos de entrada de la aplicacin. Para muchas aplicaciones, el mtodo main() de la clase de la aplicacin es el nico punto de entrada al que se llama. Sin embargo, puede
13

Gua de introduccin

API de ciclo de vida de la aplicacin

configurar ms de un punto de entrada para una aplicacin. Si hay varios puntos de entrada, los usuarios podrn iniciar la aplicacin de diversas maneras. Por ejemplo, si su aplicacin permite a los usuarios crear un documento nuevo, es posible que desee proporcionar a los usuarios dos iconos en los que hacer clic para iniciar la aplicacin. Los usuarios podrn hacer clic en uno de los iconos para abrir la aplicacin en su pantalla de inicio y en el otro icono para abrir la aplicacin en la pantalla necesaria para crear un documento nuevo. Los descriptores de la aplicacin son conjuntos de datos acerca de una aplicacin. Una sola aplicacin puede tener ms de un descriptor asociado a dicha aplicacin. Una aplicacin con varios puntos de entrada tiene un descriptor de aplicacin que se corresponde con cada uno de esos puntos de entrada. Puede utilizar la clase ApplicationDescriptor para trabajar con los descriptores de la aplicacin. El entorno operativo de BlackBerry consta de varios subprocesos. Le permite ejecutar varias aplicaciones de forma simultnea. Es compatible con la difusin de eventos a varias aplicaciones y con la ejecucin de subprocesos en segundo plano. El subproceso de eventos es el nico subproceso que puede procesar eventos y actualizar la interfaz de usuario de la aplicacin, as que no deber utilizarlo para ejecutar instrucciones que puedan generar errores o tardar mucho tiempo en completarse. Si, por ejemplo, necesita establecer una conexin de red, debe generar y utilizar otro subproceso. Es posible que se den situaciones en las que desee actualizar la interfaz de usuario a partir de un subproceso sin eventos. Existen dos posibilidades. Puede utilizar subprocesos en segundo plano para acceder a la interfaz de usuario adoptando el bloqueo de eventos durante un breve perodo de tiempo. Esta opcin es til si debe realizar una actualizacin rpida o urgente de la IU. En este caso, debe completar rpidamente la actualizacin de la IU que requiere y liberar el bloqueo. De lo contrario, la aplicacin perder su capacidad de respuesta y es posible que el sistema la interrumpa finalmente. Adquiere el bloqueo de eventos llamando a Application.getEventLock() en el subproceso en segundo plano, y a continuacin sincronizando este objeto para serializar el acceso a la IU. Podr agregar un objeto Runnable a la cola de eventos. Esta opcin es preferible si es admisible experimentar una demora antes de que su tarea se ejecute. Inserte un evento en la forma de un objeto que implementa Runnable. El evento ser administrado por el subproceso de eventos cuando sea recibido desde la cola de mensajes. El subproceso de eventos procesa el evento llamando a su mtodo run(). Para insertar eventos Runnable en la cola de mensajes de su aplicacin, utilice el mtodo invokeAndWait() o el mtodo invokeLater().

En cualquier caso, no deber ejecutar tareas que consuman una gran cantidad de tiempo o que puedan bloquearse. Si utiliza llamadas de biblioteca dentro de su tarea, asegrese de conocer su funcionamiento y utilcelas nicamente si se pueden implementar rpidamente y sin ningn tipo de bloqueo.

Interrupcin
Una de las formas de interrumpir una aplicacin consiste en invocar System.exit(), que hace que BlackBerry JVM ponga fin a todos los procesos del autor de la llamada y, como resultado, a todos los subprocesos asociados. De forma alternativa, puede interrumpir una aplicacin sacando la ltima pantalla de la pila de visualizacin, esto har que el mtodo close() realice una llamada a System.exit().

14

Gua de introduccin

API de la interfaz de usuario (IU)

Se recomienda eliminar manualmente el registro de cualquier servicio de escucha que haya registrado antes de interrumpir su aplicacin. Puesto que normalmente iniciar el subproceso del distribuidor de eventos llamando a Application.enterEventDispatcher(), que no finalizar, su aplicacin deber proporcionar una forma de interrupcin. Las aplicaciones que interactan con el usuario podran proporcionar un controlador para el elemento de men Close y las aplicaciones que no interactan con el usuario podran poner fin a la aplicacin tras la gestin de algn evento del sistema que represente la razn para su existencia.

Ms informacin sobre el ciclo de vida de las aplicaciones


Ciclo de vida de la interfaz de usuario

API de la interfaz de usuario (IU)


La API de la IU le ayuda a crear interfaces de usuario para las pantallas de BlackBerry. Las aplicaciones con una herramienta de interfaz net.rim.device.api.ui.UiApplication, que es una subclase de net.rim.device.api.system.Application. Un objeto UIApplication mantiene una pila de objetos de pantalla. Cuando inserta pantallas en la pila, los dibuja sobre cualquier otra pantalla ya en la pila. Cuando la aplicacin saca una pantalla de la pila, vuelve a trazar las pantallas subyacentes segn sea necesario. Slo la pantalla en el principio de la pila recibe eventos de entrada. Los tres objetos principales de la interfaz son Field, Manager, y Screen.

Fields
Un Field representa una regin rectangular contenida por un gestor. Cada control, como un botn, corresponde a una instancia de un campo. No puede crear una instancia de Field directamente, pero puede utilizar campos preconstruidos y crear campos personalizados. Cada campo dibuja el control y gestiona las entradas de los usuarios. A continuacin tiene algunos de los campos preconstruidos ms usados: ButtonField proporciona un botn nico LabelField proporciona una etiqueta de texto TextField proporciona una etiqueta de texto DateField le permite almacenar una fecha y mostrarla en distintos formatos en un campo (por ejemplo, 2011/11/17) MapField le permite representar un mapa en un campo BrowserField le permite mostrar contenido Web en un campo

Puede crear campos personalizados ampliando la clase Field.

Gerentes
Un Manager, tambin llamado gestor de diseo, gestiona la disposicin y desplazamiento de los campos. Un objeto Manager contiene campos. Hay varias subclases de Manager que administran tipos especficos del diseo de campo.

15

Gua de introduccin

API de la interfaz de usuario (IU)

Varios gestores tiles se definen en el paquete net.rim.device.api.ui.container. Los siguientes gestores son los ms utilizados. VerticalFieldManager, que dispone los campos en una nica columna vertical HorizontalFieldManager, que dispone los campos en una nica fila horizontal FlowFieldManager, que dispone los campos horizontalmente en primer lugar y, a continuacin, verticalmente

Debe definir un gestor de diseo en el nivel superior de su pantalla y, a continuacin, agregar campos al mismo. Puesto que los gestores de diseo son subclases de Field, pueden incrustarse en otros gestores de diseo. Tambin puede definir su propio gestor de diseo.

Screens
Un objeto Screen es el contenedor de nivel superior de los elementos de la interfaz de usuario que representa lo que desea mostrar. Los objetos Screen pueden contener campos (por ejemplo, campos de texto), gestores de diseo, botones de opcin y listas desplegables. La API de la interfaz tiene dos tipos principales de objeto Screen: FullScreen se subdivide a su vez en las subclases MainScreen y PhoneScreen PopupScreen se subdivide a su vez en subclases: Dialog, Status, LocationPicker y AbstractLocationPicker

Puede mostrar informacin complementaria para su aplicacin en una pantalla desplegable sin interrumpir el flujo de la aplicacin. Como resultado, no tiene que abandonar la pantalla principal y, a continuacin, volver a la misma ms tarde. Adems, puede dar prioridad a los objetos PopupScreen que deben insertarse en la parte superior de la pila de visualizacin invocando pushGlobalScreen(Screen, int, int).

Mens
Los smartphones BlackBerry organizan comandos en un men al cual se puede acceder pulsando la tecla Men. Los elementos del men son instancias de MenuItem. Puede personalizar el men que se abre para su aplicacin. Puede: Agregar o eliminar elementos del men dependiendo del estado de la pantalla o la aplicacin cuando el men se abra Especificar el orden de los elementos del men Especificar el orden de los elementos del men y el elemento del men seleccionado de forma predeterminada

Listeners (Oyentes)
La API de la IU contiene un modelo de servicios de escucha de eventos genricos que le permite implementar servicios de escucha para numerosos tipos de eventos, como cuando se cambia un campo, o cuando el usuario pulsa una tecla, hace clic en el panel tctil o la bola de desplazamiento, o bien toca la pantalla tctil. Puede establecer un servicio de escucha para un objeto Field invocando setChangeListener() de la clase Field.

Patrn de diseo Model-View-Control

16

Gua de introduccin

API de integracin de aplicaciones

Algunos componentes estndar en la API de la IU, incluidos los indicadores de actividad y de progreso en el paquete net.rim.device.api.ui.component.progressindicator y las listas y tablas del paquete net.rim.device.api.ui.component.table, utilizan el patrn de diseo Model-View-Controller (MVC). Antes de utilizar estos componentes, debe estar familiarizado con el patrn de diseo MVC. Hay numerosos recursos impresos y en lnea en los que obtener ms informacin acerca de MVC.

Objetos Screen modales


Los objetos Screen se insertan en la pila de visualizacin mediante los mtodos pushScreen() y pushModalScreen() de la clase UiApplication. Puesto que pushModalScreen() se bloquea hasta que el objeto Screen abandona la pila de visualizacin (donde vuelve inmediatamente pushScreen()), el orden de operaciones es crucial cuando se utilizan objetos Screen modales. No invoque pushModalScreen() antes de iniciar el subproceso del distribuidor de eventos, pues si lo hace se generar una RuntimeException. Otros mtodos, como Dialog.inform() y Dialog.alert(), tambin utilizan pushModalScreen().

Grficos
Dispone de varias opciones para crear grficos en un smartphone BlackBerry: Puede agregar componentes predefinidos de la interfaz de usuario como texto, controles de entrada e imgenes a los objetos Screen. Puede hacer dibujos personalizados sencillos en una pantalla omitiendo el mtodo paint() de la clase que representa la pantalla y utilizando los mtodos suministrados por el objeto Graphics para dibujar en la pantalla. Puede dibujar grficos en 2D con las API de SVG: org.w3c.dom, org.w3c.dom.events y org.w3c.dom.svg. Puede crear imgenes ms sofisticadas en 2D mediante las API de la utilidad de grficos: API de OpenGL ES o API de OpenVG. Puede crear imgenes en 3D mediante la API de OpenGL ES. Crear un botn personalizado Gua de desarrollo de interfaz de usuario y navegacin de BlackBerry Java SDK Gua de desarrollo de grficos y animaciones de BlackBerry Java SDK Directrices de la interfaz de usuario de smartphones BlackBerry Gua de desarrollo de componentes de la interfaz de usuario de BlackBerry Java SDK

Ms informacin acerca de la interfaz de usuario

API de integracin de aplicaciones


Las API de integracin de aplicaciones contienen paquetes que puede utilizar para integrar sus aplicaciones con aplicaciones principales como la aplicacin Contactos, Telfono y Multimedia.

API Invoke
Puede utilizar la API Invoke para invocar aplicaciones principales y pasar opcionalmente los datos. Para utilizar esta API, llame a invokeApplication y pase el tipo de aplicacin y el argumento correspondiente. Puede utilizar la API Invoke para invocar las siguientes aplicaciones principales:

17

Gua de introduccin

API de integracin de aplicaciones

contactos calculadora calendario cmara BlackBerry Maps notas mensajes telfono bsqueda tareas

Invoke contiene campos APP_TYPE que enumeran las aplicaciones. Para cada aplicacin principal que pueda ser invocada con la API Invoke, hay una subclase correspondiente de la clase ApplicationArguments. Por ejemplo, para invocar la aplicacin Telfono, llame a invokeApplication y pase el tipo de aplicacin Telfono y un argumento PhoneArguments. Para invocar una aplicacin sin argumentos, pase null en lugar de un objeto ApplicationArguments.

API Content Handler


Puede utilizar la API Content Handler (CHAPI) para invocar tanto aplicaciones principales como de terceros. JSR 211 define CHAPI como una API opcional de Java ME. Para obtener ms informacin acerca de CHAPI, consulte la descripcin general del paquete javax.microedition.content. Para utilizar CHAPI para invocar aplicaciones, proporcione una URL, un tipo de contenido, o un ID de contenido con uno de los constructores en la clase javax.microedition.content.Invocation. Cuando se utiliza CHAPI con los ID de contenido proporcionados por RIM para invocar controladores de contenido de RIM, CHAPI puede suponer una buena forma de configuracin de parmetros de invocacin para aplicaciones principales, incluida la aplicacin Multimedia. Tambin puede utilizar CHAPI para invocar aplicaciones de terceros que se registren como controladores de contenido.

BlackBerry Browser
Puede invocar BlackBerry Browser y abrir una pgina Web con los mtodos en la clase Browser y la clase BrowserSession. Para obtener ms informacin acerca de cmo invocar la clase Browser, adems de cmo invocar una clase Browser no especificada navegador predeterminado, consulte el artculo de la Base de conocimientos Invocar Browser. Tambin puede incrustar contenido Web en su aplicacin con la clase BrowserField.

Administrador de aplicaciones
Puede iniciar una aplicacin principal con la clase ApplicationManager, especificando el mdulo de cdigo de la aplicacin. Utilice esta tcnica slo si la aplicacin no se puede invocar con cualquiera de las tcnicas descritas anteriormente. No puede pasar los argumentos de la aplicacin a una aplicacin principal con esta tcnica. Puede utilizar ApplicationManager para invocar las siguientes aplicaciones principales:
18

Gua de introduccin

API de integracin de aplicaciones

Aplicacin reloj sonidos BlackBerry Messenger opciones

Nombre del mdulo net_rim_bb_clock net_rim_bb_profiles_app net_rim_bb+_qm_peer net_rim_bb_options_app

Nota: Los nombres de los mdulos de las aplicaciones principales estn sujetos a cambios. La invocacin directa de mdulos pueden tener efectos secundarios involuntarios.

Activar aplicaciones principales para invocar su aplicacin


Puede agregar elementos de men a una aplicacin principal con el paquete menuitem. Por ejemplo, puede aadir un elemento de men denominado "Ver pedido de ventas" a la aplicacin Contactos. Cuando el usuario haga clic en Ver pedido de ventas, la aplicacin se abre y muestra una lista de pedidos de ventas para ese contacto. La clase ApplicationMenuItemRepository proporciona las constantes que especifican la aplicacin principal en la que aparece su elemento de men. Por ejemplo, la constante MENUITEM_MESSAGE_LIST especifica que el elemento de men debe aparecer en la aplicacin Mensajes. La constante MENUITEM_SYSTEM especifica que su elemento de men aparece en la mayora de las aplicaciones principales. Las aplicaciones que utilizan ActiveAutoTextEditField o el campo ActiveRichTextField (por ejemplo, las aplicaciones Calendario y Mensajes) pueden reconocer que los patrones de cadena y proporcionar elementos especficos para esos patrones de cadena en el men del smartphone. Por ejemplo, si un mensaje contiene un nmero de telfono, el nmero se selecciona. Si el usuario del smartphone selecciona el nmero y pulsa la tecla Men, se muestra el elemento especial del men Llamar a nmero. Puede definir sus propios patrones de cadena y asociar los patrones con elementos de men personalizados. Los elementos de men personalizados se muestran cuando un usuario selecciona una cadena coincidente en un campo ActiveAutoTextEditField o ActiveRichTextField y abre el men. Los elementos de men personalizados pueden llevar a cabo cualquier accin, por ejemplo, iniciar su aplicacin. Puede utilizar la clase PatternRepository para registrar una expresin regular Perl-style o una cadena especfica con el repositorio de patrones en el smartphone. Puede utilizar la clase ApplicationMenuItem para definir un elemento de men que est asociado al patrn de cadena. Para obtener ms informacin acerca del repositorio de patrones y los campos de texto activos, consulte la aplicacin de ejemplo Campos de texto activos. Puede registrar los controladores de contenido que invocan su aplicacin mediante la clase Registry, proporcionada en la API Content Handler. Al registrar el controlador de contenido, puede proporcionar una matriz para especificar las acciones que invocan al controlador. ContentHandler.ACTION_OPENLos controladores de contenido para los tipos MIME que no son compatibles con el smartphone se utilizan en BlackBerry Browser, el navegador de archivos y el elemento de men Abrir archivo adjunto en la aplicacin Mensajes.

19

Gua de introduccin

API de integracin de aplicaciones

ContentHandler.ACTION_SENDLos controladores de contenido para los tipos MIME de imagen o vdeo se

utilizan en el navegador de archivos (incluida la aplicacin Multimedia) y en el men Enviar como en la aplicacin Cmara.

Incrustar contenido en aplicaciones BlackBerry


Puede incrustar contenido en aplicaciones de varias formas, incluidas las siguientes: Agregar aplicaciones a la aplicacin Mensajes mediante el paquete messagelist Vincular contactos en su aplicacin con los contactos de la aplicacin Contactos mediante el paquete contactlinking Agregar contenido a las pantallas del telfono mediante el paquete phonequi Agregar opciones para su aplicacin mediante el paquete options Registrar su aplicacin como una fuente de notificacin mediante el paquete notification

Incrustar componentes de la interfaz de usuario en su aplicacin


Puede incluir en sus aplicaciones numerosos componentes especializados de la interfaz de usuario. Por ejemplo, puede implementar: Campos con la funcin Autocompletar mediante el paquete component Colectores de ubicacin (que permite a los usuarios seleccionar una ubicacin a travs de los contactos, GPS, ubicaciones recientes y sugerencias de la aplicacin) que utilizan el paquete picker en la API LBS Colectores de archivos (que permiten a los usuarios seleccionar un archivo en una carpeta) a travs del paquete picker en la API de la interfaz de usuario (IU) Mapas incrustados que utilizan la clase MapField Contenido Web incrustado que utiliza la clase BrowserField Reproductores multimedia incrustados y grabadoras multimedia que utilizan la API Mobile Media (JSR 135), tal como implementan javax.microedition.media y javax.microedition.media.control

Bsqueda unificada
El Servicio de bsqueda unificada es un motor de bsqueda que se incluye con BlackBerry Device Software 6 o posterior. Puede utilizar la API de bsqueda unificada (net.rim.device.unifiedsearch) para incluir sus datos de aplicaciones en el repositorio del servicio de bsqueda unificada y buscar en el ndice de contenidos desde su aplicacin.

Para obtener ms informacin acerca de la integracin de aplicaciones


Super Apps de BlackBerry Gua de desarrollo de Super App de BlackBerry Java SDK Gua de desarrollo de integracin de BlackBerry Java SDK Gua de desarrollo de interfaz de usuario y navegacin de BlackBerry Java SDK

20

Gua de introduccin

API de la gestin PIM

API de la gestin PIM


Las API del PIM incluyen paquetes que le permiten acceder a la libreta de direcciones, los calendarios, tareas y notas de su aplicacin. El smartphone BlackBerry es totalmente compatible con la implementacin del PIM de J2ME establecida en JSR 75 y proporciona una serie de extensiones personalizadas. El paquete javax.microedition.pim proporciona una serie de interfaces que le permiten acceder a los datos de gestin PIM en un smartphone BlackBerry. Los datos de gestin PIM se organizan en listas, elementos y campos de gestin de PIM. Las listas de gestin PIM son bases de datos que contienen todos los elementos de gestin PIM a los que se puede acceder en un smartphone. Las listas de gestin PIM mantienen categoras, que son agrupaciones lgicas de elementos de gestin PIM contenidos en la lista. Cada objeto PIMList admite cero o ms categoras. Las categoras se representan mediante nombres nicos de String. Un objeto PIMItem representa una recopilacin de datos para una nica entrada de PIM. Un PIMItem es una agrupacin de campos relacionados, cada campo consta de una etiqueta, un tipo de datos, valores y atributos. Un elemento de gestin PIM se crea a partir de una lista de gestin PIM en particular y se asocia con dicha lista a lo largo del ciclo de vida del elemento. Un elemento de gestin PIM puede importar y exportar sus datos utilizando formatos estndar basados en bytes. Cada clase de implementacin define qu formatos se pueden importar y exportar para dicho elemento. Puede iniciar aplicaciones de gestin PIM con la API Invoke de BlackBerry.

Extensiones de RIM
Las extensiones de RIM para el PIM de J2ME incluyen: Compatibilidad con varios calendarios, varias listas de calendario y listas de contactos Lectura y escritura en el bloc de notas Obtencin y configuracin de la frecuencia de los elementos ToDo Configuracin una interfaz de usuario estndar para seleccionar un contacto Bsquedas en la Lista global de direcciones (GAL) (para entornos de BlackBerry Enterprise Server)

Para obtener ms informacin acerca de las extensiones de RIM para PIM, consulte net.rim.blackberry.api.pdap.

Para obtener ms informacin acerca del PIM


Gua de desarrollo de integracin de BlackBerry Java SDK Descripcin general de la categora API del PIM

API de mensajera
Las API de mensajera le permiten utilizar la funcionalidad de mensajera en sus aplicaciones, incluidos correos electrnicos, mensajes de aplicacin, SMS, MMS y BlackBerry Messenger.

Mensajes de correo electrnico


Los paquetes para los mensajes correo electrnico son net.rim.blackberry.api.mail y net.rim.blackberry.api.mail.event.

21

Gua de introduccin

API de mensajera

Para crear y enviar mensajes de correo electrnico, debe configurar el valor Sesin predeterminado, recuperar una instancia de Store, crear el mensaje de correo electrnico y almacenar el correo electrnico en una carpeta de elementos enviados recuperados. Por ltimo, debe configurar y enviar el mensaje de correo electrnico. Cada dispositivo BlackBerry tiene un PIN nico y admite mensajera PIN a PIN enviada con la aplicacin Mensajes. Para configurar su aplicacin de forma que cree y enve mensajes PIN, establezca la Sesin predeterminada, recupere una instancia de Store, establezca la direccin de PIN de destino, cree el mensaje PIN y almacene el mensaje en una carpeta enviada recuperada. Por ltimo, debe configurar y enviar el mensaje de PIN. Para enviar un mensaje de correo electrnico con un archivo adjunto, cree el objeto Multiparte, cree y aada el archivo adjunto a este objeto, y estructure y enve el mensaje correo electrnico. Para descargar automticamente archivos adjuntos en mensajes de correo electrnico en segundo plan cuando los mensajes lleguen a la lista de mensajes, utilice la interfaz DownloadProgressListener y la clase AttachmentDownloadManager.

Mensajes de la aplicacin
Un ApplicationMessage es un mensaje personalizado que aparece en la aplicacin Mensajes y que invoca su aplicacin cuando el usuario la abre o elige un elemento del men proporcionado para el mensaje. Puede utilizar un paquete messagelist para crear mensajes de la aplicacin.

Mensajes SMS y MMS


Puede crear aplicaciones que envan y reciben mensajes SMS o mensajes MMS. La compatibilidad con los mensajes SMS se proporciona a travs de JSR 120. La compatibilidad con los mensajes MMS se proporciona a travs de JSR 205. Puede realizar las siguientes acciones: Envo y recepcin de mensajes SMS. Enviar y recibir mensajes MMS. Configurar servicios de escucha para mensajes salientes y enviados

Puede enviar mensajes SMS con la API javax.wireless.messaging y la API Invoke de BlackBerry. No es posible enviar mensajes SMS directamente desde un smartphone BlackBerry que opera en una red CDMA. Para recibir mensajes SMS a travs de BlackBerry Java SDK 4.6.0 o posterior, utilice la interfaz MessageListener. Si utiliza una versin anterior del SDK, utilice la interfaz MessageConnection. Si desea que mensajes SMS especficos se guarden en una carpeta de mensajes SMS, debe especificar la ubicacin de la carpeta mediante MessageArguments cuando se reciba el mensaje SMS por parte del smartphone BlackBerry. Las aplicaciones no pueden acceder a los mensajes SMS almacenados en el smartphone BlackBerry. Para escuchar los mensajes SMS entrantes que aparecen en la lista de mensajes, debe configurar el argumento del nmero de puerto de Connector.open() en 0 - Connector.open("sms://:0"). Los mensajes MMS cuentan con un encabezado MMS y un cuerpo MMS. El encabezado MMS consta de direccin, prioridad, asunto e informacin de entrega. El cuerpo MMS es la parte de archivo adjunto multimedia. Para recibir mensajes MMS mediante BlackBerry Java SDK 4.6.0 o posterior, utilice la interfaz MessageListener. Si utiliza una versin anterior de BlackBerry JDE, debe utilizar la interfaz MessageConnection.

22

Gua de introduccin

API de conexin de red

El envo de mensajes MMS es similar al envo de mensajes SMS, a excepcin de que debe pasar la constante MULTIPART_MESSAGE al crear el objeto MessageConnection. Para escuchar los mensajes MMS entrantes que aparecen en la lista de mensajes, configure el ID de la aplicacin Connector.open() seleccionada en 0. Adems de proporcionar notificaciones a las aplicaciones cuando se reciben mensajes (mediante la interfaz MessageListener), tambin puede configurar las notificaciones de las aplicaciones para los mensajes SMS y MMS salientes y enviados. Para los mensajes SMS, puede configurar su aplicacin para efectuar un seguimiento de los mensajes SMS enviados pasando una instancia de una clase que implementa la interfaz OutboundMessageListener al invocar MessageConnection.setMessageListener(). La notificacin mediante esta interfaz ocurre slo una vez que el mensaje se ha enviado correctamente. Si la operacin de envo genera un error, no se notificar a la aplicacin.

BlackBerry Messenger
BBM es un programa de mensajera instantnea que permite a los usuarios de smartphones BlackBerry comunicarse sin iniciar sesin o salir de la aplicacin. Siempre que los smartphones estn conectados a una red mvil, BBM mantiene conectados a los usuarios con sus contactos y grupos de BBM. BlackBerry Messenger SDK es una descarga independiente de BlackBerry Java SDK. BBM SDK, utilizado en conjunto con BlackBerry Java SDK, le permite desarrollar aplicaciones que incorporan caractersticas sociales, por ejemplo, conexiones punto a punto entre smartphones BlackBerry y los chats integrados. Por ejemplo, en una aplicacin de un juego de ajedrez, el usuario del smartphone BlackBerry podra invitar a un contacto de BBM a jugar una partida de ajedrez y los movimientos podran enviarse y recibirse mediante la plataforma BBM. No es necesario que desarrolle estas caractersticas sociales por su cuenta, y tampoco es necesaria una herramienta de desarrollo de servidor para ofrecer compatibilidad con las mismas. Para obtener ms informacin acerca de BBM, consulte las guas para desarrolladores del SDK de la plataforma social BlackBerry Messenger.

Para obtener ms informacin acerca de la mensajera


Gua de desarrollo de integracin de BlackBerry Java SDK

API de conexin de red


Las API de conexin de red contienen paquetes para administrar los flujos de datos de entrada y salida. Las API proporcionan una amplia variedad de funciones. Puede utilizarlas para conectarse o bien trabajar con tarjetas inteligentes microSD o incluso con servicios LDAP de empresa. Tambin puede utilizar el Marco genrico de conexin (GCF). Los smartphones BlackBerry utilizan tecnologas de comunicacin de radio como Wi-Fi, CDMA y GPRS para comunicarse mediante conexiones inalmbricas. Los smartphones BlackBerry funcionan con distintos mtodos de transporte de red a travs de dichas tecnologas de radio para conectarse a Internet o redes privadas.

API de red
La API de red se ha diseado para facilitar la creacin de conexiones HTTP, HTTPS, de socket, TLS, SSL, UDP y de datagrama. Incluye las clases para las dos principales tareas implicadas en la creacin de una conexin de red:

23

Gua de introduccin

API de conexin de red

probe: clase TransportInfo connect: clase ConnectionFactory

Puede utilizar el mtodo TransportInfo.getAvailableTransportTypes() para determinar qu tipos de transporte son compatibles con el smartphone. A continuacin, puede utilizar el mtodo TransportInfo.isTransportAvailable() para determinar si el smartphone puede finalmente utilizar el tipo de transporte suministrado. Por ltimo, puede probar la cobertura del tipo de transporte mediante TransportInfo.hasSufficientCoverage(). Tras la secuencia de llamadas de sondeo, conocer los tipos de transporte que hay disponibles y si el smartphone se encuentra en cobertura para el transporte elegido. La API de red no crea conexiones seguras para subprocesos. Su aplicacin se bloquear si llama a ConnectionFactory.getConnection() en el subproceso de evento. Al llamar a este mtodo para crear una conexin, se crea un subproceso sin eventos. La manera ms sencilla de utilizar la clase ConnectionFactory para crear una conexin consiste en llamar al mtodo ConnectionFactory.getConnection(), especificando slo la URL a la que conectarse. El mtodo devolver un objeto ConnectionDescriptor desde el que llamar a ConnectionDescriptor.getConnection() para recuperar un objeto Connection que podr relacionar con un subobjeto adecuado. La solucin BlackBerry tambin activa aplicaciones de servidor para insertar datos de forma proactiva en smartphones BlackBerry de un modo sumamente seguro y fiable.

Marco genrico de conexin (GCF)


El GCF es marco ampliable de fcil manejo que le permite crear conexiones y realizar operaciones de entrada y salida. Se proporciona en javax.microedition.io y java.io. Cada conexin que realice mediante GCF, comienza con la fbrica de conexiones, que se implementa mediante la clase Connector. Puede llamar a Connector.open() para crear cualquier tipo de conexin compatible. El primer parmetro de Connector.open() es un URI (tal como se describe en RFC 2396) que especifica el tipo de conexin a realizar, el extremo al que conectarse y detalles opcionales de configuracin de la conexin. Una vez se establece la conexin, una interfaz de conexin que se corresponde con el tipo de conexin creado, es devuelto desde la llamada a Connector.open(). Deber relacionar la interfaz de conexin devuelta al subtipo de conexin adecuada segn el URI especificado.

NFC
El paquete de API de NFC le permite leer y escribir datos en etiquetas inteligentes, emular una etiqueta inteligente y acceder a un elemento seguro incrustado en un smartphone BlackBerry o tarjeta SIM. La API de NFC admite la mayora de los tipos principales de etiquetas. NFC se ofrece en el paquete net.rim.device.api.io.nfc. Puede comprobar si un smartphone admite NFC con las clases de DeviceCapability en el paquete net.rim.device.api.system.capability. Para leer y escribir en etiquetas inteligentes, puede registrar su aplicacin para recibir las notificaciones cuando un smartphone BlackBerry detecte una etiqueta. Puede registrar servicios de escucha con la clase ReaderWriterManager en el paquete net.rim.device.api.io.readerwriter. Puede configurar un smartphone para

24

Gua de introduccin

API de utilidades y de la plataforma CLDC

que emule una etiqueta inteligente con el paquete net.rim.device.api.io.nfc.emulation. Para conectar accesorios inteligentes a su dispositivo, puede utilizar la clase net.rim.device.blackberry.api.accessory.AccessoryManager. Puede utilizar el paquete net.rim.device.api.io.nfc.se para acceder a un elemento seguro.

Otros tipos de conexin


LDAP: net.rim.device.api.ldap Servicio push: para clientes (net.rim.device.api.push) y para servidores (guas de desarrollo del servicio push) Tarjetas inteligentes y lectores de tarjetas inteligentes: net.rim.device.api.smartcard y gua de desarrollo de tarjetas inteligentes de BlackBerry Java SDK Javacards: javax.microedition.jcrmi Descripcin general de la categora Conexiones de red Gua de desarrollo de redes y conectividad de BlackBerry Java SDK Tutorial de transportes de red

Para obtener ms informacin acerca de la conexiones de red

API de utilidades y de la plataforma CLDC


Las API de utilidades y de la plataforma CLDC proporcionan las principales funciones de idioma para sus aplicaciones. Los paquetes son: Paquetes principales de CLDC 1.1 Paquetes de servidor web J2ME Paquetes de RIM que son extensiones de CLDC y J2ME

Paquetes principales de CLDC 1.1


Estos paquetes forman parte de la versin JSR 139, Connected Limited Device Configuration 1.1. Estos paquetes proporcionan el conjunto principal de API para desarrollar aplicaciones en dispositivos inalmbricos con restriccin de recursos, como por ejemplo, smartphones BlackBerry. java.lang proporciona las clases Java principales java.lang.ref proporciona compatibilidad con referencias dbiles (referencias que no protegen a los objetos de la recopilacin de datos desechables) java.util proporciona clases de recopilacin estndar (Hashtable, Stack y Vector) y compatibilidad con fecha y hora

Paquetes de servicios Web de J2ME


Estos paquetes forman parte de J2ME Web Services Specification (JSR 172). Estos paquetes proporcionan compatibilidad bsica con dispositivos con Java ME, como por ejemplo, un smartphone BlackBerry, para que acten como un cliente de servicios Web mediante interfaces de programacin estndar. java.rmi proporciona las clases principales de Remote Method Invocation javax.microedition.xml.rpc proporciona compatibilidad con JAX-RPC javax.xml.namespace proporciona compatibilidad con el espacio de nombre
25

Gua de introduccin

Caractersticas del dispositivo y BlackBerry Infrastructure

javax.xml.parsers proporciona compatibilidad con el procesamiento de documentos XML mediante el uso del procesamiento XML basado en eventos SAX (Simple API for XML). javax.xml.rpc proporciona compatibilidad con JAX-RPC en el cliente de servicios Web org.xml.sax proporciona compatibilidad con eventos principales SAX org.xml.sax.helpers proporciona clases helper para la compatibilidad con SAX

Paquetes de extensin de RIM


RIM proporciona API que complementan las API de Java Community Process. Por ejemplo, puede utilizar las clases de recopilacin proporcionadas por RIM, como BigVector o UnsortedReadableList, en lugar de la clase Vector estndar. En ocasiones, RIM proporciona clases que existen en Java SE pero que no se proporcionan (o slo se proporcionan parcialmente) en la versin estndar de Java ME. Por ejemplo: net.rim.device.api.xml.parsers complementa a javax.xml.parsers al aadir DocumentBuilder y DocumentBuilderFactory, clases disponibles en Java SE pero no en la versin estndar de Java ME net.rim.device.api.util.Arrays proporciona gran parte de las funcionalidades de la clase Arrays de Java SE, que no est disponible en la versin estndar de Java ME net.rim.device.api.util.MathUtilities contiene mtodos que estn disponibles en la clase java.lang.Math de Java SE, pero no en la versin estndar de Java ME, incluidos mtodos de trigonometra inversa net.rim.device.api.xml proporciona valores constantes para su uso en el procesamiento WBXML, que es una forma binaria de XML apta para su uso en aplicaciones inalmbricas. El paquete net.rim.device.api.xml.jaxp proporciona compatibilidad con el procesamiento XML y complementa org.xml.sax al aadir extensiones a las clases helper estndar

Los paquetes proporcionados por RIM en la categora de utilidades y plataforma CLDC son: Paquetes relacionados con servicios Web y XML: net.rim.device.api.xml, net.rim.device.api.xml.jaxp y net.rim.device.api.xml.parsers Paquetes relacionados con recopilaciones: net.rim.device.api.collection, net.rim.device.api.collection.util y net.rim.device.api.util Matemticas y otras utilidades: net.rim.device.api.math y net.rim.device.api.util J2ME Web Services (documento tcnico de Sun)

Para obtener ms informacin acerca de la categora de utilidades y la plataforma CLDC

Caractersticas del dispositivo y BlackBerry Infrastructure


Los paquetes de estas API incluyen clases que le permiten consultar los detalles acerca del hardware y otras caractersticas de un smartphone BlackBerry.

Caractersticas del dispositivo

26

Gua de introduccin

Caractersticas del dispositivo y BlackBerry Infrastructure

Hay algunos mecanismos generales que puede utilizar para consultar la informacin disponible acerca de un smartphone. Puede utilizar System.getProperty() para obtener informacin acerca de numerosas caractersticas del smartphone, por ejemplo, si admite las mezclas de audio y qu zona horaria se ha configurado actualmente. Puede utilizar la clase DeviceCapability para consultar si las capacidades cubiertas estn admitidas, permitidas o disponibles. Mediante la API del libro de servicios (net.rim.device.api.servicebook), su aplicacin puede interactuar con el libro de servicios en el smartphone. Por ejemplo, puede utilizar un registro de servicios para controlar varias conexiones de correo electrnico o para buscar mensajes de correo electrnico individuales dentro de una jerarqua de correo electrnico basada en el ID del contenido del elemento del correo electrnico. Las siguientes clases, principalmente en el paquete net.rim.device.api.system, proporcionan mtodos que le permiten obtener informacin acerca del smartphone: Clase AccelerometerSensor Audio Backlight BluetoothSerialPort Branding CDMAInfo DeviceInfo Los mtodos ofrecen datos tales como... Si el smartphone tiene un acelermetro Si el smartphone admite audio, cdecs, auriculares; si los auriculares estn conectados; el volumen Si la retroiluminacin est activada y si el brillo se puede configurar; el brillo, el brillo predeterminado y el tiempo de espera de la retroiluminacin Si se admite Bluetooth; informacin sobre Bluetooth ID de fabricante, versin de los datos de marca, si los datos de marca estn firmados El nmero de serie electrnico (ESN) e identificador de equipo mvil (MEID) del smartphone La versin de la plataforma, la versin de software, el nombre del fabricante, el PIN, el ID del dispositivo, el nombre del dispositivo, si es un simulador, el nivel de batera, el estado de la batera, la temperatura de batera, el voltaje de batera, si la batera se puede extraer, si hay una cmara, el tamao de la memoria flash Propiedades como subpxeles y requisitos para la retroiluminacin; la resolucin horizontal y vertical; la altura y el ancho del rea de dibujo; el nmero de colores que se muestran Identidad internacional de equipos mviles (IMEI) Si el smartphone admite GPS; modo de GPS predeterminado Si se admite LED, si el LED es multicolor Estadsticas de RAM, el tamao de la memoria flash, la cantidad de memoria flash libre Informacin del propietario, el nombre del propietario El nmero de telfono; si el correo de voz est activado Familias de acceso inalmbrico compatibles

Display

GPRSInfo GPSInfo LED Memory OwnerInfo Telfono RadioInfo

27

Gua de introduccin

Caractersticas del dispositivo y BlackBerry Infrastructure

Clase Sensor SIMCardInfo USBPort

Los mtodos ofrecen datos tales como... Si el smartphone tiene tapa y si est abierta; si tiene un sensor de funda y si est en su funda; si tiene un teclado deslizante y el estado del teclado El nmero de International Mobile Subscriber Identity (Identidad internacional de suscriptor mvil o IMSI) Si hay un puerto USB; el estado de la conexin USB

BlackBerry Infrastructure
Research In Motion ofrece dos tipos bsicos de infraestructura: BlackBerry Enterprise Server y BlackBerry Internet Service. BES: BlackBerry Enterprise Server es una solucin inalmbrica con caractersticas de seguridad avanzadas para empresas con departamentos de IT. BlackBerry Enterprise Server se ejecuta detrs del firewall de la empresa y se integra con una infraestructura existente en la empresa. Est diseado para ser un vnculo seguro y centralizado entre la red inalmbrica, el software de comunicacin, las aplicaciones y los smartphones BlackBerry de una empresa. Los administradores pueden aplicar reglas de polticas de TI y directivas de control de las aplicaciones para controlar los smartphones utilizados en la empresa. Para los desarrolladores Java, en un entorno BES, hay varias API de inters: BlackBerry Administration API: una descarga separada de BlackBerry Java SDK. Consulte las guas de desarrollo de BlackBerry Administration API. Servicios web de BlackBerry para administracin: una descarga independiente de Java SDK. Consulte las guas de desarrollo de los servicios web de BlackBerry para administracin. En Java SDK hay muchas API relevantes para desarrolladores de BES, incluida la API de poltica de TI (net.rim.device.api.itpolicy) y la de control de aplicaciones (net.rim.device.api.applicationcontrol).

BIS: BlackBerry Internet Service es un servicio de correo electrnico y de Internet para dispositivos diseado para proporcionar funciones a los suscriptores de mensajes como la entrega automtica de correo electrnico, acceso mvil a los mensajes adjuntos y cmodo acceso a contenidos de Internet. BlackBerry Internet Service utiliza la seguridad de la red inalmbrica a la que se conecta. Los mensajes de correo electrnico que se envan entre BlackBerry Internet Service y el smartphone BlackBerry no estn cifrados. Si estos mensajes de correo electrnico se envan a travs de la red inalmbrica, utilizan los modelos de seguridad de red inalmbrica existentes o disponibles. Sin embargo, los mensajes de correo electrnico que se envan entre BlackBerry Internet Service y el servidor de mensajera se pueden cifrar a travs del cifrado SSL. El explorador y otras aplicaciones del dispositivo BlackBerry pueden utilizar el cifrado SSL con el fin de proteger los datos cuando los suscriptores se conectan a Internet (por ejemplo, mientras realiza compras o consulta sus datos bancarios en lnea).

Servicio push

28

Gua de introduccin

API de almacenamiento de datos

El servicio push ofrece una manera eficaz y segura de enviar informacin a smartphones BlackBerry. Puede crear una aplicacin con push mediante la API de push, net.rim.blackberry.api.push. La API de push detecta la informacin de fondo y despierta su aplicacin cuando llega nueva informacin. La funcionalidad de servidor se ofrece en el Push SDK que se descarga por separado; consulte las guas de desarrollo de Push Service SDK.

Ms informacin sobre caractersticas e infraestructura


BlackBerry Enterprise Server

API de almacenamiento de datos


Existen varios mtodos de almacenamiento, uso compartido y gestin de datos para sus aplicaciones: Enfoque del almacenamiento de datos Sistema de archivos Base de datos SQLite Almacn constante Almacn de tiempo de ejecucin Almacn de registros Descripcin y API

Almacena los datos en archivos y carpetas mediante la API FileConnection. Almacena los datos en bases de datos relacionales mediante la API Database. Almacena objetos despus de varios reinicios del smartphone mediante la API PersistentStore. Guarda los objetos de forma no constante, lo cual es muy til para compartir datos entre aplicaciones y crear instancias nicas de sistema mediante la API RuntimeStore. Almacena los datos en el sistema de administracin de registros MIDP mediante la API RMS.

La siguiente tabla compara las caractersticas de cada enfoque: Caractersticas Sistema de archivos Cualquiera Base de datos Almacn SQLite constante Archivo de base de datos relacional Tarjeta de memoria externa, almacenami ento multimedia integrado Objeto de Java Almacn de tiempo de ejecucin Objeto de Java Almacn de registros Serializado

Data format

Storage locations

Almacenamient o para aplicaciones, tarjeta de memoria externa,

Almacenamient o para aplicaciones

Almacenamien to para aplicaciones

Almacenamient o para aplicaciones

29

Gua de introduccin

API de almacenamiento de datos

Caractersticas

Sistema de archivos almacenamient o multimedia integrado Tamao de las particiones a las que el usuario tiene acceso

Base de datos Almacn SQLite constante

Almacn de tiempo de ejecucin

Almacn de registros

Maximum storage limit

BlackBerry Device Software support

Persists across smartphone restarts Applications can share S data

4.2 o posterior (API FileConnection) S

Tamao de las particiones a las que el usuario tiene acceso 5.0 o posterior S S

Almacenamient o para aplicaciones disponible

Almacenamien to para aplicaciones disponible

Vara segn la versin de BlackBerry Device Software

Todo

3.6 o posterior

Todo

S S

No S

S S

A continuacin se ofrecen algunas consideraciones que le ayudarn a elegir un enfoque de almacenamiento de datos: El sistema de archivos y las bases de datos SQLite constituyen, normalmente, la ubicacin de almacenamiento ms eficaz para archivos grandes de slo lectura como vdeos o grficos de gran tamao. La memoria de los smartphones inalmbricos puede ser muy limitada, por lo que debe considerar no almacenar todos los datos en el smartphone. Los smartphones BlackBerry estn con frecuencia conectados por lo que aplicacin puede acceder a los datos cuando sea necesario. En muchos casos, el mejor enfoque consiste en almacenar los datos despus de varios reinicios del smartphone slo para los datos a los que se accede con frecuencia. A la hora de considerar dnde almacenar los datos esenciales, tenga presente que las tarjetas microSD se pueden quitar. Hay ms latencia en el proceso de escritura en el almacenamiento de la aplicacin que en el proceso de lectura del mismo. Por ejemplo, el proceso de lectura del almacn constante es relativamente rpido mientras que los objetos commits son relativamente lentos. El sistema de archivos y el almacn de registros son enfoques basados en estndares, mientras que el almacn constante y el almacn de tiempo de ejecucin son especficos para el smartphone BlackBerry. Si desea que su aplicacin se ejecute en otros dispositivos compatibles con Java ME, debe considerar un enfoque basado en estndares. Gua de desarrollo de almacenamiento de datos de BlackBerry Java SDK

Para obtener ms informacin acerca del almacenamiento de datos

30

Gua de introduccin

API multimedia

API multimedia
La API multimedia le permite reproducir y registrar audio y vdeo. Esta API es la Mobile Media API establecida en JSR 135 y se ofrece en el paquete javax.microedition.media. Para registrar y reproducir archivos multimedia en su aplicacin, deber utilizar la clase Player. Para crear una instancia de la clase Player, invoque createPlayer() en la clase javax.microedition.media.Manager. Al crear por primera vez la clase Player mediante uno de los mtodos createPlayer(), se adopta un estado UNREALIZED. Antes de poder obtener acceso a los metadatos o controles asociados a la clase Player, debe invocar el mtodo realize() del objeto Player. Este mtodo efecta una transicin de la clase Player al estado REALIZED. En el estado REALIZED, la clase Player proporciona acceso a los recursos asociados que controlan la reproduccin y la grabacin. Puede utilizar los mtodos getControl() y getControls() del objeto Player (heredados de Controllable), pasando un String que especifica el objeto Control necesario. Los controles para el reproductor multimedia estn disponibles en el paquete javax.microedition.media.control. Antes de que su aplicacin se cierre, debe invocar el mtodo close() del objeto Player para poner fin a la asignacin de los recursos creados por Player. Esta accin se podr llevar a cabo en cualquier momento para liberar memoria o recursos. Tras invocar close(), ya no podr utilizar la clase Player.

Para obtener ms informacin acerca de las opciones multimedia


Descripcin general de la categora multimedia Gua de desarrollo multimedia de BlackBerry Java SDK

API de servicios basados en ubicacin


Puede utilizar los paquetes en la API de LBS para: Buscar una ubicacin Mostrar informacin en un mapa Estimar el tiempo y la distancia de un viaje Llevar a cabo tareas de lmites geogrficos (delimitar un rea de supervisin de forma que pueda activar eventos cuando una persona acceda a ese rea)

Encontrar una ubicacin


Puede recuperar informacin de ubicacin para un smartphone BlackBerry utilizando uno de los siguientes servicios: GPS: proporciona informacin de ubicacin mediante satlites GPS. Puede recuperar informacin de ubicacin GPS mediante la API de ubicacin JSR 179 ubicada en el paquete javax. microedition.location o las extensiones BlackBerry para JSR 179 incluidas en el paquete net.rim.device.api.gps.

31

Gua de introduccin

API de servicios basados en ubicacin

Geoubicacin: proporciona una ubicacin utilizando la posicin de la antena celular y los puntos de acceso de WLAN. No es necesario disponer de la tecnologa GPS en el smartphone para utilizar el servicio de geoubicacin. La geoubicacin es til para aplicaciones que requieran una ubicacin aproximada y que puedan utilizarse en interiores (por ejemplo, aplicaciones que realizan recomendaciones sobre lugares de inters locales). Puede recuperar la geoubicacin mediante el paquete net.rim.device.api.gps. Codificacin geogrfica y codificacin geogrfica inversa: proporciona las coordenadas geoespaciales de una calle (codificacin geogrfica), as como la calle de las coordenadas geoespaciales (codificacin geogrfica inversa).

Mostrar informacin en un mapa


Tras recuperar la ubicacin de un smartphone BlackBerry, puede mostrar la informacin de ubicacin en BlackBerry Maps o en un mapa personalizado. BlackBerry Maps es una aplicacin de mapas y ubicaciones que puede mostrar un mapa, la ubicacin del smartphone BlackBerry, una ruta desde una ubicacin de partida a una ubicacin de destino especfica, as como puntos de inters en un mapa. Para crear mapas personalizados, puede aadir un objeto MapField o RichMapField a una pantalla, as como otros componentes de interfaz de usuario. Una vez que tenga un mapa personalizado, podr utilizarlo de las siguientes maneras: Especificar ubicaciones en el mapa Controlar el comportamiento del mapa Crear formas y objetos personalizados y mostrarlos en el mapa Mostrar objetos asignables al mapa que puedan actualizarse de manera dinmica a medida que cambia la informacin Aadir campos y superposiciones al mapa Personalizar el aspecto y la apariencia del mapa

Su aplicacin puede interactuar con BlackBerry Maps de las siguientes formas: Invoque BlackBerry Maps desde su aplicacin mediante el mtodo Invoke.invokeApplication() con parmetros MapsArguments. Puede mostrar lo siguiente: una ubicacin para una direccin de la aplicacin Contactos una ubicacin para un hito una ubicacin en coordenadas especficas una ubicacin o una ruta mediante un documento de ubicacin un ubicacin mediante informacin local de bsqueda una superposicin KML Abra BlackBerry Maps desde BlackBerry Browser

32

Gua de introduccin

API de seguridad

Puede crear un cuadro de dilogo de colector de ubicacin que permita al usuario elegir una ubicacin de una lista con posibles opciones definidas por usted. Puede definir el cuadro de dilogo de colector de ubicacin con la API Colector de ubicacin incluida en el paquete net.rim.device.api.lbs.picker. La ubicacin se pasar mediante un objeto javax.microedition.location.Landmark.

Estimar el tiempo y la distancia de un viaje


Puede recuperar el tiempo y la distancia estimados para viajar entre dos puntos en una fecha y una hora especficas mediante la API de duracin del viaje. Actualmente, la API de duracin del viaje ofrece estimaciones nicamente para recorridos en automvil por Estados Unidos y Canad. Para solicitar una estimacin de duracin del viaje, recupere una instancia de la clase TravelTimeEstimator. Utilice el mtodo requestArrivalEstimate() y especifique las coordenadas para las ubicaciones de partida y destino y la hora de partida. La solicitud se reenviar a un servidor de duracin del viaje que identificar una ruta entre las ubicaciones de partida y destino y utilizar informacin en tiempo real e histrica sobre el trfico para calcular una estimacin de la duracin del viaje. La estimacin refleja las condiciones conocidas en la fecha especificada y a la hora determinada. La estimacin de la duracin del viaje es devuelta por TravelTimeEstimator mediante una instancia de la clase TravelTime.

Establecer lmites geogrficos


Puede utilizar la clase Geofence incluida en el paquete net.rim.device.api.location para definir reas de lmites geogrficos y recibir notificaciones cuando un usuario de smartphone BlackBerry acceda o abandone la zona especificada. Un lmite geogrfico es un rea geogrfica virtual de inters se puede definir mediante un radio alrededor de una ubicacin o mediante las coordenadas que definen un polgono de la ubicacin. Su aplicacin debe crear una instancia para un objeto Geofence e implementar GeofenceListener para recibir las notificaciones para eventos de lmites geogrficos (cuando un usuario acceda o abandone una zona de lmites geogrficos). Cada instancia de lmites geogrficos puede procesar hasta 20 reas supervisadas al mismo tiempo.

Para obtener ms informacin acerca del LBS


Descripcin general de la categora de servicios basados en ubicacin Gua de desarrollo de servicios basados en ubicacin de BlackBerry Java SDK

API de seguridad
Las API de seguridad incluyen la RIM Cryptographic API y la API de proteccin de contenido.

API de cifrado de RIM


Mediante la RIM Cryptographic API, puede cifrar y descifrar datos, firmar digitalmente y comprobar los datos, trabajar con conexiones altamente seguras, as como administrar claves cifradas. API de mensajera segura: la API de mensajera segura es una implementacin del CMS estndar. CMS especifica los tipos estndar de contenido para el cifrado. Describe los formatos del mensaje y la transmisin para esos tipos de contenido. S/MIME est basado en CMS. El paquete net.rim.device.api.crypto.cms ofrece las clases que le permitirn crear y administrar los tipos de contenido CMS.

33

Gua de introduccin

API de seguridad

API de conexin segura: la API de conexin segura define la funcionalidad del protocolo que puede utilizar para establecer comunicaciones sumamente seguras. Puede utilizar los siguientes protocolos: SSL: el estndar SSL est diseado para proteger los datos enviados mediante conexiones de TCP/IP; se utiliza en la implementacin de HTTPS. SSL se proporciona en el paquete net.rim.device.api.crypto.tls.ssl30 . TLS: el estndar TLS pertenece a IETF y est basado en la versin 3 de SSL. TLS se dise para sustituir a SSL y su adopcin ha sido muy amplia. TLS se proporciona en los paquetes net.rim.device.api.crypto.tls y net.rim.device.api.crypto.tls.tls10. WTLS: el estndar WTLS es una capa sobre WAP, en lugar de sobre TCP/IP. La proteccin de las comunicaciones inalmbricas que utilizan WAP implica el uso de WTLS entre el smartphone cliente y el gateway WAP, y de SSL o TLS ms all del gateway WAP. WTSL se proporciona en el paquete net.rim.device.api.crypto.tls.wtls20 .

API del almacn de claves: un almacn de claves es una base de datos que almacena certificados y claves de cifrado. Cada smartphone BlackBerry tiene un almacn de claves precargado con certificados raz para todas las autoridades de certificacin. Esta prctica permite a los usuarios del smartphone BlackBerry confiar en los certificados raz, que forman la base para todas las cadenas de confianza subsiguientes. Las clases del almacn de claves se proporcionan en el paquete net.rim.device.api.crypto.keystore . API de certificados: los certificados son documentos electrnicos que almacenan claves, junto con informacin de identificacin. Hay varios paquetes que le ayudarn a administrar certificados de cifrado:
net.rim.device.api.crypto.certificate net.rim.device.api.crypto.certificate.status net.rim.device.api.crypto.certificate.x509 javax.microedition.pki net.rim.device.api.crypto.certificate.wtls

API de codificador: la codificacin es el proceso utilizado para convertir los datos de un formato a otro. Aunque a menudo forma parte del proceso de cifrado, la codificacin no es lo mismo que el cifrado y generalmente no es segura. Las claves se codifican para ofrecer una representacin estndar, no para proteger su identidad. Las clases para codificar claves y firmas se proporcionan en el paquete net.rim.device.api.crypto.encoder . API de ASN1: la mayora de las aplicaciones utilizan certificados producidos por una autoridad de certificacin. Si necesita analizar o leer certificados personalmente, debe utilizar el paquete net.rim.device.api.crypto.asn1 . API de OID: los identificadores de objeto se administran con el paquete net.rim.device.api.crypto.oid . API de valores bsicos: los valores bsicos de cifrado son las claves, MAC, las cifras, los algoritmos sin clave como los compendios y PRNG, y otras funcionalidades asociadas al cifrado simtrico y de clave pblica. Los valores bsicos de cifrado se proporcionan en el paquete net.rim.device.api.crypto .

Proteccin de contenido

34

Gua de introduccin

API de seguridad

La funcin de proteccin de contenido se encarga de evitar los problemas relacionados con el robo de un smartphone y la copia de los datos contenidos en l, algo que puede suceder incluso cuando los datos estn cifrados y el smartphone se encuentra bloqueado. La proteccin de contenido cifra los datos de tal forma que es imposible acceder a la clave de cifrado cuando el smartphone se encuentra bloqueado. Una implementacin de la proteccin de contenido consta de tres partes: Todos los modelos de smartphone BlackBerry incorporan la funcin de proteccin de contenido. Para hacer uso de ella, es imprescindible que el smartphone cuente con una contrasea de dispositivo. La proteccin de contenido deber activarla el propio usuario del smartphone o bien, deber activarse mediante una regla de poltica de TI. Para proteger los datos de una aplicacin, sta deber suscribirse al marco de proteccin de contenido mediante el registro de un servicio de escucha. La funcin de proteccin de contenido la activa el propio usuario al bloquear y desbloquear el smartphone.

La proteccin de contenido puede utilizarse para cifrar los datos de los objetos String o de matrices de bytes. La proteccin de contenido puede aplicarse a datos no constantes. No obstante, la API de proteccin de contenido contiene la funcionalidad especfica para el almacn constante. Las siguientes clases e interfaces se utilizan para implementar la proteccin de contenido: net.rim.device.api.system.PersistentContent: esta clase contiene mtodos de utilidad para codificar y decodificar datos, registrar servicios de escucha, as como para realizar otras tareas relacionadas con la proteccin de contenido. net.rim.device.api.system.PersistentContentListener: esta interfaz de servicio de escucha permite que su aplicacin reciba notificaciones cuando se produzcan cambios en el estado o la configuracin de la proteccin de contenido del smartphone. net.rim.device.api.system.PersistentContentException: esta excepcin surge cuando se produce un error relacionado con la proteccin de contenido.

BlackBerry Balance
Los administradores de BlackBerry Enterprise Server pueden establecer las reglas de poltica de TI que distinguen la informacin de trabajo y la personal en los smartphones BlackBerry de su empresa. Puede utilizar la API de plataforma multiservicio para implementar las caractersticas de BlackBerry Balance en sus aplicaciones. La clase net.rim.device.api.system.MultiServicePlatformManager y la interfaz de net.rim.device.api.system.MultiServicePlatformListener le permiten implementar controles de acceso a los datos y crear servicios de escucha que permitan a los administradores eliminar datos de forma remota. Los modos (como el de trabajo) se definen en la clase net.rim.device.api.system.ServiceMode. La clase net.rim.device.api.system.Application incluye mtodos para trabajar con los modos. La excepcin PL_INVALID_OPERATION se genera cuando una aplicacin no autorizada, personal o que no sea del trabajo intenta eliminar, crear, leer o cambiar un archivo de trabajo.

Para obtener ms informacin acerca de la seguridad


Gua de desarrollo de seguridad de BlackBerry Java SDK Descripcin general de la categora Cifrado
35

Gua de introduccin

Compatibilidad con las API estndar de Java

Compatibilidad con las API estndar de Java


BlackBerry Java SDK incluye API de Java ME, as como API especficas de BlackBerry. A continuacin se ofrece una lista de los JSR compatibles: JSR 30: Connected Limited Device Configuration (CLDC) versin 1.0 (compatible con dispositivos con BlackBerry Device Software versin 4.6.1 o anterior) JSR 37: Mobile Information Device Profile (MIDP) versin 1.0 JSR 75: Portable Optional Packages para la plataforma J2ME (PDAP) compatible nicamente con las API de PIM y la API de conexin de archivos para Java ME JSR 82: API de Java para Bluetooth JSR 118: Mobile Information Device Profile (MIDP) versin 2.1 JSR 120: Wireless Messaging API (WMA) versin 1.1 JSR 135: Mobile Media APIs (MM API) versin 1.1 JSR 139: Connected Limited Device Configuration (CLDC) versin 1.1 JSR 172: J2ME Web Services JSR 177: Security and Trust Services API para J2ME (SATSA-APDU) JSR 179: API de ubicacin para Java ME JSR 185: Java Technology for the Wireless Industry (JTWI) JSR 205: Wireless Messaging API 2.0 (WMA) JSR 211: Content Handler API (CHAPI) JSR 226: API de grficos vectoriales 2D escalables para Java ME (SVG) JSR 234: Advanced Multimedia Supplements (AMMS) JSR 238: Mobile Internationalization API JSR 239: Java Binding para la API de OpenGL ES (en algunos dispositivos)

36

Gua de introduccin

Comentarios

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

37

Gua de introduccin

Glosario

Glosario
AES Advanced Encryption Standard (Estndar de cifrado avanzado)

cifrado de capa de transporte de BlackBerry El cifrado de capa de transporte de BlackBerry (anteriormente conocido como cifrado BlackBerry estndar) utiliza un algoritmo simtrico de cifrado de claves para ayudar a proteger los datos que estn en trnsito entre un dispositivo BlackBerry y BlackBerry Enterprise Server cuando los datos se encuentran fuera de un firewall de la empresa. Entorno de BlackBerry Enterprise Server Un entorno de BlackBerry Enterprise Server consiste en una o ms instancias de BlackBerry Domain, un servidor de mensajera, as como cualquier software y hardware de terceros con los que interacten los componentes de BlackBerry Enterprise Server. certificado Un certificado es un documento digital que asocia la identidad y la clave pblica de un sujeto de certificado. Cada certificado tiene una clave privada correspondiente que se almacena por separado. Una autoridad de certificacin firma el certificado para indicar que es autntico y de confianza. CLDC Configuracin de dispositivos con conexin limitada (Connected Limited Device Configuration) claves de firma de cdigo Las claves de firma de cdigo son las claves almacenadas en tarjetas multimedia que firma los archivos para que un usuario pueda instalar y ejecutar los archivos en un dispositivo BlackBerry. proteccin de contenido La proteccin de contenido ayuda a proteger los datos de usuario en un dispositivo BlackBerry bloqueado cifrando los datos de usuario mediante la clave de proteccin de contenido y la clave privada ECC. HTTPS Hypertext Transfer Protocol over Secure Sockets Layer (Protocolo de transferencia de hipertexto a travs de un nivel de socket seguro) poltica de TI La poltica de TI consiste en varias reglas de poltica de TI que controlan las caractersticas de seguridad y el comportamiento de los smartphones BlackBerry, de las tabletas BlackBerry PlayBook, de BlackBerry Desktop Software y de BlackBerry Web Desktop Manager. Regla de poltica de TI

38

Gua de introduccin

Glosario

La regla de poltica de TI le permite personalizar y controlar las acciones que pueden realizar los smartphones BlackBerry, las tabletas PlayBook, BlackBerry Desktop Software y BlackBerry Web Desktop Manager. JDK Java Development Kit JVM Java Virtual Machine Java ME Plataforma Java, Micro Edition MIDP Perfil de dispositivo mvil de informacin (Mobile Information Device Profile) S/MIME Secure Multipurpose Internet Mail Extensions (Extensiones seguras multiuso del correo de Internet) TCP/IP El protocolo de control de transmisin/protocolo de Internet (TCP/IP) es un conjunto de protocolos de comunicacin usado para transmitir datos a travs de una red, como por ejemplo Internet. WAP Wireless Application Protocol (Protocolo de aplicaciones inalmbricas) WTLS Wireless Transport Layer Security (Capa inalmbrica de seguridad de transporte)

39

Gua de introduccin

Historial de revisin del documento

Historial de revisin del documento


Fecha 13 de julio de 2011 Descripcin Versin inicial

40

Gua de introduccin

Aviso legal

Aviso legal

2011 Research In Motion Limited. Reservados todos los derechos. BlackBerry, RIM, Research In Motion y las marcas comerciales, nombres y logotipos relacionados son propiedad de Research In Motion Limited y estn registrados y/o se usan en EE. UU. y en diferentes pases del mundo. Bluetooth es una marca comercial de Bluetooth SIG. Eclipse es una marca comercial de Eclipse Foundation, Inc. Facebook es una marca comercial de Facebook, Inc. GSM es una marca comercial de GSM MOU Association. Intel y Pentium son marcas comerciales de Intel Corporation. Java, JavaScript y NetBeans son marcas comerciales de Oracle America, Inc. OpenGL es una marca comercial de Silicon Graphics, Inc. OpenVG es una marca comercial de Khronos Group Inc. SQLite es una marca comercial de Hipp, Wyrick & Company, Inc. SVG Tiny es una marca comercial de W3C. Twitter es una marca comercial de Twitter, Inc. Wi-Fi es una marca comercial de Wi-Fi Alliance. Todas las dems marcas comerciales son propiedad de sus respectivos propietarios. Esta documentacin, incluida cualquier documentacin que se incorpore mediante referencia como documento proporcionado o disponible en www.blackberry.com/go/docs, se proporciona o se pone a disposicin "TAL CUAL" y "SEGN SU DISPONIBILIDAD" sin ninguna condicin, responsabilidad o garanta de ningn tipo por Research In Motion Limited y sus empresas afiliadas ("RIM") y RIM no asume ninguna responsabilidad por los errores tipogrficos, tcnicos o cualquier otra imprecisin, error u omisin contenidos en esta documentacin. Con el fin de proteger la informacin confidencial y propia de RIM, as como los secretos comerciales, la presente documentacin describe algunos aspectos de la tecnologa de RIM en lneas generales. RIM se reserva el derecho a modificar peridicamente la informacin que contiene esta documentacin, si bien tampoco se compromete en modo alguno a proporcionar cambios, actualizaciones, ampliaciones o cualquier otro tipo de informacin que se pueda agregar a esta documentacin. Esta documentacin puede contener referencias a fuentes de informacin, 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 ningn 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 vnculos o cualquier otro aspecto de los Productos y servicios de terceros. La inclusin de una referencia a los Productos y servicios de terceros en esta documentacin 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 PROHBA ESPECFICAMENTE LA LEY DE SU JURISDICCIN, QUEDAN EXCLUIDAS POR LA PRESENTE TODAS LAS CONDICIONES, APROBACIONES O GARANTAS DE CUALQUIER TIPO, EXPLCITAS O IMPLCITAS, INCLUIDA, SIN NINGN TIPO DE LIMITACIN, CUALQUIER CONDICIN, APROBACIN, GARANTA, DECLARACIN DE GARANTA DE DURABILIDAD, IDONEIDAD PARA UN FIN O USO DETERMINADO, COMERCIABILIDAD, CALIDAD COMERCIAL, ESTADO DE NO INFRACCIN, 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 DOCUMENTACIN O SU USO O RENDIMIENTO O NO RENDIMIENTO DE CUALQUIER SOFTWARE, HARDWARE, SERVICIO O CUALQUIER PRODUCTO O SERVICIO DE TERCEROS MENCIONADOS AQU. TAMBIN PODRA TENER OTROS DERECHOS QUE VARAN SEGN EL ESTADO O PROVINCIA. ES POSIBLE QUE ALGUNAS JURISDICCIONES NO PERMITAN LA EXCLUSIN O LA LIMITACIN DE GARANTAS IMPLCITAS Y CONDICIONES. EN LA MEDIDA EN QUE LO PERMITA LA LEY, CUALQUIER GARANTA IMPLCITA O CONDICIONES EN

41

Gua de introduccin

Aviso legal

RELACIN CON LA DOCUMENTACIN NO SE PUEDEN EXCLUIR TAL Y COMO SE HA EXPUESTO ANTERIORMENTE, PERO PUEDEN SER LIMITADAS, Y POR LA PRESENTE ESTN LIMITADAS A NOVENTA (90) DAS DESDE DE LA FECHA QUE ADQUIRI LA DOCUMENTACIN O EL ELEMENTO QUE ES SUJETO DE LA RECLAMACIN. EN LA MEDIDA MXIMA EN QUE LO PERMITA LA LEY DE SU JURISDICCIN, EN NINGN CASO RIM ASUMIR RESPONSABILIDAD ALGUNA POR CUALQUIER TIPO DE DAOS RELACIONADOS CON ESTA DOCUMENTACIN O SU USO, O RENDIMIENTO O NO RENDIMIENTO DE CUALQUIER SOFTWARE, HARDWARE, SERVICIO O PRODUCTOS Y SERVICIOS DE TERCEROS AQU MENCIONADOS INCLUIDOS SIN NINGN TIPO DE LIMITACIN CUALQUIERA DE LOS SIGUIENTES DAOS: DIRECTOS, RESULTANTES, EJEMPLARES, INCIDENTALES, INDIRECTOS, ESPECIALES, PUNITIVOS O AGRAVADOS, DAOS POR PRDIDA DE BENEFICIOS O INGRESOS, IMPOSIBILIDAD DE CONSEGUIR LOS AHORROS ESPERADOS, INTERRUPCIN DE LA ACTIVIDAD COMERCIAL, PRDIDA DE INFORMACIN COMERCIAL, PRDIDA DE LA OPORTUNIDAD DE NEGOCIO O CORRUPCIN O PRDIDA DE DATOS, IMPOSIBILIDAD DE TRANSMITIR O RECIBIR CUALQUIER DATO, PROBLEMAS ASOCIADOS CON CUALQUIER APLICACIN QUE SE UTILICE JUNTO CON PRODUCTOS Y SERVICIOS DE RIM, COSTES DEBIDOS AL TIEMPO DE INACTIVIDAD, PRDIDA 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 PRDIDA MONETARIA SIMILAR, TANTO SI DICHOS DAOS SE HAN PREVISTO O NO, Y AUNQUE SE HAYA AVISADO A RIM DE LA POSIBILIDAD DE DICHOS DAOS. EN LA MEDIDA MXIMA EN QUE LO PERMITA LA LEY DE SU JURISDICCIN, RIM NO TENDR NINGN OTRO TIPO DE OBLIGACIN O RESPONSABILIDAD CONTRACTUAL, EXTRACONTRACTUAL O CUALQUIER OTRA, INCLUIDA CUALQUIER RESPONSABILIDAD POR NEGLIGENCIA O RESPONSABILIDAD ESTRICTA. LAS LIMITACIONES, EXCLUSIONES Y DESCARGOS DE RESPONSABILIDAD SE APLICARN: (A) INDEPENDIENTEMENTE DE LA NATURALEZA DE LA CAUSA DE LA ACCIN, DEMANDA O ACCIN SUYA, INCLUIDA PERO NO LIMITADA AL INCUMPLIMIENTO DEL CONTRATO, NEGLIGENCIA, AGRAVIO, EXTRACONTRACTUAL, RESPONSABILIDAD ESTRICTA O CUALQUIER OTRA TEORA DEL DERECHO Y DEBERN SOBREVIVIR A UNO O MS INCUMPLIMIENTOS ESENCIALES O AL INCUMPLIMIENTO DEL PROPSITO ESENCIAL DE ESTE CONTRATO O CUALQUIER SOLUCIN 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 TAMBIN LOS PROVEEDORES DE SERVICIOS DE USO) Y SUS RESPECTIVOS DIRECTORES, EMPLEADOS Y CONTRATISTAS INDEPENDIENTES. ADEMS DE LAS LIMITACIONES Y EXCLUSIONES MENCIONADAS ANTERIORMENTE, EN NINGN CASO NINGN DIRECTOR, EMPLEADO, AGENTE, DISTRIBUIDOR, PROVEEDOR, CONTRATISTA INDEPENDIENTE DE RIM O CUALQUIER AFILIADO DE RIM ASUMIR NINGUNA RESPONSABILIDAD DERIVADA DE O RELACIONADA CON LA DOCUMENTACIN. 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 exploracin de Internet con una suscripcin al servicio BlackBerry Internet Service. Consulte con su proveedor de servicios acerca de la disponibilidad, arreglos de itinerancia, planes de servicio y funciones. La instalacin o el uso de los Productos y servicios de terceros con productos y servicios de RIM puede precisar la obtencin de una o ms patentes, marcas comerciales, derechos de autor u otras licencias para evitar que se vulneren o violen derechos de terceros. Usted

42

Gua de introduccin

Aviso legal

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 adquisicin. 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 condicin expresa e implcita, aprobacin, garanta de cualquier tipo por RIM y RIM no sume ninguna responsabilidad en relacin con ello. El uso de los Productos y servicios de terceros se regir y estar sujeto a la aceptacin de los trminos 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 documentacin requieren una versin mnima del software de BlackBerry Enterprise Server, BlackBerry Desktop Software y/o BlackBerry Device Software. Los trminos 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 DOCUMENTACIN EST PENSADA PARA PREVALECER SOBRE CUALQUIER ACUERDO EXPRESO POR ESCRITO O GARANTA PROPORCIONADA POR RIM PARA PARTES DE CUALQUIER PRODUCTO O SERVICIO DE RIM QUE NO SEA ESTA DOCUMENTACIN. 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

43

Anda mungkin juga menyukai