19
ACTIVIDAD 4 DISPOSITIVOS MOVILES Objetivo: Conocer la importancia del sistema operativo de un dispositivo móvil Por Jessika Domínguez G.

Actividad 4

Embed Size (px)

Citation preview

Page 1: Actividad 4

ACTIVIDAD 4

DISPOSITIVOS MOVILES

Objetivo: Conocer la importancia del sistema operativo de un dispositivo móvil

Por Jessika DomínguezG.

Page 2: Actividad 4

1. ¿Qué es un sistema operativo para un dispositivo móvil?

• Es un sistema operativo que controla un dispositivo móvil al igual que los PCs utilizan Windows o Linux entre otros. Sin embargo, los sistemas operativos móviles son mucho más simples y están más orientados a la conectividad inalámbrica, los formatos multimedia para móviles y las diferentes maneras de introducir información en ellos.

Page 3: Actividad 4

2. ¿Cuáles son las características de un sistema operativo para un dispositivo móvil?

• determinarán las capacidades• multimedia de los dispositivos, y la forma de éstas de

interactuar con el usuario.• Existen multitud de opciones, si bien las más extendidas son

Symbian, BlackBerry• OS, Windows Mobile, y recientemente iPhone OS y el sistema

móvil de Google,• Android, además por supuesto de los dispositivos con sistema

operativo Linux.

Page 4: Actividad 4

3. Las características del dispositivo móvil tienen importancia para el tipo de sistema operativo a utilizar.

• Dependiendo del tipo del dispositivo móvil a utilizar su capacidad, tipo de sistema operativo que se utilizara es como se facilita al usuario o al programador las herramientas e interfaces adecuadas para realizar sus tareas informáticas, abstrayéndole de los complicados procesos necesarios para llevarlas acabo.

Page 5: Actividad 4

4. ¿Qué es programación?

• Es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.

Page 6: Actividad 4

5. Criterios que se necesitan para la programación de aplicaciones en la tecnología móvil?• La generalización en los últimos años de teléfonos móviles,

smartphones, PDAs, etc. ha generado un importante necesidad de aplicaciones para este tipo de dispositivos

• Las prestaciones de los dispositivos móviles se incrementan día a día, posibilitando la implementación de aplicaciones muy interesantes

• Acceso a Internet y conectividad mediante Bluetooth• Envío de mensajes cortos• Aceleración 2D y 3D• Reproducción de video y sonido• Cámara integrada• Información de localización GPS• Sensores de orientación• etc.

Page 7: Actividad 4

6. ¿A que se refiere Java Mobile Edition?

• La única opción real que permite un desarrollo• multiplataforma para dispositivos móviles• Tiene una estructura altamente modular para• adaptarse a las características de cada dispositivo

Page 8: Actividad 4

7. ¿A que se refiere la configuración Connected Device Configuration?

• Es un acrónimo inglés que coincide con su traducción al español, y que hace referencia a Connected Device Configuration. Esta es una especificación realizada por Sun dentro del conjunto de tecnologías para computación móvil conocido como J2ME (Java 2 Mobile Edition).

• Define las capacidades básicas que debe tener un dispositivo móvil con capacidad de conexión y cuya potencia de computación se encuentra entre la de un teléfono o PDA y la de un ordenador de mesa, es decir, va dirigido fundamentalmente a dispositivos con cierta capacidad como un sistema de navegación GPS para automóvil, un DVR (grabador de video digital), PVR (grabador de video personal) o un aparato para navegar por Internet.

Page 9: Actividad 4

8. ¿A que se refiere la configuración Connected Limited Device Configuration?

• Define requerimientos mínimos en el propio lenguaje, en las librerías básicas y en la cantidad de memoria usada por la JVM.

• Además CLDC supone que el dispositivo huésped dispone de un sistema operativo que puede ejecutar y manejar la maquina virtual.

• Sin embargo CLDC no hace suposiciones sobre muchos otros temas. Por ejemplo:

• No define el tipo de display. • No define el mecanismo de entrada tal como teclado o ratón. • No requiere de algún medio especi fico de almacenamiento para los

datos de aplicación. • Sin embargo los perfiles de J2ME, si que dan requerimientos

adicionales para el rango mas limitado de dispositivos a los que se dirigen.

Page 10: Actividad 4

9. Explica los Applets en J2ME• Tipos de datos: J2ME no incluye los tipos float y double, ya que la mayoría

de los dispositivos CLDC no tienen unidad de coma flotante debido fundamentalmente a que es una operación muy costosa.

• Preverificación: La verificación del código en J2ME se hace fuera del dispositivo, con objeto de reducir la carga de la máquina.

• Inclusión de los ficheros "descriptor" y "manifiesto" al empaquetar ficheros J2ME, conteniendo información sobre las aplicaciones que incluyen.

• Nueva biblioteca gráfica adaptada a los dispositivos con memorias de poco tamaño y pantallas también pequeñas.

• No existe un método main como entrada para la ejecución de la función. Éste se sustituye por el método "start app".

• La recolección de basura se hace de manera manual y no automática como en el J2EE. Esta decisión se toma así para reducir la utilización de la memoria.

Page 11: Actividad 4

10. Del siguiente código explica brevemente la función que realiza.

• import javax.microedition.midlet.MIDlet;

• import javax.microedition.midlet.*;

• import javax.microedition.lcdui.*; // se empieza con una estructura requiere la implementación de un MIDlet, cuya estructura recuerda los Applets yvServlets de J2SE.

