• No se han encontrado resultados

Tópicos Selectos de Programación

N/A
N/A
Protected

Academic year: 2021

Share "Tópicos Selectos de Programación"

Copied!
28
0
0

Texto completo

(1)

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

(2)

3

Cómputo Móvil

Có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

I n t r o d u cció n

Nuevo paradigma “Cómputo Móvil”.

(3)

03/12/09 5

A r 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

(4)

03/12/09 7

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

03/12/09 8

D isp o sit 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

(5)

03/12/09 9

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

PDA / Palm

Smartphone

Tel. Móvil

10

Elementos

Elementos

(6)

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

(7)

03/12/09 13

Windows CE

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

Windows Mobile

03/12/09 14

S y m b ia n

(8)

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 llo

- Sun Microsystems

- Plataforma: J2ME

- Lenguaje: Java

- Microsoft

- Plataforma .NET

- Lenguaje: VB y C#

- Nokia

- Plataforma: S60

- Lenguaje: Python

(9)

17

J2ME

J2ME

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.

(10)

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)

(11)

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.

(12)

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.

(13)

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 CLDC APLICACIÓNJ2ME 26

Paquetes y Clases

Paquetes y Clases

VI.4

(14)

27

CLDC

28

(15)

29

MIDP

03/12/09 30

(16)

03/12/09 31

Interfaz Gráfica

32

Estructura Básica

Estructura Básica

de un MIDlet

de un MIDlet

VI.5

(17)

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

(18)

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) { }

}

(19)

03/12/09 37 display Alert Form List TextBox display.setCurrent(objForm); display.setCurrent(objTextBox); display.setCurrent(objAlert); display.setCurrent(objList); 03/12/09 38

LA CLASE FORM

! " #$ # # % # & " #! $ ' " $ ( " ' ) # * " +

, $ -)

. - )

/ 0$1 " )

2 $ 1 " )

3 -

4 5 # 3 !6

4 " '' % # ' ' " #' . $ 6 Display Form 7

(20)

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 ' ( $ " ! ! ")* ! $ ' $#! $ '

(21)

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

}

public void startApp() {

Display.getDisplay(this).setCurrent(principal); }

public void pauseApp() { }

public void destroyApp(boolean unconditional) { } } 42

Comandos de Pantalla

Comandos de Pantalla

VI.6

(22)

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 J2ME"); principal.addCommand(salir);

}

public void startApp() {

Display.getDisplay(this).setCurrent(principal); }

public void pauseApp() {}

public void destroyApp(boolean unconditional) {} }

(23)

03/12/09 45 Display Form Comando de Pantalla 03/12/09 46

(24)

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

NetBeans

NetBeans

VI.7

(25)

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

(26)

03/12/09 51

Paso # 4

Presionar finalizar 03/12/09 52

Paso # 5

(27)

03/12/09 53

Paso # 6

03/12/09 54

Paso # 7:

(28)

03/12/09 55

Paso # 8:

03/12/09 56

Paso # 9:

Referencias

Documento similar

El quincenario de los frailes de Filipinas, condena para el Archipiélago los propósitos de nivelación jurídica que para todo territorio español, peninsular o ultramarino, se

SECUNDARIA COMPRENDE LOS

Una vez hecho esto, se realiza una espera, leyendo el registro de salida del coprocesador para el control de qué está haciendo el procesador en este momento, a la espera que nos

[r]

representar las diferentes dimensiones que puede tener un tablero, el turno del jugador al que le toca mover ficha en juegos de mes sencillos, una lista de condiciones que determinan

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

En cada antecedente debe considerarse como mínimo: Autor, Nombre de la Investigación, año de la investigación, objetivo, metodología de la investigación,