Introducción al desarrollo de aplicaciones móviles BlackBerry™

47
Introducción al desarrollo de aplicaciones móviles BlackBerry™ Francisco Riveros Escobar Ciclo de Charlas Informaticas UTFSM

description

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 . - PowerPoint PPT Presentation

Transcript of Introducción al desarrollo de aplicaciones móviles BlackBerry™

Page 1: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Introducción al desarrollo de aplicaciones móviles

BlackBerry™Francisco Riveros Escobar

Ciclo de Charlas InformaticasUTFSM

Page 2: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Contenidos

• BlackBerry overview• La necesidad de desarrolladores

móviles• ¿Porque Blackberry?• Introducción al desarrollo de

aplicaciones Blackberry.• Sesión Practica

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 3: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Why BlackBerry?

Why BlackBerry?

Page 4: Introducción  al  desarrollo  de  aplicaciones móviles  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 = 1015 byte = 1012 kB = 109 MB = 106 GB = 103 TB

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 5: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 6: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Why Is There a Need for Trained Professionals in This Field?

050

100150200250300350

2007 2008 2009 2010 2011 2012 2013

Rest of worldJapanAsia/PacificWestern EuropeUnited States

Units (millions)

Source: IDC, March 2009

3.4%22.2%

21.9%16.9%

14.4%

21.9%

GROWTH

Worldwide Converged Mobile Device (smartphone) Forecast

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 7: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

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 developersFrancisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 8: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Why BlackBerry?

Countries with local BlackBerry® coverage in place or announced

425 Carriers & Distribution Partners in 150 Countries

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 9: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Introducción al desarrollo de aplicaciones Blackberry

Page 10: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

1. El contexto de la telefonía móvil

2. Blackberry Plataforma de Aplicaciones

3. Arquitectura Blackberry

4. Desarrollando aplicaciones Java

5. Primera Aplicación

6. Segunda Aplicación ( Twitter )

Agenda

1/30Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 11: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

El contexto de la telefonía móvil1

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 12: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

El contexto de la telefonía móvil

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 13: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

El contexto de la telefonía móvil

LocalizaciónCalidad de Servicio

Almacenamiento y Capacidad de procesamiento limitado

Manejo de energía

Variedad de Interfaces UsuariasProliferación de Plataformas

Transacciones Activas

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 14: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Diferentes PerspectivasDesarrollo Móvil Actual

Aplicaciones Nativas

V/S Aplicaciones Web

Introducción al desarrollo de aplicaciones móviles – Francisco Riveros Escobar Octubre 2010

El contexto de la telefonía móvil

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 15: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Diferentes PerspectivasDesarrollo Móvil Actual

Aplicaciones Nativas

V/S Aplicaciones Web

Depende del Contexto

Introducción al desarrollo de aplicaciones móviles – Francisco Riveros Escobar Octubre 2010

El contexto de la telefonía móvil

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 16: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

BlackBerry Plataforma De Aplicaciones

2

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 17: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Blackberry Plataforma de Aplicaciones

Blackberry Web Development Las aplicaciones Web Blackberry son

basadas en los estándares Son fáciles de desarrollar Server-Side Push 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 Blackberry Widget 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 Charlas Informaticas - Departamento Informatica UTFSM

Page 18: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Blackberry Plataforma de Aplicaciones

Blackberry Web Development Herramientas Necesarias para

desarrollar:

1. Windows XP /Vista / Seven2. JDK 1.4.2 >= (Recomendada

1.6.x )3. Eclipse con Java Development

Environment (JDE), EMF 2.4.1 WTP 3.0.3

4. BlackBerry Widget SDK

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 19: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

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, Blackberry Maps y La aplicación Blackberry Messenger.

Page 20: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Blackberry Plataforma de Aplicaciones

Blackberry Java Development Herramientas Necesarias para

desarrollar:

1. Windows XP /Vista / Seven2. JDK 1.4.2 >= (Recomendada

1.6.x )3. Eclipse con Java Development

Environment (JDE)

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 21: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Blackberry Plataforma de Aplicaciones

Blackberry Theme Development Crear atractivos temas Pantallas de carga interactivas Graficos Contenido animado optimizado para el

entorno móvil Blackberry

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 22: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Blackberry Plataforma de Aplicaciones

SDK for Windows®, SDK for Mac

• 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

Blackberry Tablet OS Development

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 23: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Blackberry Plataforma de Servicios

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 24: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

ArquitecturaBlackberry3

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 25: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Blackberry Network Transports

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 26: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

BlackBerry MDS-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.

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 27: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

BlackBerry BIS-B

Son la mayoría de los usuarios que utilizan cuentas de correo como hotmail, gmail,…etc

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 28: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

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 Charlas Informaticas - Departamento Informatica UTFSM

Page 29: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

BlackBerry TCP

• Alternativa para no pasar por los WAP gateways de los carriers.

• Tienen limitaciones, especialmente en el roaming

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 30: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

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 access points corporativos.

