Introducción al desarrollo de aplicaciones móviles BlackBerry™
Embed Size (px)
description
Transcript of 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

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

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 = 1015 byte = 1012 kB = 109 MB = 106 GB = 103 TB
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

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

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

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

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

Introducción al desarrollo de aplicaciones 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

El contexto de la telefonía móvil1
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

El contexto de la telefonía móvil
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

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

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

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

BlackBerry Plataforma De Aplicaciones
2
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

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

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

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.

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

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

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

Blackberry Plataforma de Servicios
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

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

Blackberry Network Transports
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

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

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

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

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

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.

Desarrollo Aplicaciones Java
4
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

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

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

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

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

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

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

Twitter en Blackberry
1. Agregar la librería TwitterApiMe para Blackberry al proyecto
2. Agregar la librería a la exportación

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

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

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)

Twitter en Blackberry
7. Registrar el código con las signed keys8. Compilar
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM

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

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

Gracias!

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