{"id":76,"date":"2012-02-04T19:05:19","date_gmt":"2012-02-04T19:05:19","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/svanegas\/?p=76"},"modified":"2012-02-04T20:33:29","modified_gmt":"2012-02-04T20:33:29","slug":"programando-hola-mundo-en-un-simulador-de-blackberry","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/svanegas\/2012\/02\/04\/programando-hola-mundo-en-un-simulador-de-blackberry\/","title":{"rendered":"PROGRAMANDO HOLA MUNDO EN UN SIMULADOR DE BLACKBERRY"},"content":{"rendered":"<p>Primeramente los simuladores consumen una buena cantidad de memoria RAM, lo m\u00ednimo que recomiendo es tener 2GB para ejecutar el eclipse y el simulador de BlackBerry al mismo tiempo.<\/p>\n<p>Tambi\u00e9n es recomendable un procesador mayor a un Dual Core, sencillamente si se usan estas velocidades de procesamiento los simuladores cargan y se ejecutan de una manera muy lenta. Lo recomendado m\u00ednimo es un Intel I3, si tienen uno de estos sobra y basta, si tienen un I5, o I7 (que es el procesador que yo tengo) pues mucho mejor aun.<\/p>\n<p>El SDK 5.0 consta de un IDE (Integrated development environment) que es el Eclipse que contiene un complemento para desarrollo BlackBerry, cuenta con varios modelos de simuladores que son de hecho muy reales, tienen algunos cuantos bugs pero nada que afecte el desarrollo.<\/p>\n<p>El SDK de BlackBerry junto con Eclipse se descarga del siguiente link\u00a0<a href=\"http:\/\/us.blackberry.com\/developers\/javaappdev\/javasdk5.jsp\">http:\/\/us.blackberry.com\/developers\/javaappdev\/javasdk5.jsp<\/a><\/p>\n<p>Por cada cambio del programa que hagan es necesario reiniciar el simulador, si esto no se hace, podr\u00e1n tener resultados no deseados en la ejecuci\u00f3n de las aplicaciones, adem\u00e1s de que se pueden corromper los archivos del simulador, cosa que no queremos que nos suceda.<\/p>\n<p>Bueno una vez aclarado todas estas recomendaciones proseguir\u00e9 con el desarrollo de mi primera aplicaci\u00f3n de Hola Mundo en un simulador de BlackBerry 8520.<\/p>\n<p>Ya que instalaron el SKD, es simplemente el Eclipse lo abro y paso a crear un proyecto de BlackBerry Development:<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-77\" src=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura1.png\" alt=\"\" width=\"495\" height=\"422\" srcset=\"https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura1.png 495w, https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura1-300x255.png 300w\" sizes=\"auto, (max-width: 495px) 100vw, 495px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura21.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-81\" src=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura21.png\" alt=\"\" width=\"525\" height=\"500\" srcset=\"https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura21.png 525w, https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura21-300x285.png 300w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/a><\/p>\n<p>Le damos el nombre a la Aplicaci\u00f3n HolaMundo y luego Finish. Ahora, requerimos darle un titulo a la aplicaci\u00f3n, numero de versi\u00f3n, descripci\u00f3n, iconos, tipo de aplicaci\u00f3n BlackBerry y decir si la aplicaci\u00f3n se ejecuta o no al inicio.Todo esto se modifica en el archivo\u00a0BlackBerry_App_Descriptor.xml<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura31.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-83\" src=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura31.png\" alt=\"\" width=\"1076\" height=\"491\" srcset=\"https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura31.png 1076w, https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura31-300x136.png 300w, https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura31-1024x467.png 1024w\" sizes=\"auto, (max-width: 1076px) 100vw, 1076px\" \/><\/a><\/p>\n<p>Ya tenemos todo listo para crear una clase de java simple en la carpeta SRC del proyecto, como si fuera una clase normal de Java Standard y le vamos a dar inicio a la primera clase, cabe destacar que para que tenga un funcionamiento de BlackBerry hay que extender esta clase de la clase <strong>UiApplication<\/strong>, si es que se requiere interfaz gr\u00e1fica, si no se requiere, se debe extender de la clase <strong>Application<\/strong>. En este caso del HolaMundo vamos a requerir mostrarlo, sino pues no tiene caso.<\/p>\n<p>El m\u00e9todo enterEventDispatcher, es el evento que lanza la aplicaci\u00f3n a la cola de procesos del sistema operativo del tel\u00e9fono \u00f3sea en la maquina virtual de Java.<\/p>\n<p>import net.rim.device.api.ui.UiApplication;<\/p>\n<p><strong>public class<\/strong> Aplicacion <strong>extends<\/strong> UiApplication{<\/p>\n<p>public static void main(String[] args) {<\/p>\n<p>Aplicacion ap=new Aplicacion();<\/p>\n<p>ap.enterEventDispatcher();<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>Luego creamos una segunda clase de java, llamada <strong>HolaMundo.java<\/strong><br \/>\nesta clase va a representar una pantalla del tel\u00e9fono que contendr\u00e1 un titulo, y una etiqueta.<br \/>\nLas etiquetas, Radiobuttons, Buttons, TextFields y dem\u00e1s componentes de interfaz se deben importar de la librer\u00eda <strong>import net.rim.device.api.ui.component.*<\/strong> en ese caso usar\u00e9 un <strong>LabelField<\/strong>.<\/p>\n<p>Otra cosa importante, para que sea una pantalla valida, esta clase deber\u00e1 heredar m\u00e9todos y variables de la clase <strong>MainScreen<\/strong>.<\/p>\n<p>Vamos a heredar un m\u00e9todo llamado <strong>add(),<\/strong> este m\u00e9todo se encarga de agregar un componente ya instanciado al dibujado de la pantalla, si se instancia el componente pero no se agrega, nunca se ver\u00e1 dibujado en la aplicaci\u00f3n.<\/p>\n<p>import net.rim.device.api.ui.component.LabelField;<\/p>\n<p>import net.rim.device.api.ui.container.MainScreen;<\/p>\n<p>public class <strong>HolaMundo<\/strong> extends <strong>MainScreen<\/strong>{<\/p>\n<p>private LabelField etiqueta;<\/p>\n<p>public HolaMundo() {<\/p>\n<p>setTitle(new LabelField(\"Mi primera aplicaci\u00f3n\"));<\/p>\n<p>etiqueta=new LabelField(\"Hola mundo\");<\/p>\n<p>add(etiqueta);<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>Ahora solo nos falta agregar la pantalla a la aplicaci\u00f3n y mostrarla.<\/p>\n<p>El funcionamiento de las pantallas es un Stack, el Stack es una pila de pantallas donde la primera que entra es la ultima que sale, se agregar\u00e1 mediante un Push, y se quitara mediante un Pop (todo esto de Stack, Push, Pop me hace recordar la clase de <strong>Estructura de Datos<\/strong> que vi con el Profesor Jorge Lombeida).<\/p>\n<p>Al c\u00f3digo de inicio de la aplicaci\u00f3n le codificar\u00e9 el constructor para que apenas inicie, meta una primera instancia de HolaMundo.java al Stack:<\/p>\n<p>import net.rim.device.api.ui.UiApplication;<\/p>\n<p>public class Aplicacion extends UiApplication{<\/p>\n<p>public static void main(String[] args) {<\/p>\n<p>Aplicacion ap=new Aplicacion();<\/p>\n<p>ap.enterEventDispatcher();<\/p>\n<p>}<\/p>\n<p>\/*============================*\/<\/p>\n<p>public Aplicacion(){<\/p>\n<p>UiApplication.getUiApplication().pushScreen(new HolaMundo());<\/p>\n<p>}<\/p>\n<p>\/*============================*\/<\/p>\n<p>}<\/p>\n<p>Ahora voy a ejecutar el simulador 8520, como no viene por defecto les voy a mostrar el procedimiento<br \/>\nEn la barra de men\u00fa <strong>Run&gt;&gt;Run configurations<\/strong>, hay que crear una nueva configuraci\u00f3n:<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura41.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-85\" src=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura41.png\" alt=\"\" width=\"591\" height=\"427\" srcset=\"https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura41.png 591w, https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura41-300x216.png 300w\" sizes=\"auto, (max-width: 591px) 100vw, 591px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86\" src=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura5.png\" alt=\"\" width=\"581\" height=\"578\" srcset=\"https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura5.png 581w, https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura5-150x150.png 150w, https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura5-300x298.png 300w\" sizes=\"auto, (max-width: 581px) 100vw, 581px\" \/><\/a><\/p>\n<p>Damos click en Run y luego nos aparecer\u00e1 una pantalla con el Simulador de BlackBerry 8250 como a continuaci\u00f3n.<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-87\" src=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura6.png\" alt=\"\" width=\"478\" height=\"760\" srcset=\"https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura6.png 478w, https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura6-188x300.png 188w\" sizes=\"auto, (max-width: 478px) 100vw, 478px\" \/><\/a><\/p>\n<p>La navegaci\u00f3n es muy simple, damos click a la tecla que est\u00e1 marcada en el cuadro rojo como lo muestra la imagen, esa tecla representa a la tecla Men\u00fa del dispositivo, una vez ah\u00ed dentro vamos a <strong>Downloads-Descargas<\/strong>, todas las aplicaciones creadas quedan en esa carpeta.<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-88\" src=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura7.png\" alt=\"\" width=\"321\" height=\"494\" srcset=\"https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura7.png 321w, https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura7-194x300.png 194w\" sizes=\"auto, (max-width: 321px) 100vw, 321px\" \/><\/a><\/p>\n<p>Y finalmente nos saldr\u00e1 el mensaje de Hola Mundo.<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-89\" src=\"http:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura8.png\" alt=\"\" width=\"322\" height=\"303\" srcset=\"https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura8.png 322w, https:\/\/blog.espol.edu.ec\/svanegas\/files\/2012\/02\/Captura8-300x282.png 300w\" sizes=\"auto, (max-width: 322px) 100vw, 322px\" \/><\/a><\/p>\n<p>Ac\u00e1 les dejo unos tutoriales para conocer m\u00e1s, acerca de programar en un Simulador de\u00a0 BlackBerry.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.youtube.com\/watch?v=KY2JlGuH-Is\">http:\/\/www.youtube.com\/watch?v=KY2JlGuH-Is<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.youtube.com\/watch?v=bHuxM0-joFk\">http:\/\/www.youtube.com\/watch?v=bHuxM0-joFk<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Primeramente los simuladores consumen una buena cantidad de memoria RAM, lo m\u00ednimo que recomiendo es tener 2GB para ejecutar el eclipse y el simulador de BlackBerry al mismo tiempo. Tambi\u00e9n es recomendable un procesador mayor a un Dual Core, sencillamente si se usan estas velocidades de procesamiento los simuladores cargan y se ejecutan de una [&hellip;]<\/p>\n","protected":false},"author":4263,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-76","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/svanegas\/wp-json\/wp\/v2\/posts\/76","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/svanegas\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/svanegas\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/svanegas\/wp-json\/wp\/v2\/users\/4263"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/svanegas\/wp-json\/wp\/v2\/comments?post=76"}],"version-history":[{"count":8,"href":"https:\/\/blog.espol.edu.ec\/svanegas\/wp-json\/wp\/v2\/posts\/76\/revisions"}],"predecessor-version":[{"id":95,"href":"https:\/\/blog.espol.edu.ec\/svanegas\/wp-json\/wp\/v2\/posts\/76\/revisions\/95"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/svanegas\/wp-json\/wp\/v2\/media?parent=76"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/svanegas\/wp-json\/wp\/v2\/categories?post=76"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/svanegas\/wp-json\/wp\/v2\/tags?post=76"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}