Guia del desarrollador newbie/novato para black berry
1. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
Iniciando a Desarrollar para
Presentado por:
Omar D. Berroterán Silva.
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 1 de 24
2. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
Tabla de Contenido
1Licencia..................................................................................................................................................2
2A modo de introduccion.........................................................................................................................2
Que es BlackBerry?.............................................................................................................................2
Por que Desarrollar para BlackBerry?.................................................................................................3
Los Entornos o herramientas de desarrollo.........................................................................................3
3Porque Eclipse?......................................................................................................................................3
4Requisitos Mínimos................................................................................................................................4
5Instalando/Configurando........................................................................................................................4
Instalando la maquina virtual de java .................................................................................................4
Instalando Eclipse................................................................................................................................5
Instalando el Plugin de BlackBerry.....................................................................................................5
Forma 1 : Instalador completo (Next, next, next)...........................................................................5
Forma 2: desde Eclipse...................................................................................................................8
6Nuestro primer Proyecto (Hola Mundo)...............................................................................................13
7Ejecutando en el Simulador..................................................................................................................18
8Posibles problemas...............................................................................................................................26
9Mejores Practicas..................................................................................................................................28
10Conclusion..........................................................................................................................................29
1 De Marcas, derechos y esas cosas.
Todas los nombres, marcas y logos mencionados en esta obra son propiedad de sus dueños
respectivos, blackberry marcas y logo son propiedad de RIM, java marca registrada y sus logos son
propiedad actualmente de Oracle, y así sucesivamente, con todo lo que eso implique y solo se hacen
referencia a ellos.
2 Licencia.
Esta obra, documento, guía manual esta publicado bajo Creative Commons Attribution 3.0 License
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 2 de 24
3. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
3 A modo de introducción
◦ Que es BlackBerry?
BlackBerry es un gadget o dispositivo electrónico en la categoría de Teléfonos celulares y mas
específicamente un Teléfono inteligente, creado por por la compañía canadiense Research In Motion
(RIM). Aunque incluye aplicaciones típicas de un smartphone :libreta de direcciones, calendario, listas
de tareas, etc (así como las de un teléfono obviamente), el BlackBerry es fundamentalmente conocido
por su capacidad para enviar y recibir correo electrónico de Internet accediendo a las redes de
compañías de teléfono celular que brindan este servicio.
Un 20,8% de los Smartphones vendidos en el mundo son BlackBerry, convirtiéndolos en los más
populares después de la segunda plataforma de Nokia, Symbian OS; además son los smartphone más
populares entre los usuarios de negocio en EE.UU.. Esto se debe a la gran inversión en mercadotecnia,
convirtiéndolos en el gadget mas sobre-valorado después de iphone, ipad o ipod.
Mientras la competencia abría sus puertas para el que quisiera y pudiera creara aplicaciones RIM se
mantenía reacia, en el ultimo año RIM a perdido terreno lo que la forzó a cambia de política
◦ Por que Desarrollar para BlackBerry?
Como se mencione los BlackBerries son los segundos teléfonos mas vendidos y en algunos países son
de los mas vendidos. Por esta razón y porque ofrecen una solida red de comunicación construida vía
mercadotecnia obviamente, debido a que las operadoras de telefonía celular con tal de llamar la
atención de los clientes deben ofrecer los servicios para BlackBerries completos.
◦ Los Entornos o herramientas de desarrollo.
Al comienzo ofrecieron un IDE algo escueto pero de creación propia.
RIM actualmente permite el desarrollo de aplicaciones para su producto estrella vía plugin para el
super IDE y multifácetico y multipropósito eclipse (www.eclipse.org). Que mejor opción si se trabaja
con java?
El IDE propietario el JDE(java developement Enviroment) de RIM se libero hasta la versión 4.6, la
versión 5 se quedo en BETA y nunca hubo liberación estable, todos los cambios de la versión 5 del
JDE se fusionaron con el plugin para eclipse versión final 1.1.2 al día 10 de Septiembre del 2010.
Lamentablemente estos, tanto el JDE como el plugin para eclipse son para la plataforma Windows de
32 bits, esto debido a unas DLL que están compiladas en C orientadas a windows. Otrora se puede
hacer funcionar en Linux vía Wine, pero es muy tedioso y puede generar crash wine system.
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 3 de 24
4. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
4 Porque Eclipse?
Eclipse es IDE multifacético por excelencia, creado para trabajar con JAVA y creado en Java, es uno,
sino el mas poderoso del mercado sirviendo como base para la clase rational de IBM.
Eclipse permite trabajar con variados versiones de la maquina virtual de java, pudiendo configurarle
desde las variantes de IBM, pasando por las GPL como OpenJava y llegando a las propietarias de
RIM.
Obviamente si RIM le quería dar a los desarrolladores todas las herramientas necesarias para crear con
la mayor flexibilidad y confort en el mundo java, tardaría mucho tiempo crear un IDE completo con
todas las opciones básicas, como: un excelente depurador, búsqueda, optimización, formateo de
código, optimización y humorística del código, solo por mencionar algunas; todo esto ya lo tiene
Eclipse. Ademas si quisieran implementar programación visual, servidores y mas, eclipse es la base
que les permite crecer verticalmente.
5 Requisitos Mínimos
El plugin de RIM esta limitado para trabajar con la versión 3.5 de eclipse, preferiblemente la versión
básica, que es la de menor tamaño y nos ofrece todo lo necesario. Esto para garantizar el correcto
funcionamiento, de acuerdo con el release 1.1.2 del plugin.
También podemos descargar el plugin para desarrollar aplicaciones web o midlets.
Todo esto en 32 bits, RIM aún no ofrece soporte para 64bits.
1. Eclipse Java Developer 3.5 , no mas, no menos. (Galileo )
2. Java Development Kit 1.6.<?> la revisión que este disponible, 32 bits.
3. Windows XP o superior. 32 o 64bits
4. RAM 2 GB o mas
5. Disco Duro 3GiB de espacio, el simulador de RIM crece bastante, y mas con cada app, creada.
6. CPU P4 2.5Ghz, o superior
7. Resolución mínima en el monitor de 1024x768.
6 Instalando/Configurando
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 4 de 24
5. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
◦ Instalando la maquina virtual de java
Versión a instalar 32 bits. Aunque el sistema operativo, se requiera la de 32 bits. El JDK de java 64bits
de java requiere siempre la versión de 32bits.
La versión SDK de java se puede descargar desde acá:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
◦ Instalando Eclipse
Eclipse puede ser descargado desde la siguiente dirección:
http://www.eclipse.org/downloads/download.php?
file=/technology/epp/downloads/release/galileo/SR2/eclipse-java-galileo-SR2-win32.zip
Hay que descargar la versión Java developers.
Eclipse no requiere ser instalado una vez instalado el JDK de java funciona con solo ejecutar el
archivo “eclipse.exe” que encontrara al descomprimir el archivo que se descargo.
Se recomienda dejar a eclipse en la estructura de carpeta mas corta posible, si no es problema
subjetivo, de preferencia en la raíz de alguna unidad, si opta en alguna carpeta o en una estructura mas
grande estas se sugiere que no tengan espacio en los nombres. Ejemplo: NO: “Desarrollo para
BlackBerry”, Sugerido: “DesarrolloBlackBerry”.
◦ Instalando el Plugin de BlackBerry
Para instalar el plugin haya dos formas, la primera es descargar un instalador completo, la
ventaja de este es que lo puede guardar y utilizarse después y cuantas veces lo desee, es un archivo de
380MiB para la versión 1.1.2. Instala solo el JRE para el sistema operativo 5 de BlackBerry.
Desde eclipse, requiere conexión a Internet o saber como instalar PlugIns de forma manual. Pero tiene
la ventaja que puede instalar JRE de BlackBerry desde la versión 4 hasta la 6.
Forma 1 : Instalador completo (Next, next, next)
1. Descargar el Instalador
http://na.blackberry.com/eng/developers/javaappdev/devtools.jsp
2. Ejecutar el Instalador
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 5 de 24
6. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
3. Recordar tener cerrado eclipse.
Si no acepta la licencia le aparece el siguiente mensaje, debe aceptar la licencia, o no podrá instalar el
plugin.
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 6 de 24
7. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
Seleccionando la ruta donde instalamos eclipse.
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 7 de 24
8. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
Al finalizar Puede iniciar Eclipse automáticamente seleccionando la opción que ofrece el instalador el
final o manualmente.
Forma 2: desde Eclipse.
1. Iniciar Eclipse
2. Seleccionar el espacio de trabajo, se recomienda lo mas corto posible y sin espacio en los
nombres de la carpeta.
Que no se le ocurra poner C: o ?: en este dialogo, esto utilizaría la raíz de la unidad C o de
otra unidad, como espacio de trabajo, cosa que no se recomienda, no se debe hacer, ni debería
hacerse.
3. Ventana que muestra eclipse la iniciar
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 8 de 24
9. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
4. Cerramos la ventana de Bienvenida
5. Seleccionar menú Help
6. Aparece ventana de selecciona de software
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 9 de 24
10. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
7. Dar clic en el botón “Add”, agregar, que nos permitirá agregar un repositorio para agregar mas
características a Eclipse.
8. Indicar la ruta de acceso que BlackBerry a dispuesto para descargar el plugin vía eclipse.
http://www.blackberry.com/go/eclipseUpdate/3.5/java
Desde este URL puede descargar el soporte par los JDE BlackBerry Java SDK v6.0.0
• BlackBerry Java Plug-in v5.0.0.25
• BlackBerry Java SDK v4.7.0.57 (updated July 9, 2010)
• BlackBerry Java SDK v4.6.1.49 (updated July 9, 2010)
• BlackBerry Java SDK v4.6.0.23 (updated July 9, 2010)
• BlackBerry Java SDK v4.5.0.28 (updated July 9, 2010)
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 10 de 24
11. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
9. Cuando se conecta, recordar que se necesita acceso a Internet ademas de una cuenta en
BlackBerry Developer.
10. Seleccionar los SDK que querramos o necesitemos, el icono en gris, indica que ya esta
instalado.
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 11 de 24
12. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
11. Debe aceptar los términos de Licencia. Y luego solo dar clic en Finish
Esperar a que descargue, durante la descarga le pedirá su clave y usuario de RIM developers luego
pedirá que reinicie eclipse, reiniciar y listo.
Activar el soporte a todos los SDK de RIM consumirá mas espacio aprox 505MiB por cada SDK de
RIM, esto porque incluye casi todos los simuladores para sus respectivos sistemas operativos.
7 Nuestro primer Proyecto (Hola Mundo)
Listo, una vez, configurado nuestra herramienta de trabajo, procedemos a crear nuestro proyecto.
Como siempre no es la mejor, pero si la mas fácil de hacer es con un hola mundo.
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 12 de 24
13. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
Aparecerá otra ventana de un asistente, si eclipse tiene muchas
opciones activadas, la lista de proyectos sera mas grande.
Debemos indicar el nombre del proyecto y la versión de java a utilizar, esto limitara con el sistema
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 13 de 24
14. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
operativo del teléfono
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 14 de 24
15. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
Se configuran mas opciones del proyecto y al dar clic en Finish aparecerá nuestro espacio de trabajo.
Y listo podemos comenzar a programar, pero antes establecemos algunas propiedades del proyecto.
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 15 de 24
16. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
Se puede acceder a esta pantalla desde el archivo: BlackBerry_App_Descriptor.xml, tiene icono de BB
Y luego podemos crear nuestra primera Clase.
. Eclipse nos permite crear la clase des el icono superior izquierdo,
también se puede con el menú contextual, y por supuesto con el muy
conocido: File → New
Eclipse nos invita a cumplir con el estadart, y una clave debe
comenzar en Mayúscula, y aunque no es necesario se insta a que este
dentro de un paquete.
Una vez creadas las clases solo nos falta escribir el código
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 16 de 24
17. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
8 Ejecutando en el Simulador.
Para poder ejecutar nuestro proyecto desde el simulador primero debe haberse compilado
apropiadamente. Para esto activamos el menú contextual desde la vista explorador de proyecto y luego
en el menú ítem [BlackBerry], sub-opción: Empaquetar.
Enviara un mensaje a la consola que no hay problemas
Después desde el icono de ejecutar seleccionamos configuración
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 17 de 24
18. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
Después que se inicie el simulador la primera vez, aparecerá en el history para acceder mas fácil a el,
con las propiedades que hayamos establecidos para ejecutarlas.
Esto nos abrirá una ventana para elegir las características con las que queremos ejecutar nuestro
proyecto.
Se configuran los parámetros que se necesitan, entre ellos, seleccionar en que versión de sistema
operativo y/o Modelo queremos ejecutarlo.
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 18 de 24
19. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
Después clic en RUN, este Iniciara la ejecución del Emulador/Simulador, y ademas agregara una
opción de lanzamiento en el icono o menú RUN de eclipse.
Opción agregada y que permite la ejecución posterior.
Cuando se ejecuta el simulador en Windows, si el firewall esta activado pedirá permiso para
desbloquearlo ya que solicito acceso a la red.
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 19 de 24
20. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
Simulador iniciando desde eclipse. Las aplicaciones de nuestros proyectos estarán en “Downloads”.
Ahí aparecerá nuestro proyecto, dependiendo de la versión que estemos simulando, se puede o
seleccionar con el mouse o con las flechas direccionales, eso dependerá si el modelo de teléfono tiene
pantalla touch.
Una vez ejecutando el Simulador se le piden configurar acceso a todas los eventos, capacidades y
redes, por ejemplo: acceso wap, GPS, llamada entrante, estado de la batería, ID de llamadas y
mensajes, todo desde el menú del simulador: Set IT Policy.
Una vez funcionando el simulador, si tenemos acceso a Internet, también el teléfono puede acceder a
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 20 de 24
21. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
Internet por defecto.
9 Posibles problemas
Si el Simulador no funciona, o le enviá un mensaje como este:
I/O Error: Cannot run program "jar": CreateProcess error=2, The system cannot find the file specified?
Es porque hay problemas con las variables de sistema
Dos son las variables que el simulador de RIM BlackBerry Necesita:
1. JAVA_HOME
2. PATH
Un ejemplo de estos valores pueden ser.
JAVA_HOME = “C:Archivos de programaJavajdk1.6.0_18”
PATCH = C:Archivos de programaJavajdk1.6.0_18bin;c:windows;c:windossystem32;etc
Estas variables se debe establecer para todo el sistema, pero también puede optar por hacer un
lanzador para eclipse que las establezca justo antes de iniciar eclipse, de esta forma para eclipse y el
simulador es como si fuesen para todo el sistema. Esta ultima opción solo es recomendada cuando se
esta en una sesión de usuario restringida, osea no se tiene derecho de administrador, o cuando no se
desea reiniciar windows, o ambas.
Estableciendo las variables vía administrador del sistema.
1. Activar propiedades del sistema.
2. En esta ventana selecciona la pestaña o solapa “Opciones avanzadas”, luego Variables de
Entorno.
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 21 de 24
22. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
En esta ventana se pueden agregar o modificar los valores de las variables mencionadas, debo hacer
enfacís en que la ruta de java, en la variable PATH debe terminar con el : bin, así:
C:Archivos de programaJavajdk1.6.0_18bin
Des esta forma el sistema y en esta caso el simulador puede acceder a las herramientas del SDK como
el compilador de java (javac.exe).
Ejemplo del Archivo de lanzamiento cuando no se tiene acceso a las propiedades del sistema.
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 22 de 24
23. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
10 Mejores Practicas
Como siempre nunca hay que olvidar las mejores practicas o las recomendaciones para programar y
que nuestro trabajo quede lo mejor posible tenga un fácil mantenimiento y permita ser aprendido
fácilmente por otros e incluso por nosotros mismos cuando pasamos mucho tiempo sin trabajar en el.
Deben recordar que el SDK para programar en un smartphone es una versión reducida de java, hay
muchas cosas que no soporta o hace de la misma forma que conocemos.
– Espacio. Economiza código, encuentra un equilibrio entre poco código y entendimiento.
– Las clases tienen un máximo de tamaño de archivo. Si son muy grandes, deberá dividirlas.
– Las clases utilitarias como date, long, img, etc, no tienen wrapper o helper.
– Considera siempre el espacio, la pantalla de los teléfonos es considerablemente pequeña.
– Se sugiere distribuir la pantalla en valores relativos osea porcentajes y no absolutos.
– Seguridad. Recuerda que los teléfonos pueden ser robados mas fácilmente que las pc.
– Las imágenes deben ser de peso pequeño, se recomienda png.
– Un aplicación sin firmar solo accede a características mínimas del teléfono, para acceder a
todos debe ser firmada por RIM, el certificado cuesta 20 dolares.
– Recordar que el procesador de un teléfono tiene menos poder que el de una pc.
– La conexión a la red no es 24/7, sino que depende del área de cobertura.
– Envié por la red solo los datos necesarios.
– Envié los datos solo cuando es necesario.
– Nunca utilice Vector para el proceso de la información
En las interfaces.
– No intente emular la interfaz de escritorio si esta creando un cliente.
– No desarrolle pensando en un pc.
– Sea consistente, predecible y conciso.
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 23 de 24
24. Guía del Desarrollador Novata para BlackBerry por Omar Berroterán (09-2010)
– No ofrezca demasiadas opciones o demasiada información a la vez.
– Recuerde que las pantallas serán controladas con un dedo, como promedio.
– La forma en que se interactúa dependerá del modelo de teléfono
Comunicación con el servidor.
Si harán un app que se comunique con el servidor para enviar y recibir información las soluciones mas
utilizadas son un servicio web. Pero yo no la recomiendo, un servicio es un middleware, un
intermediario y conlleva proceso por ambos lados, ademas tiene muchas limitaciones en este SDK
para teléfonos, por ejemplo, los datos que soporta son solo los primitivos y String, para la colección
solo permite arreglos de objetos, no arraylist.
No crees un servicio en punto NET porque es mas fácil, crea una app en un servidor java como
Apache tomcat, apache jeronimo o Jboss, o glassfish etc, etc, para comunicarte con la app vía RMI,
esto reduciría el esfuerzo de comunicación y haria tu aplicacion con un feeling de velocidad superior.
11 Conclusión
Como se pudo apreciar es muy sencillo, hay mas características que se pueden mencionar como la
conexión vía MDS pero eso lo dejaremos para una próxima actualización de este documento.
Bibliografía
– BlackBerry site
– Mi cerebro (mis Experiencias)
Acerca del autor:
http://notasprogramacionlkf.blogspot.com/
http://www.google.com/profiles/OmarBerroteranLKF
– Finish –
Guía distribuida con licencia (C)Creative Common Attributtion 3.0 - 24 de 24