470 likes | 675 Views
Introducción al desarrollo de aplicaciones móviles BlackBerry™. Francisco Riveros Escobar Ciclo de Charlas Informaticas UTFSM. Contenidos. BlackBerry overview La necesidad de desarrolladores móviles ¿Porque Blackberry ? Introducción al desarrollo de aplicaciones Blackberry .
E N D
Introducción al desarrollo de aplicacionesmóviles BlackBerry™ Francisco Riveros Escobar Ciclo de CharlasInformaticas UTFSM
Contenidos • BlackBerryoverview • La necesidad de desarrolladores móviles • ¿Porque Blackberry? • Introducción al desarrollo de aplicaciones Blackberry. • Sesión Practica • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Why BlackBerry? Why BlackBerry?
BlackBerry Overview • 10 years ago that RIM first launched the BlackBerry® solution in North America • Available in over 150 countries from over 425 carriers and national distribution partners • Over 41 million BlackBerry smartphones worldwide • 200,000 BlackBerry Enterprise Servers deployed globally • BlackBerry smartphone use is split almost evenly between business and personal use • RIM’s BlackBerry Infrastructure routes over three Petabytes of traffic each month 1 PB = 1015byte = 1012kB = 109MB = 106GB = 103TB • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Why Is There a Need for Trained Professionals in This Field? Worldwide Converged Mobile Device (smartphone) Forecast Units (millions) GROWTH 14.4% 16.9% 21.9% 22.2% 3.4% 21.9% • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM Source: IDC, March 2009
Why BlackBerry? • BlackBerry is continually increasing market share worldwide • As a developer or systems manager you want to be familiar with the solution you will encounter in the real world • BlackBerry is continually adding new administrative features • BlackBerry is continually providing developers with more tools and resources • Industry leading revenue sharing for developers • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Countries with local BlackBerry® coverage in place or announced Why BlackBerry? 425 Carriers & Distribution Partners in 150 Countries • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Agenda • El contexto de la telefonía móvil • Blackberry Plataforma de Aplicaciones • Arquitectura Blackberry • Desarrollando aplicaciones Java • Primera Aplicación • Segunda Aplicación ( Twitter ) • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM / 1 30
1 El contexto de la telefonía móvil • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
El contexto de la telefonía móvil • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
El contexto de la telefonía móvil Proliferación de Plataformas Variedad de Interfaces Usuarias Localización Calidad de Servicio Almacenamiento y Capacidad de procesamiento limitado Manejo de energía Transacciones Activas • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
El contexto de la telefonía móvil Desarrollo Móvil Actual Diferentes Perspectivas V/S AplicacionesWeb Aplicaciones Nativas • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM Introducción al desarrollo de aplicaciones móviles – Francisco Riveros Escobar Octubre 2010
El contexto de la telefonía móvil Desarrollo Móvil Actual Diferentes Perspectivas Depende del Contexto V/S AplicacionesWeb Aplicaciones Nativas • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM Introducción al desarrollo de aplicaciones móviles – Francisco Riveros Escobar Octubre 2010
BlackBerry Plataforma De Aplicaciones 2 • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Blackberry Plataforma de Aplicaciones Blackberry Web Development • Las aplicaciones Web Blackberry son basadas en los estándares • Son fáciles de desarrollar • Server-SidePush • WebSignals (iconos) • Tiene acceso a las APIs de una manera segura. • Toma ventaja de una interfaz de usuario creada enteramente en HTML/CSS • Se usa Javascript para la lógica de aplicaciones para el acceso a las extensiones BlackberryWidget API. • Acceso a la tarjeta SD, Información Personal (PIM), aplicaciones nativas del dispositivo. • WebKit y HTML5 (S.O. 6.0>) • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Blackberry Plataforma de Aplicaciones Blackberry Web Development • Herramientas Necesarias para desarrollar: • Windows XP /Vista / Seven • JDK 1.4.2 >= (Recomendada 1.6.x ) • Eclipse con Java DevelopmentEnvironment (JDE), EMF 2.4.1 WTP 3.0.3 • BlackBerryWidget SDK • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Blackberry Plataforma de Aplicaciones Blackberry Java Development • Aprovechar al máximo las funciones del teléfono inteligente Blackberry ( cámara, teléfono, y protocolos periféricos como Bluetooth) • Realizar integraciones con las principales aplicaciones Blackberry : • Como la libreta de direcciones, • Funcionalidad GPS, • BlackberryMaps y • La aplicación Blackberry Messenger.
Blackberry Plataforma de Aplicaciones Blackberry Java Development • Herramientas Necesarias para desarrollar: • Windows XP /Vista / Seven • JDK 1.4.2 >= (Recomendada 1.6.x ) • Eclipse con Java DevelopmentEnvironment (JDE) • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Blackberry Plataforma de Aplicaciones BlackberryThemeDevelopment • Crear atractivos temas • Pantallas de carga interactivas • Graficos • Contenido animado optimizado para el entorno móvil Blackberry • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Blackberry Plataforma de Aplicaciones BlackberryTablet OS Development • Based on the proven QNX® Neutrino® RTOS, which powers mission-critical systems on the space station, government defense systems, life-saving medical devices and millions of in-car systems • Reliable, high-performance kernel engineered for multi-core hardware • Multi-threaded POSIX OS (Portable Operating System for Unix) for true multitasking • Built from the ground up to run WebKit and Adobe Flash • Built with the security, efficiency and seamless connectivity from the ground up you’d expect from RIM SDK for Windows®, SDK for Mac • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Blackberry Plataforma de Servicios • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Arquitectura Blackberry 3 • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Blackberry Network Transports • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
-Acceso a Mail Corporativo o aplicaciones que corren en el Blackberry Enterprise Server (BES) • Encriptación de Datos y compresión. • Administracion y monitoreo de dispositivos • Es seguro, gateway autenticado para acceso a intranet desde aplicaciones Java ME y el Browser Blackberry. BlackBerry MDS • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
BlackBerry BIS-B Son la mayoría de los usuarios que utilizan cuentas de correo como hotmail, gmail,…etc • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
BlackBerry WAP 1.0 -1.1- 2.0 -Los Carriers tienen full control sobre todo tipo de transporte que ellos permitan y no permitan ir a través de sus WAP gateways. • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
BlackBerry TCP • Alternativa para no pasar por los WAP gateways de los carriers. • Tienen limitaciones, especialmente en el roaming • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
BlackBerry WI-FI • Pasa por alto tanto la infraestructura de Blackberry como la del carrier. • El dispositivo se puede conectar a Internet Web Servers usando accesspoints corporativos.
Desarrollo Aplicaciones Java 4 • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Primera Aplicación en Java • Primera Aplicación • Mostrar el transfondo • Practica • HelloWorld • Twitter • Facebook • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Primera Aplicación en Java Ingredientes: • Sun JDK 1.6.x • Eclipse SDK • Blackberry JDE Plug-in para Eclipse • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Primera Aplicación en Java • Antes de empezar a programar revisar y tener como guía las API de Blackberryhttp://www.blackberry.com/developers/docs/5.0api/index.html 4.1api 6.0api …. • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Primera Aplicación en Java enterEventDispatcher() : El thread principal de la aplicación se vuelve el even-dispatchingthread, el cual ejecutara todos los drawings y el manejo de eventos para la aplicación. El programa no será capaz de responder a alguna cosa que haga el usuario hasta que el EventDispatcher entre por la aplicación. packagecl.utfsm.helloworld; importnet.rim.device.api.ui.*; importnet.rim.device.api.ui.component.*; importnet.rim.device.api.ui.container.*; importnet.rim.device.api.system.*; /* * BlackBerryapplications que necesiten una interfaz *deben extender a UiApplication */ publicclassHelloWorldextendsUiApplication { publicstaticvoidmain(String[] args) { //create a new instance of theapplication //and starttheapplicationontheeventthread HelloWorldtheApp = new HelloWorld(); theApp.enterEventDispatcher(); } publicHelloWorld() { //Mostrar una nueva Screen pushScreen(new HelloWorldScreen()); } } • Crear un nuevo proyecto en Eclipse • Crear la clase principal HelloWorld • Cualquier aplicación Blackberry que tenga interfaz debe extender a la clase UiApplication Una aplicación Ui mantiene un stack de objetos Screen. Como este pone screens dentro del stack, este dibuja todos estos en el principio de cualquier otra screen que ya están en el stack. Cuando la aplicación saca una screen del stack, este redibuja las screens por detrás necesarias. Solo la screen del principio del stack recibe "input events". Jerarquías Objetos • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Primera Aplicación en Java // Crea una nueva screen que extiende a MainScreen, la cual //provee del comportamiento standard por defecto para las //aplicaciones Blackberry final classHelloWorldScreenextendsMainScreen { publicHelloWorldScreen() { //invoca al constructor MainScreen super(); //Agrega un titulo al Screen LabelFieldtitle = new LabelField("HelloWorldUtfsm", LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH); setTitle(title); //agrega el texto "HelloWorld! Utfsm" al screen add(new RichTextField("HelloWorld! Utfsm")); } // sobrescribe el metodoonClose() para mostrar un dialogBox //al usuario con GoodBye! Cuando la aplicación es cerrada. publicbooleanonClose() { Dialog.alert("Goodbye!"); System.exit(0); return true; } } • Para implementar una UiApplication, la clase HelloWorld debe extender a la clase UiApplication. • Es necesario importar el packagenet.rim.device.api.ui como también el paquete net.rim.device.api.ui.UiApplication • Luego si no esta creado, debe crearse el método main(String[] args) el cual es el punto de entrada de nuestra aplicación. Jerarquías Objetos
Demo TwitterBlackBerry Ingredientes: • Sun JDK 1.6.x • Eclipse SDK • Blackberry JDE Plug-in para Eclipse • TwitterApiMe http://kenai.com/projects/twitterapime/pages/Home
Twitter en Blackberry • Agregar la librería TwitterApiMe para Blackberry al proyecto 2. Agregar la librería a la exportación
Twitter en Blackberry • Agregar en el MainScreen , un EditField para ingresar el texto del Tweet • Agregar el Botón que enviará el Tweet • Agregar el ButtonManager que controlara el Botón • Agregar Listener EditFieldtweetField; tweetField = new EditField("Tweet: ", ""); add(tweetField); ButtonFieldtweetButton; tweetButton = new ButtonField(“Tweet", ButtonField.CONSUME_CLICK); tweetButton.setChangeListener(this); HorizontalFieldManagerbuttonManager = new HorizontalFieldManager(Field.FIELD_RIGHT); buttonManager.add(tweetButton); add(buttonManager); • public void fieldChanged(Field field, int context) { • if (field == tweetButton){ • try { • tweetit(); • } catch (IOException e) { • e.printStackTrace(); • } catch (LimitExceededException e) { • e.printStackTrace(); • } • }
Twitter en Blackberry 5. Agregar método tweetit del botón private void tweeit() throws IOException, LimitExceededException{ if(tweetField.getTextLength() == 140 ){ Dialog.alert("Debe ingresar solo 140 caracteres"); }else{ StringtweetPost = tweetField.getText(); TweetSuccessScreentweetSuccessScreen = new TweetSuccessScreen(tweetPost); UiApplication.getUiApplication().pushScreen(tweetSuccessScreen); } } • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
Twitter en Blackberry 6. Agregar una nueva clase MainScreen => TweetSuccessScreen • public class TweetSuccessScreen extends MainScreen { • public TweetSuccessScreen(String tweetPost) throws IOException, LimitExceededException { • add(new LabelField("Tweet "+ tweetPost)); • Tokentoken = new Token("192683686-25srg5mq1KekBYoJHBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "TivB2JCSkETDl2toB4PXxXXXXxxxxXXXXXxxXXXxXXXxxxXXI"); • Credential c = new Credential("francisco.riveros@XXXail.com", "xtXCz7kq9aXxXXxXXXXXxxxXX", "x1vr6x3FzmnPHMQmuoStAXXXXXxXxxxxxxXXxxxxI", token); • UserAccountManager m = UserAccountManager.getInstance(c); • if (m.verifyCredential()) { • Tweet t = new Tweet("(BB)"+tweetPost); • TweetER ter = TweetER.getInstance(m); • t = ter.post(t); • } • } • } Configurar en http://dev.twitter.com Crear una aplicación Client (Read&Write)
Twitter en Blackberry 7. Registrar el código con las signedkeys 8. Compilar • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM
BLACKBERRY ACADEMIC PROGRAM Introducción al desarrollo de aplicaciones Blackberry Control de aplicaciones Optimización de aplicaciones móviles Interfaces de Usuarios Avanzadas • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM Introducción al desarrollo de aplicaciones móviles – Francisco Riveros Escobar Octubre 2010
Recursos For more information about the BlackBerry Academic Program go to: www.blackberry.com/academic For BlackBerry Application Development tools and resources go to: www.blackberry.com/developers For more information about the BlackBerry Certification Program go to: www.blackberry.com/certification
Preguntas? • Francisco Riveros Escobar -Ciclo de CharlasInformaticas - DepartamentoInformaticaUTFSM