Encabezado Facultad de Ciencias
Presentación

Ciencias de la Computación (plan 2013) 2016-1

Optativas, Programación de Dispositivos Móviles

Grupo 7081, 23 lugares. 23 alumnos.
Plan 94: Seminario de Programación
Profesor Gustavo Arturo Márquez Flores lu mi vi 7 a 8 Taller de Ingeniería de Software
Ayudante Oscar Alejandro Cerino Vázquez ma ju 7 a 8 Taller de Ingeniería de Software
Ayud. Lab. Rubén Garnica Garcia mi 14 a 16 Taller de Ingeniería de Software
 
Programación de Dispositivos Móviles Facultad de Ciencias Programa del curso

Prof.: M. C. Gustavo Márquez Flores gmarquez@ciencias.unam.mx

Ayudante de Clase: Oscar Alejandro Cerino shinigamidn@ciencias.unam.mx

Ayudante de Laboratorio: Rubén Garnica García garnica@ciencias.unam.mx

Objetivo del Curso.

El objetivo del curso es aprender a desarrollar aplicaciones bajo la plataforma JAVA y Android en dispositivos móviles, teléfonos celulares y equipos PDAs (Personal Digital Assistant, palms).

La plataforma Java que se estudiará y en la cual se desarrollarán las aplicaciones, será J2ME, Java 2 Plataform Micro Edition de SUN Microsystems. El tipo de aplicaciones que se pretende desarrollar están basadas en el perfil MIDP versión 2.0., el cual es una especificación de Java ampliamente utilizada en los teléfonos celulares y dispositivos móviles para desarrollar aplicaciones (MIDlets).

La plataforma Android que se verá en el curso será la versión 4.4, donde se estudiará las capas de su arquitectura, interfaz de usuario, manejo de gráficos e hilos, API de localización, así como algunos temas avanzados como realidad aumentada y manejo de multimedia, acompañado de otras tecnologías como UNITY, Vuforia, Maya y Rhinoceros.

Para desarrollar las aplicaciones y verlas funcionar, se utilizará el ambiente de desarrollo NetBeans IDE también de SUN Microsystems, el cual permite crear aplicaciones bajo la configuración MIDP, además de compilar y ejecutar las aplicaciones en un emulador de un dispositivo móvil en una computadora de escritorio o Laptop.

Temario.

Introducción.

  1. Dispositivos Móviles.
  2. Clasificación y aplicaciones de los dispositivos móviles.
  3. Configuraciones y Perfiles.
  4. La plataforma Android entorno, anatomía y las capas de su arquitectura.

Programación.

  1. La API de MIDP 2.0.
  2. EL Ciclo de vida de una aplicación MIDP.
  3. Compilación y los archivos manifiesto (.jar) y descriptor (.jad).
  4. La estructura básica de un MIDlet.
  5. El Ciclo de vida de un MIDlet.
  6. El J2ME Wireless Toolkit.
  7. MIDlets Gráficos e interfaz de usuario.
  8. La API de alto nivel para Interfaz de usuario.
  9. Programación de formularios. String Item, Image Item, DateField, TextField, Choice Group, Gauge, Alert, List.
  10. La API de bajo nivel para Interfaz de usuario.
    1. Programación de gráficos.
    2. Programación de Threads y Task-Scheduler.
    3. Manejo de Hilos en Android.
    4. Programación del teclado.

Android.

  1. Diseño de interfaz de usuario, vistas y layout.
  2. Interfaz Gráfico: Layouts, Activity, ListActivity.
  3. Manejo de gráficos Canvas, Paint, Path, Drawable.
  4. Actividades fragmentos e intenciones (Activity, Fragment, Intent)

Almacenamiento Persistente de Datos.

  1. Programación de Record Store.
  2. Android.
  3. Almacenamiento de datos.

Programación de Medios.

  1. Reproducción de sonido y video. Mobile Media API (MMAPI).
  2. Gráficos y animación en 3 dimensiones. Mobile 3D Graphics API (M3DGAPI).
  3. Android.
  4. Introducción a modelos 2D y 3D.
  5. Incorporación de elementos externos y manejo de multimedia (3D, audio, video).
  6. Manipulación de objetos 2D y 3D en Android.
  7. Realidad Aumentada en móviles.
  8. Uso de la Realidad Aumentada para uso Científico.

Conexión a Redes.

  1. Datagram Connection.
  2. Socket Connection.
  3. Stream Connection.
  4. Http Connection.
  5. Android.
  6. API de localización. Mapas y geolocalizaciones (GPS).
  7. Uso de servicios Android.
  8. Conectividad (WIFI).

Publicación y comercialización.

  1. Proteger el código fuente.
  2. Comercialización de aplicaciones.

Bibliografía.

The Mobile Information Device Profile and MIDlets, Part 1. Kim Topley. O’Reilly. First Edition March 2002. Series: In a Nutshell. ISBN: 0-596-00253-X. 480 pgs.

Enterprise J2ME: Developing Mobile Java Applications. Michael Juntao Yuan. Prentice Hall. Oct. 24th 2003. ISBN: 0131405306, Paperback, 448 pgs.

Wireless Java: Developing with J2ME. Second Edition. Sing Li & Jonathan Knudsen. Apress, Inc. April, 2005.

ISBN: 1590594797, Paperback.

Beginning Mobile Phone Game Programming. First Edition. Michael Morrison. Sams Publishing. Nov 22, 2004. ISBN: 0672326655. Paperback, 528 pgs.

Micro Java(TM) Game Development. David Fox, Roman Verhovsek. Paperback.

J2ME: The Complete Reference. James Keogh. Mc Graw Hill Osborne. ISBN: 0072227109. Paperback.

Android 4.4 App Development Essentials – First Edition. Neil Smyth ISBN-13: 978-1-4953580-6-7. 2014.

Mobile Design and Development. Brian Fling. O’REILLY

First Edition (August 31, 2009). Paperback: 336 pages.

Android Programming Tutorials. Mark Lawrence Murphy CommonsWare.

Designing Virtual Worlds . Bartle, Richard A. NRG . July 25, 2003

Unity 4.x Game AI Programming, Aung Sithu Kyaw, Clifford Peters & Thet Naing Swe. Kindle Edition.

Enlaces

  1. NetBeans IDE.
  1. J2ME.
  1. Android.
  1. Programación de videojuegos.
  1. Java para Palm OS.
  1. Colección de artículos y tips de programación.
  1. jguru J2ME FAQ Home Page.
  1. Emuladores, programas, API’s y recursos diversos.

 


Hecho en México, todos los derechos reservados 2011-2016. Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente completa y su dirección electrónica. De otra forma requiere permiso previo por escrito de la Institución.
Sitio web administrado por la Coordinación de los Servicios de Cómputo de la Facultad de Ciencias. ¿Dudas?, ¿comentarios?. Escribenos. Aviso de privacidad.