Page 31: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Desarrollo Aplicaciones Java

4

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 32: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Primera Aplicación en Java

• Primera Aplicación• Mostrar el transfondo• Practica

– HelloWorld– Twitter– Facebook

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 33: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Primera Aplicación en Java

Ingredientes:• Sun JDK 1.6.x• Eclipse SDK• Blackberry JDE Plug-in para Eclipse

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 34: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Primera Aplicación en Java

• Antes de empezar a programar revisar y tener como guía las API de Blackberry http://www.blackberry.com/developers/docs/5.0api/index.html

4.1api6.0api….

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 35: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Primera Aplicación en Java

1. Crear un nuevo proyecto en Eclipse

2. Crear la clase principal HelloWorld

3. Cualquier aplicación Blackberry que tenga interfaz debe extender a la clase UiApplication

package cl.utfsm.helloworld;

import net.rim.device.api.ui.*;import net.rim.device.api.ui.component.*;import net.rim.device.api.ui.container.*;import net.rim.device.api.system.*;

/* * BlackBerry applications que necesiten una interfaz *deben extender a UiApplication */public class HelloWorld extends UiApplication{ public static void main(String[] args) { //create a new instance of the application //and start the application on the event thread HelloWorld theApp = new HelloWorld(); theApp.enterEventDispatcher(); } public HelloWorld() { //Mostrar una nueva Screen pushScreen(new HelloWorldScreen()); }}

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".

enterEventDispatcher() : El thread principal de la aplicación se vuelve el even-dispatching thread, 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 Event Dispatcher entre por la aplicación.

Jerarquías Objetos

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 36: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Primera Aplicación en Java

4. Para implementar una UiApplication, la clase HelloWorld debe extender a la clase UiApplication.

5. Es necesario importar el package net.rim.device.api.ui como también el paquete net.rim.device.api.ui.UiApplication

6. Luego si no esta creado, debe crearse el método main(String[] args) el cual es el punto de entrada de nuestra aplicación.

// Crea una nueva screen que extiende a MainScreen, la cual //provee del comportamiento standard por defecto para las //aplicaciones Blackberry

final class HelloWorldScreen extends MainScreen{ public HelloWorldScreen() { //invoca al constructor MainScreen super();

//Agrega un titulo al Screen LabelField title = new LabelField("HelloWorld Utfsm", LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH); setTitle(title);

//agrega el texto "Hello World! Utfsm" al screen add(new RichTextField("Hello World! Utfsm")); }

// sobrescribe el metodo onClose() para mostrar un dialogBox //al usuario con GoodBye! Cuando la aplicación es cerrada.public boolean onClose() { Dialog.alert("Goodbye!"); System.exit(0); return true; }}

Jerarquías Objetos

Page 37: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Demo Twitter BlackBerry

Ingredientes:• Sun JDK 1.6.x• Eclipse SDK• Blackberry JDE Plug-in para Eclipse• TwitterApiMe http://kenai.com/projects/twitterapime/pages/Home

Page 38: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Twitter en Blackberry

1. Agregar la librería TwitterApiMe para Blackberry al proyecto

2. Agregar la librería a la exportación

Page 39: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Twitter en Blackberry

1. Agregar en el MainScreen , un EditField para ingresar el texto del Tweet

2. Agregar el Botón que enviará el Tweet

3. Agregar el ButtonManager que controlara el Botón

4. Agregar Listener

EditField tweetField;tweetField = new EditField("Tweet: ", "");add(tweetField);

tweetButton = new ButtonField(“Tweet", ButtonField.CONSUME_CLICK);tweetButton.setChangeListener(this);

ButtonField tweetButton;

HorizontalFieldManager buttonManager = 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();

} }

Page 40: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

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{ String tweetPost = tweetField.getText(); TweetSuccessScreen tweetSuccessScreen = new TweetSuccessScreen(tweetPost); UiApplication.getUiApplication().pushScreen(tweetSuccessScreen); } }

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 41: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

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));

Token token = new Token("192683686-25srg5mq1KekBYoJHBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "TivB2JCSkETDl2toB4PXxXXXXxxxxXXXXXxxXXXxXXXxxxXXI");

Credential c = new Credential("[email protected]", "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)

Page 42: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Twitter en Blackberry

7. Registrar el código con las signed keys8. Compilar

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 43: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

BLACKBERRY ACADEMIC PROGRAM

Introducción al desarrollo de aplicaciones móviles – Francisco Riveros Escobar Octubre 2010

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 Charlas Informaticas - Departamento Informatica UTFSM

Page 44: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

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

Page 45: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Preguntas?

Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

Page 46: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Gracias!

Page 47: Introducción  al  desarrollo  de  aplicaciones móviles  BlackBerry™

Blackberry Java Object Hierarchy

Object

Field

Bitmap Button Manager

Dialog Field Manager

Flow Field Manager

Screen

Full Screen

Main Screen

Popup Screen

Dialog

Status

Horizontal F ield Manager

Vert ical F ield Manager

Text Field List …

Volver