PROYECTO FINAL DE CURSO 3ª EDICIÓN CURSO PROGRAMACIÓN DISPOSITIVOS MÓVILES EN ANDROID CFP. UNIVERSIDAD POLITÉCNICA DE VALENCIA ÁLVARO RÓDENAS PASTOR RedLog 1.1.- NOMBRE DEL PROYECTO Y AUTOR Nombre del proyecto: Eclipse: src.org.example.proyectofinalrodenas Nombre de la aplicación: RedLog. Autor del proyecto: Álvaro Rodenas Pastor Estructura del proyecto en Eclipse: 2.2.- LICENCIA Autorizo la difusión del código fuente con fines educativos siempre y cuando se haga referencia al autor y bajo los términos generales de la licencia “Academic Free License v3.0”. Álvaro Ródenas Pastor 2 RedLog 3.3.- OBJETO DE LA APLICACIÓN La aplicación RedLog ha sido desarrollado como Proyecto Final del la 3era edición del Curso de Programación para Dispositivos Móviles en Android. Su funcionalidad principal es la de ofrecer información al usuario acerca de la red móvil que está utilizando en cada momento el teléfono móvil (con sistema operativo Android). En concreto, ofrece información de: • Información genérica: como por ejemplo la red en la que está acampado el terminal, el tipo de terminal, el estado del móvil, etc. • Información de la red móvil en la que está acampado el teléfono: parámetros internos que nos ofrece la API de Android, como el cell id, el nivel de señal, el LAC, etc. • Información de las vecinas de la celda servidora. Además, y como funcionalidad adicional, la aplicación nos da información de posicionamiento usando la API de Google Maps, combinada con información de cobertura. La aplicación ha sido desarrollada con API Google 10 (2.3.3) Gingerbread, en base al último estudio disponible en developer.android.com (y que se muestra a continuación). Fuente: http://developer.android.com/about/dashboards/index.html La aplicación ha sido testeada con dos terminales Android: Álvaro Ródenas Pastor 3 RedLog 4.4.-DESCRIPCIÓN DE LA APLICACIÓN preferences preferences preferences RedLog.class TabLog.class Map.class Log.class MyItemizedOverlay.class MyOverlayItem.class Notification 4.1.- CONOCIMIENTOS EMPLEADOS • • • • • Recursos centralizados: Uso de styles. Uso de color.xml, array.xml, strings.xml Uso de selectors para imágenes y buttons. Traducción completa al inglés. Menú contextual Información de Acerca de y Exit. Lanzamos actividad Acerca de con un intent startActivity(). Versión layout-land Para layout main.xml. Resto de layouts están especialmente diseñados para portrait (forzados en AndroidManifest). Álvaro Ródenas Pastor 4 RedLog • • • • • • • Notificaciones Info adicional que cambia en tiempo de ejecución Preferencias Uso de los valores introducidos Toast modificados Google Maps Centrado en posición actual Se usa el mejor proveedor (GPS o network). Clases ItemizedOverlay OverlayItem para dibujar puntos sobre google maps. Implementación de los métodos del CICLO DE VIDA. Uso de intent para realizar llamadas (ACTION_CALL). Uso de la clase TELEPHONY_MANAGER: Clase SignalStrength Clase GSMCellLocation Clase StateCall Clase ServiceState Clase NeighboringCellInfo 4.2.- MOVIMIENTO ENTRE ACTIVIDADES Al iniciar la aplicación, se abre RedLog.class. En dicha activity hay un botón para acceder a la aplicación de Log, y otro para las opciones. • Al pinchar sobre “Opciones”, accedemos a un menú de Preferences. • Al pinchar sobre “Log”, acceemos a TabLog.class Es un tabHost con dos pestañas: Log.class, con la información de la red, móvil, etc. Map.class, un googleMap centrado en la posición actual (usando el mejor proveedor). Nos muestras puntos de cobertura cuyo color nos indica el nivel de señal conforme a una escala. Si pinchamos en un punto de cobertura, nos muestra en un dialog su nivel de señal y el cellid . Cada vez que hay un cambio de posición, se muestras un Toast con el nivel de señal. Al abrir TabLog.class, matamos la actividad RedLog.class para hacer más intuitiva la navegación para el usuario. A la vez que se inicia TabLog, se crea una notification en la barra superior. Pinchando en ella, accedemos a TabLog.class. • En cualquier activity, pulsando “back” salimos (sin matar la activity). • Pulsando el botón de menú, nos sale el menú de opciones Todas las opciones son accesibles desde todas las activities. Para matar la aplicación, hay que pulsar la opción “exit” Si no, se quedará en background dando información al usuario mediante la notificación y mediante Toast. • Álvaro Ródenas Pastor 5 RedLog 5.- PANTALLAS DE LA APLICACIÓN Álvaro Ródenas Pastor 6 RedLog 6.6.- BIBLIOGRAFÍA http://developer.android.com/reference/android/telephony/package-summary.html http://davanum.wordpress.com/2007/11/29/android-access-cell-phone-details-cell-id-lac-signal-strength/ http://stackoverflow.com/questions/4152373/how-to-know-location-area-code-and-cell-id-in-android-phone http://softteco.blogspot.com.es/2011/08/android-get-cell-id.html http://www.java2s.com/Code/Android/CoreClass/NetworkDetectorusesandroidtelephonyTelephonyManagertoobtaintelephonyparameterslikenetworkstateph onetypeandSIMstate.htm http://www.androidadb.com/source/eyes-free-readonly/shell/src/com/google/marvin/shell/AuditoryWidgets.java.html http://stackoverflow.com/questions/8680049/the-method-celllocationchanged-is-undefined-for-the-type-activity https://developers.google.com/maps/documentation/android/v1/hello-mapview Álvaro Ródenas Pastor 7