+ All Categories
Home > Documents > Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López...

Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López...

Date post: 05-Apr-2020
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
28
1 Tópicos Selectos Tópicos Selectos de Programación de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas Computacionales 2 Programación con Dispositivos Móviles Unidad VI
Transcript
Page 1: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

1

Tópicos SelectosTópicos Selectosde Programaciónde Programación

Rafael Rivera López

Departamento de Sistemas y Computación

Ago-Dic 2008

Veracruz, Ver.

Ingeniería en Sistemas Computacionales

2

Programación con

Dispositivos Móviles

Unidad VI

Page 2: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

3

Cómputo MóvilCómputo Móvil

IV.1

03/12/09 4

Wireless Local Area Network

Wireless Personal Area Network

Wireless Wide Area Network

GSM

IEEE 802.11a/b/g/h/i

IEEE 802.15.1

In t r o d u cció n� Nuevo paradigma “Cómputo Móvil”.

Page 3: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 5

Ar q u it e ct u r a

03/12/09 6

D isp o sit iv o s M ó v ile s

Características:

- Gran capacidad de comunicación- Tamaño reducido- Usan bateria- Tienen un procesador simple- Memoria pequeña- Interfaz con el usuario reducida

Page 4: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 7

D isp o sit iv o s M ó v ile s

03/12/09 8

D isp osit iv o s M ó v ile s

- Teléfono Móvil: - Portátil, conectado a una red celular. - Comunicación en tiempo real de dos vías

- PDA (Asistente Digital Personal) - Agenda electrónica personal - Gran capacidad de memoria - Visualización mejorada

- Híbridos - PDA + Teléfono : Comunicadores - Telefono + PDA : Smartphones

Page 5: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 9

D isp osit iv o s M ó v ile s

PDA / PalmSmartphone Tel. Móvil

10

ElementosElementos

VI.2

Page 6: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 11

Ele m e n t o s

- Hardware - Procesador: 16 ó 32 bits - Memoria: 160 KB a 2 MB o más - Conectividad

- Software (Sistema Operativo) - PalmOS, Symbian, Windows Mobile, Linux

- Interfaz con el usuario: - Pantallas, Teclados, Plumas, Conectores

03/12/09 12

P a lm O S

Nació en 1996

Page 7: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 13

Windows CE

W in d o w s CE > W in d ow s M o b ile

Windows Mobile

03/12/09 14

Sy m b ia n

Page 8: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 15

Em b e d d e d Lin u x

Motorola Touch A1200.

03/12/09 16

O p cio n e s d e D e sa r r o l lo

- Sun Microsystems - Plataforma: J2ME - Lenguaje: Java

- Microsoft - Plataforma .NET - Lenguaje: VB y C#

- Nokia - Plataforma: S60 - Lenguaje: Python

Page 9: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

17

J2MEJ2ME

VI.3

03/12/09 18

J2 M E

Java 2 se divide en tres plataformas

– J2EE (Java2 Enterprise Edition) Aplicaciones para negocios.

– J2SE (Java2 Standard Edition) Aplicaciones generales.

– J2ME (Java2 Micro Edition) para pequeños dispositivos tales como PDA, celulares, etc.

Page 10: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 19

J2ME está basada en configuraciones y perfiles de dispositivo.

J2 M E

20

Componentes del ambiente J2ME

• El entorno de desarrollo J2ME– Configurations (configuraciones) – Profiles (perfiles)– Extensions (extensiones)

Page 11: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

21

Configuraciones

• Las Configuraciones (Configurations) están compuestas por:• Java Virtual Machine• Conjunto mínimo de clases base.

• Proveen la funcionalidad básica para un cierto conjunto de dispositivos con características similares de memoria, conectividad a la red, etc.

• Existen dos tipos de configuraciones• Connected Limited Device Configuration (CLDC) • Connected Device Configuration (CDC)

22

Configuraciones

• CLDC es la configuración más pequeña.

• Se utiliza para dispositivos con poca memoria y procesadores lentos (teléfonos celulares)

• CDC es para dispositivos con más memoria y procesadores más rápidos como ser dispositivos de vehículos, y PDAs muy potentes. Incluye un subconjunto mucho más grande de J2SE, y una JVM más completa que CLDC.

Page 12: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

23

Perfiles

• Para completar el entorno de desarrollo para una categoría específica de dispositivos, se necesita un “Perfil” (Profile)

• Es un Conjunto de APIs de más alto nivel que permiten acceder a propiedades específicas del dispositivo, definir la interfaz de usuario, etc).

• Hay 4 perfiles básicos: • MIDP• Foundation Profile• Personal Profile• Personal Basis Profile.

24

Extensiones

• La plataforma J2ME puede extenderse mediante el uso de paquetes opcionales

• Dichos paquetes ofrecen por ejemplo APIs standard para multimedia, Bluetooth, y otras tecnologías emergentes.

• Al ser modulares se evita el overhead de cargar con funcionalidad adicional que no se utiliza.

Page 13: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

25

Ejemplo de entorno J2ME

• Un ejemplo es combinar CLDC con el “Mobile Information Device Profile” (MIDP) para proveer un entorno de desarrollo para teléfonos celulares.

MIDP

VM

CLDCAPLICACIÓN

J2ME

26

Paquetes y ClasesPaquetes y Clases

VI.4

Page 14: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

27

CLDC

28

MIDP

Page 15: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

29

MIDP

03/12/09 30

Ciclo d e v id a d e u n M id le t

Page 16: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 31

Interfaz Gráfica

32

Estructura BásicaEstructura Básicade un MIDletde un MIDlet

VI.5

Page 17: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 33

