Introducción al desarrollo de aplicaciones móviles BlackBerry
1. Introducción al desarrollo
de aplicaciones móviles
BlackBerry™
Francisco Riveros Escobar
Ciclo de Charlas Informaticas
UTFSM
2. 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
4. 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
6. Why Is There a Need for Trained Professionals in
This Field?
Worldwide Converged Mobile Device (smartphone)
Units (millions) Forecast
350 GROWTH
14.4%
300 16.9%
250 21.9%
Rest of world
22.2% Japan
200
21.9% 3.4% Asia/Pacific
150 Western Europe
United States
100
50
0
2007 2008 2009 2010 2011 2012 2013
Source: IDC, March 2009
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
7. 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 Charlas Informaticas - Departamento Informatica UTFSM
8. Why BlackBerry?
425 Carriers & Distribution Partners in 150
Countries
Countries with local BlackBerry® coverage in place or announced
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
10. Agenda
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 )
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM 1/30
11. El contexto de la
1 telefonía móvil
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
12. El contexto de la telefonía móvil
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
13. El contexto de la telefonía móvil
Calidad de Servicio
Localización
Almacenamiento y Capacidad
de procesamiento limitado
Transacciones Activas
Manejo de energía
Proliferación de Variedad de Interfaces Usuarias
Plataformas
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
14. El contexto de la telefonía móvil
Desarrollo Móvil Actual Diferentes Perspectivas
Aplicaciones V/S Aplicaciones Web
Nativas
Introducción al desarrollo de aplicaciones móviles – Francisco Riveros Escobar
Francisco Riveros Escobar Octubre 2010
- Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
15. El contexto de la telefonía móvil
Desarrollo Móvil Actual Diferentes Perspectivas
Aplicaciones V/S Aplicaciones Web
Nativas
Introducción al desarrollo de aplicaciones móviles – Francisco Riveros Escobar
Francisco Riveros Escobar Octubre 2010
- Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
16. BlackBerry
2 Plataforma
De Aplicaciones
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
17. 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
18. Blackberry Plataforma de Aplicaciones
Blackberry Web Development
Herramientas Necesarias para
desarrollar:
1. Windows XP /Vista / Seven
2. 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
19. 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.
20. Blackberry Plataforma de Aplicaciones
Blackberry Java Development
Herramientas Necesarias para
desarrollar:
1. Windows XP /Vista / Seven
2. 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
21. 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
22. Blackberry Plataforma de Aplicaciones
Blackberry Tablet 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 Charlas Informaticas - Departamento Informatica UTFSM
23. Blackberry Plataforma de Servicios
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
24. Arquitectura
3 Blackberry
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
26. -Acceso a Mail Corporativo o
aplicaciones que corren en el
BlackBerry MDS
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
27. 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
28. 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
29. 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
30. 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.
31. Desarrollo
4 Aplicaciones
Java
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
32. 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
33. 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
34. 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.1api
6.0api
….
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
35. Primera Aplicación en Java enterEventDispatcher() :
El thread principal de la
aplicación se vuelve el even-
dispatching thread, el cual
1. Crear un nuevo proyecto en Eclipse package cl.utfsm.helloworld; ejecutara todos los drawings y
el manejo de eventos para la
import net.rim.device.api.ui.*; aplicación.
import net.rim.device.api.ui.component.*;
2. Crear la clase principal HelloWorld import net.rim.device.api.ui.container.*;
El programa no será capaz de
import net.rim.device.api.system.*;responder a alguna cosa que
haga el usuario hasta que el
3. Cualquier aplicación Blackberry que /* Event Dispatcher entre por la
* BlackBerry applications que necesiten una
tenga interfaz debe extender a la aplicación.
interfaz *deben extender a UiApplication
clase UiApplication */
public class HelloWorld extends UiApplication
{
Una aplicación Ui mantiene un stack public static void main(String[] args)
{
de objetos Screen. Como este pone //create a new instance of the application
screens dentro del stack, este dibuja //and start the application on the event thread
HelloWorld theApp = new HelloWorld();
todos estos en el principio de theApp.enterEventDispatcher();
cualquier otra screen que ya están en }
public HelloWorld()
el stack. Cuando la aplicación saca {
una screen del stack, este redibuja //Mostrar una nueva Screen
pushScreen(new HelloWorldScreen());
las screens por detrás necesarias. }
Solo la screen del principio del stack }
Jerarquías Objetos
recibe "input events".
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
36. Primera Aplicación en Java
// Crea una nueva screen que extiende a MainScreen, la cual
4. Para implementar una UiApplication, la clase //provee del comportamiento standard por defecto para las
HelloWorld debe extender a la clase //aplicaciones Blackberry
UiApplication. final class HelloWorldScreen extends MainScreen
{
public HelloWorldScreen()
5. Es necesario importar el package {
net.rim.device.api.ui como también el //invoca al constructor MainScreen
super();
paquete net.rim.device.api.ui.UiApplication
//Agrega un titulo al Screen
LabelField title = new LabelField("HelloWorld Utfsm",
6. Luego si no esta creado, debe crearse el LabelField.ELLIPSIS
| LabelField.USE_ALL_WIDTH);
método main(String[] args) el cual es el setTitle(title);
punto de entrada de nuestra aplicación.
//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
37. 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
38. Twitter en Blackberry
1. Agregar la librería TwitterApiMe para
Blackberry al proyecto
2. Agregar la
librería a la
exportación
39. Twitter en Blackberry
1. Agregar en el MainScreen , un EditField para ingresar el texto del Tweet
EditField tweetField;
tweetField = new EditField("Tweet: ", "");
add(tweetField);
2. Agregar el Botón que enviará el Tweet
ButtonField tweetButton;
tweetButton = new ButtonField(“Tweet", ButtonField.CONSUME_CLICK);
tweetButton.setChangeListener(this);
3. Agregar el ButtonManager que controlara el Botón
HorizontalFieldManager buttonManager = new HorizontalFieldManager(Field.FIELD_RIGHT);
buttonManager.add(tweetButton);
add(buttonManager);
public void fieldChanged(Field field, int context) {
if (field == tweetButton){
try {
4. Agregar Listener tweetit();
} catch (IOException e) {
e.printStackTrace();
} catch (LimitExceededException e) {
e.printStackTrace();
}
}
40. 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
41. Twitter en Blackberry
6. Agregar una nueva clase MainScreen => TweetSuccessScreen
public class TweetSuccessScreen extends MainScreen {
public TweetSuccessScreen(String tweetPost) throws IOException,
LimitExceededException {
Configurar en
add(new LabelField("Tweet "+ tweetPost)); http://dev.twitter.com
Token token = new Token("192683686-
Crear una
25srg5mq1KekBYoJHBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"TivB2JCSkETDl2toB4PXxXXXXxxxxXXXXXxxXXXxXXXxxxXXI"); aplicación Client
(Read&Write)
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);
}
}
42. Twitter en Blackberry
7. Registrar el código con las signed keys
8. Compilar
Francisco Riveros Escobar - Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
43. BLACKBERRY ACADEMIC PROGRAM
Introducción al desarrollo de aplicaciones Blackberry
Control de aplicaciones
Optimización de aplicaciones móviles
Interfaces de Usuarios Avanzadas
Introducción al desarrollo de aplicaciones móviles – Francisco Riveros Escobar
Francisco Riveros Escobar Octubre 2010
- Ciclo de Charlas Informaticas - Departamento Informatica UTFSM
44. 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
47. Blackberry Java Object Hierarchy
Object
Field
Bitmap Button Manager Text Field List …
Horizontal
Dialog Field Flow Field Vertical Field
Manager Manager Screen Field
Manager
Manager
Popup
Full Screen
Screen
Volver
Main Dialog Status
Screen
Notas del editor
BlackBerry is continually increasing market share worldwideBlackBerry is the top shipping converged mobile device in North America (IDC Dec 2008)32 million active BlackBerry smartphones worldwideOver 200,000 BlackBerry Enterprise Servers have been deployed425 Carriers & Distribution Partners in 150 CountriesAs a developer or systems manager you want to be familiar with the solution you will encounter in the real worldBlackBerry is the gold standard in secure mobile communicationsBlackBerry utilizes best in class push based information deliveryThis security and immediacy is increasingly important in today’s business environmentBlackBerry is continually adding new administrative featuresEnables administrators more granular control over the solutionTrained professionals are needed to efficiently and effectively leverage these capabilitiesBlackBerry is continually providing developers with more tools and resources Continually supporting developers, helping them to improve their development processesIndustry leading revenue sharing for developersDevelopers distributing applications through the BlackBerry application store receive an industry-leading revenue share of 80%