• import java.util.*;

• public class MidletCuenta extends MIDlet {

• private Cuenta c; //Se crea el comando c

• private Display d;// Se crea el objeto Display d

• private TextField tCodigo; // Texto tCodigo

• private Command cEntrar, cSalir, cVolver, cMovimientos // Se rean los comando cEntrar, cSalir, cVolver, cMovimientos• private Form fPeticionCodigo, fInfoCuenta; //Se crea la funcion peticion codigo la cual tiene un comando FinforCuenta

• private List lMovCuenta; // Se crea una lista MovCuenta

• public class EjemploMidlet extends MIDlet { // Se crea la clase EjemploMidlet

• public void startApp() {

• }

Page 12: Actividad 4

• public void pauseApp() {

• }

• public void destroyApp(boolean unconditional) {

• }

• }

• public MidletCuenta() { // Se crea MidletCuenta

• d = null;

• }

• void crearComandos() { // En este apartado se crean los valores de cada comando que fue asignado.

• cEntrar = new Command("Entrar", Command.OK, 0);

• cSalir = new Command("Salir", Command.EXIT, 1);

• cVolver = new Command("Volver", Command.BACK, 0);

• cMovimientos = new Command("ver Mov.", Command.SCREEN, 0);

• }

Page 13: Actividad 4

• }

• public void startApp() {

• if (d == null) {

• d = Display.getDisplay(this);

• }

• crearComandos(); // Se manda a llamar a la funcion crearComandos

• crearFormPeticionCodigo(); // Se manda a llamar a la funcion crearFormPeticionCodigo

• d.setCurrent(fPeticionCodigo);

• }

Page 14: Actividad 4

• void crearFormPeticionCodigo() { //Funcion crearPeticionCodigo

• fPeticionCodigo = new Form("Información de cuentas"); //Valor que van tomanado los comandos que se crean al principio

• fPeticionCodigo.append(tCodigo = new TextField("Código de cuenta ",

• null, 10, TextField.NUMERIC));

• fPeticionCodigo.addCommand(cEntrar);

• fPeticionCodigo.addCommand(cSalir);

• fPeticionCodigo.setCommandListener(new listenerPeticionCodigo());

• tCodigo.setLayout(Item.LAYOUT_2 | Item.LAYOUT_CENTER);

• }

Page 15: Actividad 4

• void crearFormPeticionCodigo() { // Funcion peticionCodigo

• fPeticionCodigo = new Form("Información de cuentas"); // Valores de los comanos de la funcion.

• fPeticionCodigo.append(tCodigo = new TextField("Código de cuenta ",

• null, 10, TextField.NUMERIC));

• fPeticionCodigo.addCommand(cEntrar);

• fPeticionCodigo.addCommand(cSalir);

• fPeticionCodigo.setCommandListener(new listenerPeticionCodigo());

• tCodigo.setLayout(Item.LAYOUT_2 | Item.LAYOUT_CENTER);

• }

Page 16: Actividad 4

• void crearFormInformacionCuenta() { //Funcion FormlformacionCuenta

• // Crear formulario de información de la cuenta

• fInfoCuenta = new Form("Información de cuenta");

• fInfoCuenta.append(new StringItem("Código:",

• Long.toString(c.leerNumero())));

• fInfoCuenta.append(new StringItem("Titular:",

• c.leerTitular())); //Se ingresan los datos de el titular de la cuenta.

• fInfoCuenta.append(new StringItem("Interés:",

• Float.toString(c.leerInteres())));//se ingresan datos de los intereses

• fInfoCuenta.append(new StringItem("Saldo:",

Page 17: Actividad 4

• Float.toString(c.leerSaldo()))); //Se leen el saldo del titular

• fInfoCuenta.addCommand(cMovimientos);

• fInfoCuenta.addCommand(cVolver);

• fInfoCuenta.setCommandListener(new listenerInformacionCuenta());

• // Crear lista de movimientos

• lMovCuenta = new List("Ultimos movimientos", List.IMPLICIT);

• Movimiento m;//Declaracion del comando de la cuncion CommandListener

• int nMov, nm;

• for (nMov = 10, nm = c.numMovimientosHistorico() - 1; nMov > 0

• && nm >= 0; nm--, nMov--) {

• m = c.leerMovimientoHistorico(nm);

• lMovCuenta.append(cadenaDate(m.fecha) + ' ' + m.tipo + ' ' +

• m.importe + ' ' + m.saldo, null);

• }

Page 18: Actividad 4

• lMovCuenta.addCommand(cVolver);

• lMovCuenta.setCommandListener(new listenerInformacionMovimientos());// Se llama a la funcion Movimientos y despues retorna para seguir el proceso

• }

• class listenerInformacionCuenta implements CommandListener {// Se inicia la clase ListenerInformacionCuenta

• public void commandAction(Command cm, Displayable s) {

• if (cm == cVolver) {// Se inicia una condicion de movimientos

• d.setCurrent(fPeticionCodigo);

• }

• else if (cm == cMovimientos) {

• d.setCurrent(lMovCuenta);

• }

• }

• }

Page 19: Actividad 4

• class listenerInformacionMovimientos implements //Se llama a la clase InformacionMovimientos

• CommandListener {

• public void commandAction(Command cm, Displayable s) {

• if (cm == cVolver) {

• d.setCurrent(fInfoCuenta);

• }

• }

• }