| Artículos | 01 OCT 2009

Curso de programación en Blackberry (I de II)

Tags: Histórico
Blackberry
Diego Pérez.
"Siguiendo con la serie de cursos de programación anteriores que hemos publicado en PC World (Windows Mobile, iPhone o Android), ahora le toca el turno a la plataforma de RIM: Blackberry. a lo largo de las dos entregas que tiene el presente curso aprenderemos todo lo necesario para desarrollar aplicaciones para dispositivos Blackberry. En esta primera parte nos limitaremos principalmente a familiarizarnos con el entorno de trabajo.

Lo primero que tendremos que hacer es preparar el entorno de desarrollo adecuado. RIM (Research In Motion) proporciona en su página para desarrolladores http://na.blackberry.com/eng/developers/ diferentes entornos para sus aplicaciones, cada uno con sus propias ventajas e inconvenientes que deberemos analizar detenidamente en función del tipo de aplicación que queramos desarrollar:
BlackBerry Browser Development: La documentación y herramientas recogidas en este entorno nos ayudarán a crear aplicaciones para el navegador de Bl ackBerry, que requerirán de conectividad a un servidor para funcionar. El entorno de desarrollo incluye el MDS Simulator, encargado de simular la red y la conectividad, y el emulador de dispositivo, para poder probar nuestras aplicaciones.
Rapid Application Development (RAD): Nos permite desarrollar aplicaciones al más puro estilo Drag&Drop (arrastrar y soltar). Las aplicaciones desarrolladas utilizando RAD estarán basadas en Web Services. Estos programas, para los que desarrollaremos la interfaz de usuario usando el conocido MDS Studio, funcionarán utilizando datos obtenidos desde un servicio o backend. No es tampoco, por lo tanto, un entorno adecuado para desarrollo de aplicaciones que se ejecuten sin conectividad de algún tipo.
Java Application Development: Éste es el entorno en el que nos centraremos ya que es el que nos permite un mayor control del dispositivo, así como la posibilidad de desarrollar aplicaciones stand-alone, que no requieran de conectividad para funcionar. RIM nos proporciona dos kits de desarrollo en el entorno de Java Application Development, dentro de los cuales elegiremos el que más nos convenga ya que proporcionan funcionalidades idénticas. El primero y más moderno es el BlackBerry JDE (Java Development Environment) Plugin para Eclipse. Como su nombre indica es un plugin para Eclipse que añade la capacidad de gestionar proyectos de BlackBerry, lanzar aplicaciones y depurarlas en el emulador. Por otro lado, nos proporcionan el BlackBerry JDE que incluye un IDE completo no basado en Eclipse. Los dispositivos BlackBerry incluyen una plataforma Java Micro Edition (Java ME) basada en las especificaciones CLDC 1.1 y MIDP 2.0. Si utilizamos únicamente las API incluidas en estas dos especificaciones obtendremos unas aplicaciones portables que podremos utilizar en los diferentes dispositivos que las soportan. Si, por el contrario, decidimos además utilizar las API de BlackBerry, obtendremos unas aplicaciones que sólo funcionarán en estos dispositivos teniendo un mayor control y acceso a funcionalidades específicas de esta plataforma.
Actualmente RIM, y aunque sus herramientas estén basadas en Java, sólo proporciona soporte para entornos Windows; además, solamente encontraremos su entorno en inglés. Para descargar el BlackBerry JDE Eclipse Plugin nos dirigiremos a http://na.blackberry.com/eng/developers/javaappdev/javaeclipseplug.jsp desde donde, después de un pequeño paso de registro, comenzará la descarga. Aunque su nombre es Eclipse Plugin, el fichero contiene todo lo necesario, incluyendo Eclipse, para trabajar con él. Por defecto, el directorio de instalación será \Archivos de Programa\Eclipse. Siguiendo los sencillos pasos por los que el instalador nos guiará, obtendremos nuestro entorno listo para comenzar. Deberemos prestar atención en el caso de que nuestro sistema operativo sea Windows Vista ya que tendremos que desactivar el sistema de control de usuarios (UAC) en el Panel de Control, si queremos que el emulador funcione.

Recordatorios
Personalmente, uno de mis principales problemas es lo olvidadizo que soy. En esto, BlackBerry es una gran ayuda ya que me permite crear recordatorios, añadir notas, enviarme e-mails, etc. Sin embargo esto, a veces, no es suficiente. De vez en cuando, surge la necesidad de que un recordatorio no vaya asociado a una fecha u hora en concreto, si no a un lugar. Por ejemplo, muchas veces necesito apuntar la lista de las cosas que voy a comprar cuando vaya al supermercado, para ello, puedo utilizar un recordatorio para las 18:00 horas. El problema es que, a veces, llego antes y el recordatorio no habrá saltado, mientras que en otras ocasiones, el recordatorio saltará cuando esté de camino a casa. Para estas ocasiones, necesitaría una aplicación que me recuerde la lista cuando estoy acercándome al supermercado. Comenzaremos creando el esqueleto de una aplicación, que podremos reutilizar en la mayoría de ellas, para luego ir añadiendo pequeños detalles hasta tener una aplicación funcional.

Comenzando
Generalmente, el “Hello World” es una buena manera de familiarizarse con cualquier entorno nuevo y, en el caso de BlackBerry, no va a ser menos. Crearemos el esqueleto de nuestra aplicación comenzando por un programa muy sencillo. Además reutilizaremos esa estructura inicial para desarrollar nuestra aplicación.
Comencemos por crear un nuevo proyecto File » New » Project, seleccionando dentro de los tipos disponibles BlackBerry Project. El nombre de nuestro proyecto será “Lugares” y generaremos una nueva clase File » New » Class a la que llamaremos MainApplication, esta clase será nuestro punto de entrada a la aplicación. Nuestra nueva clase heredará de net.rim.decide.api.ui.UiApplication que es la base para todas aquellas clases que proporcionen una interfaz de usuario y métodos para gestionar dicha interfaz, threads y listeners de eventos. Las aplicaciones que no tengan una interfaz de usuario, como los servicios que se ejecutan en background, heredarán de la clase net.rim.decide.api.system.Application.
Como casi cualquier aplicación Java, nuestra clase principal deberá tener un método estático main que servirá de punto de entrada. En él, instanciaremos nuestra clase y llamaremos al método enterEventDispatcher, el cual inicia el bucle de procesado que se encarga de manejar los eventos que el sistema entrega a nuestra aplicación. Con este código, nuestro ejemplo se iniciará pero, al no disponer de ninguna interfaz de usuario, no mostrará nada. Deberemos inicializar, por tanto, nuestra pantalla para que muestre algo que el usuario pueda ver.

import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.container.MainScreen;

final class HelloBbScreen extends MainScreen {
public HelloBbScreen() {
add(new LabelField(“Hello world”));
}

public boolean onClose() {
System.exit(0);
return true;
}
}

public class MainApplication extends UiApplication {
public MainApplication() {
pushScreen(new HelloBbScreen());
}

public static void main(String[] args) {
new Lugares ().enterEventDispatcher();
}
}

Este sencillo código mostrará una pantalla con la cadena “Hello World”; no es mucho, pero es un comienzo. Las pantallas son clases que heredan de net.rim.device.api.ui.Screen y que nos permiten ag

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información