Estructura básica de un MIDLET

import javax.microedition.midlet.*;

public class HolaMIDlet extends MIDlet {

public void startApp() { }

public void pauseApp() { }

public void destroyApp(boolean unconditional) { }�

Este metodo hace acopio de los

recursos que va ha necesitar

Este metodo es invocado cuando se necesita detener la ejecucion del midlet

temporalmente

Este metodo es invocado por el sistema cuando el

midlet tiene que ser destruido

03/12/09 34

Cla se s d e LCD U I

Page 18: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 35

03/12/09 36

Display

import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class HolaMIDlet extends MIDlet { public HolaMIDlet(){ }

public void startApp() { Display display; display=Display.getDisplay(this); display.setCurrent(objetoacolocar); }

public void pauseApp() { }

public void destroyApp(boolean unconditional) { }}

display

Page 19: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 37

����������� � ����� � �� �� ��� �� �� ����� �������display

AlertForm

ListTextBox

display.setCurrent(objForm);

display.setCurrent(objTextBox);

display.setCurrent(objAlert);

display.setCurrent(objList);

03/12/09 38

�LA CLASE FORM��� ���������� �� !� " #��$ � � #������ �#��%���#�&� " #��!�� �$ ' " �� ��$ ���(" �'�����) ��#��* �"�+•,$���-)

•.��- )

•/ 0$1� �")

•2�$�1� �")

•3��-

•45��# 3���!6

•4������ �� " ��' '�%#��' ' " �� #��' .$ �6

Display

Form

����� 7��

Page 20: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 39

����� 7��import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class HolaMIDlet extends MIDlet{ private Form principal; public HolaMIDlet(){ principal = new Form("Principal"); } public void startApp() { Display.getDisplay(this).setCurrent( principal ); }

public void pauseApp() { }

public void destroyApp(boolean unconditional) { }}

03/12/09 40

Display

Form

������������� �������� �� ��� ������� � �� �� �������� ��� �Ø ���������Ø ��������� !Ø "#�������Ø $��%���&&

����� 7��

Ø '� �($�"� �!! �")* ! ���$ ��' �$�� #��!�� �$ ' � �����������

Page 21: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 41

����� 7��import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class HolaMIDlet extends MIDlet{ private Form principal; public HolaMIDlet(){ principal = new Form("Principal"); principal.append("Hola Mundo Móvil desde J2M E"); } public void startApp() { Display.getDisplay(this).setCurrent(principa l); }

public void pauseApp() { }

public void destroyApp(boolean unconditional) { }}

42

Comandos de PantallaComandos de Pantalla

VI.6

Page 22: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 43

�������� ��� ���� � �������� � � � � ����� � ������ �������� � ����� � �������� ��������� ���� ��������� �� ���������� ��� �� ������� �� ����� ����� �������� � � ��� � �� ����������� � � �� ������ ���� �� ������� ��������� ���� ���������� ���� � ���� ��������� �� � ��� � � � ����� ���� � ����� ��� � � �� ��������� � �� ���� �� ��� ������ �� � ��� ���� ������ �������� �� ������� ��� ����� � � ���������� ��� �� ����� �

�������� �� ��������

03/12/09 44

�������� �� ��������import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class HolaMIDlet extends MIDlet{ private Form principal; private Command salir; public HolaMIDlet(){ salir = new Command("Salir",Command.EXIT,0); principal = new Form("Principal"); principal.append("Hola Mundo Móvil desde J2M E"); principal.addCommand(salir); } public void startApp() { Display.getDisplay(this).setCurrent(principa l); }

public void pauseApp() {}

public void destroyApp(boolean unconditional) { }}

Page 23: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 45

Display

Form

Comando de Pantalla

�������� �� ��������

03/12/09 46

�� � � ��� � � �������� ������ ����� ���� � ������ � �������� ������������ ��������������� ������ �� ����� � � �� ��� ���� ����������������� ����� ������� �� ��� � �������� ��� ���� ������������� ��

������� �� �������� �� ��������

Page 24: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 47

������� �� �������� �� ��������import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class HolaMIDlet extends MIDlet implements CommandListener { private Form principal; private Command salir; public HolaMIDlet(){ salir = new Command("Salir",Command.EXIT ,0); principal = new Form("Principal"); principal.append("Hola Mundo Móvil desde J2M E"); principal.addCommand(salir); principal.setCommandListener(this); } public void commandAction(Command a,Displayable b){ notifyDestroyed(); } ...}

48

Proyectos para Proyectos para Dispositivos Móviles en Dispositivos Móviles en

NetBeansNetBeans

VI.7

Page 25: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 49

�Paso # 1 : ���� �� ����������� ��Paso # 2 : '� �� � �$��� ' � ##����� � #�$ -����' �� �!#�&�Mobility * � �� " � #5� � Projects � -�� MIDP Aplication

Seleccionar nuevo proyecto

Seleccionar Mobility

Seleccionar MIDP Aplication

Presionar Botón

siguiente

03/12/09 50

�Paso # 3� ������ � ������ � ������ �� �� ����������Create Hello MIDlet

Seleccionar nuevo proyecto

Page 26: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 51

�Paso # 4� ���������� ������

Presionar finalizar

03/12/09 52

�Paso # 5 � ������ � ����� � ���� ������ �

Page 27: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 53

�Paso # 6 � ���� �� ���� �

03/12/09 54

�Paso # 7: ����� ������ �� ���� �

Page 28: Tópicos Selectos de Programación1 Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas

03/12/09 55

�Paso # 8: ���� �� ����

03/12/09 56

�Paso # 9: ����� ������ �� ����


Recommended