INGENIERÍA INFORMÁTICA RECURSOS ANDROID BASADOS EN GEOLOCALIZACIÓN. Realizado por Francisco Javier Martín Otero

Tamaño: px
Comenzar la demostración a partir de la página:

Download "INGENIERÍA INFORMÁTICA RECURSOS ANDROID BASADOS EN GEOLOCALIZACIÓN. Realizado por Francisco Javier Martín Otero"

Transcripción

1 ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA INGENIERÍA INFORMÁTICA RECURSOS ANDROID BASADOS EN GEOLOCALIZACIÓN Realizado por Francisco Javier Martín Otero Dirigido por José Ramón Portillo Fernández Departamento Matemática Aplicada I Sevilla, (Junio/2012)

2

3 Resumen Esta documentación corresponde a la memoria del Proyecto Fin de Carrera de recursos Android basados en geolocalización, desarrollado para la titulación de Ingeniería Informática en la Escuela Técnica Superior de Ingeniería Informática de la Universidad de Sevilla. Se incluye, además de una introducción al sistema operativo Android, todos los pasos realizados para lograr el objetivo, desde el nacimiento de la idea hasta completar su desarrollo, incluida la publicación en la tienda Google Play de Android y la puesta a disposición de todos los usuarios. Además de esta documentación, también adjuntamos el código fuente de la aplicación en un fichero aparte, así como su ejecutable listo para ser instalado en un terminal Android. I

4

5 Agradecimientos En primer lugar quisiera agradecer a José Ramón Portillo la oportunidad que me ha brindado para realizar este proyecto y al Departamento de Matemática Aplicada I, el permitirme realizarlo. A toda mi familia por la confianza que depositaron en mí, sobre todo a mis padres y hermanos. A todos mis profesores, desde el colegio hasta la universidad, por todo lo que he aprendido gracias a vosotros. A todos mis amigos, porque gracias a ellos he podido llegar hasta el final y he pasado momentos memorables con todos vosotros. A Alba Castiñeira Mouzo y Seyfedin Ben Gamra Lobo por colaborar desinteresadamente en las traducciones de esta aplicación. A todos los compañeros de piso que he tenido durante estos años, en especial a Adrián y Javi por ayudarme con los problemas que me han surgido durante el desarrollo de este proyecto. Gracias a todos. III

6

7 Índice general Índice general Índice de cuadros Índice de figuras Índice de código V VII IX XI 1 Introducción GeoTask Android Definición de objetivos 7 3 Análisis de antecedentes y aportación realizada 9 4 Análisis temporal y costes de desarrollo Análisis temporal Costes de desarrollo Software Utilizado Instalación del entorno de trabajo Requisitos del Sistema Instalación de Eclipse ide Instalación sdk Android Instalación del plugin ADT de Eclipse Descargando el proyecto desde la forja de REDIRIS Análisis de requisitos, diseño e implementación Análisis de Requisitos Diseño Implementación Añadir una nueva tarea Problemas encontrados V

8 VI Índice general 7 Pruebas Pruebas unitarias Pruebas de integración Manual Requisitos Funcionamiento Consideraciones sobre el idioma Publicación de una aplicación Publicar fuera de Google Play Publicar en Google Play Comparación con otras alternativas 57 Conclusiones 59 Apéndices 61 Bibliografía 63 Licencia 65

9 Índice de cuadros 4.1 Etapas del proyecto Coordenadas usadas en las pruebas VII

10

11 Índice de figuras 1.1 Arquitectura de Android Ciclo de vida de una aplicación Android HTC Dream Descarga de eclipse Descarga de sdk de Android Descarga de las distintas apis Instalación de Android Developer Tools Especificar ubicación del sdk adv Manager Diagrama de clases de GeoTask Estructura del proyecto GeoTask en eclipse Interacción usuario sistema a la hora de elegir el área de proximidad de un perfil Interacción usuario sistema a la hora de autorizar una cuenta de una red social Pantalla principal de GeoTask sin perfiles Pantalla con las cuentas de redes sociales que puede utilizar GeoTask Pantalla de un perfil en GeoTask Pantalla para elegir el área de proximidad en GeoTask Pantalla con todas las tareas que permite GeoTask Pantalla de la tarea recordatorio en GeoTask Pantalla de la tarea twitter en GeoTask Pantalla de la tarea lista blanca en GeoTask Pantalla principal de GeoTask con perfiles IX

12

13 Índice de código 6.1 Algunos atributos de la clase DBAdapter Métodos oncreate y onupgrade de la clase DBAdapter Método onlistitemclick de la clase Perfil Método removetask de la clase Perfil Método filldata de la clase Accounts Método CrearDialogoCuentas de la clase Accounts XI

14

15 CAPÍTULO 1 Introducción 1.1 GeoTask GeoTask es una aplicación para móviles con SO Android que permite realizar automáticamente ciertas tareas sin la intervención del usuario al cumplirse una determinada condición. En nuestro caso, dicha condición será que la aplicación detecte que nos encontramos en un determinado lugar. GeoTask se cimenta en un concepto fundamental: el perfil. El perfil nos indica qué tareas queremos realizar en un área de proximidad determinado. Un perfil está compuesto por: Nombre. El nombre que pongamos será el que aparezca en la pantalla principal de GeoTask. Área de proximidad. El área de proximidad no es más que el área geográfica que se encuentra a una distancia del punto que elegimos como dirección, menor o igual al radio que hemos seleccionado. Se compone de un punto central (dirección) y el radio. Tareas que queremos realizar. Estas tareas pueden ser : Recibir recordatorios. Enviar sms. Realizar llamadas. 1

16 2 1. Introducción Realizar una lista negra de nuestros contactos. Realizar una lista blanca de nuestros contactos. Enviar tweets. Actualizar nuestro estado en Facebook. El primer paso que debemos hacer es crear una perfil. Para ello debemos de proporcionarle un nombre un nombre y elegir el área de proximidad que queremos que tenga esa tarea. El último paso es elegir las distintas tareas que queremos que se hagan. Algunas tareas podrán ser seleccionadas una sóla vez, como realizar llamadas y realizar una lista negra o blanca de nuestros contactos, las restantes podrán ser seleccionadas las veces que queramos. Cada perfil podrá ser activado/desactivado desde la pantalla principal. Para que funcione correctamente nuestra aplicación y se realicen automáticamente las tareas, debemos habilitar un servicio, que se encargará de actualizar la ubicación en tiempo real del teléfono, que podremos parar en el momento que consideremos oportuno. GeoTask fue galardonado con el Primer Premio en el V Premio Local de Sevilla del VI Concurso Universitario de Software Libre el 13 de Abril de 2012 y con el Premio al mejor proyecto comunitario en la Fase Final del VI Concurso Universitario de Software Libre el 11 de Mayo de Android Android es un sistema operativo basado en el núcleo Linux diseñado originalmente para dispositivos móviles, tales como smartphones, pero que posteriormente se expandió su desarrollo para soportar otros dispositivos tales como tablet, reproductores mp3, netbook, PC, televisores, lectores de e-book e incluso, se han llegado a ver en el ces, microondas y lavadoras. Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en Es el principal producto de la Open Handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio. Android, al contrario que otros sistemas operativos para dispositivos móviles como ios o Windows Phone, se desarrolla de forma abierta y se puede acceder tanto al código fuente como al listado de incidencias donde se pueden ver problemas aún no resueltos y reportar problemas nuevos. El que se tenga acceso al código fuente no significa que se pueda tener siempre la última versión de Android en un determinado móvil, ya que el código para soportar el hardware (controladores) de cada fabricante normalmente no es público, así que faltaría un trozo básico del firmware para poder hacerlo funcionar en dicho terminal, y porque las nuevas versiones

17 1.2. Android 3 de Android suelen requerir más recursos, por lo que los modelos más antiguos quedan descartados por razones de memoria (ram), velocidad de procesador, etc. La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el núcleo de las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de ejecución. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica (surface manager), un framework OpenCore, una base de datos relacional SQLite, una api gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico sgl, ssl y una biblioteca estándar de C. A continuación voy a presentar los principales componentes de Android de una forma más extensa: Un núcleo Linux que proporciona una capa de abstracción de hardware básica así como servicios de gestión, memoria y sistema de archivos. En el núcleo se implementan controladores de hardware específicos, funciones como WI-FI y Bluetooth. La pila de Android tiene un diseño flexible, con diferentes componentes opcionales que dependen de la disponibilidad de hardware concreto en cada dispositivo, como por ejemplo pantallas táctiles, cámaras, receptores gps o acelerómetros. Entre las principales bibliotecas de código destacan las siguientes: Tecnología de navegador WebKit, el mismo motor de código abierto de Safari de Macintosh y del navegador Mobile Safari del iphone. Compatibilidad con bases de datos a través de SQLite, una base de datos SQL sencilla de utilizar. Compatibilidad grafica avanzada, con 2D, 3D, animación de sgl y OpenGL. Compatibilidad con audio y vídeoa través de OpenCore de Packet Video. Funciones ssl del proyecto Apache. Diferentes administraciones de servicios para: Actividades y vistas. Telefonía. Windows. Recursos. Servicios basados en ubicación.

18 4 1. Introducción Figura 1.1: Arquitectura de Android El entorno de ejecución de Android proporciona lo siguiente: Paquetes Java para obtener un entorno de programación Java prácticamente completo. No es un entorno J2ME. La máquina virtual Dalvik utiliza los servicios del núcleo basado en Linux para proporcionar un entorno de alojamiento para las aplicaciones Android. El Framework de Android permite una sencilla reutilización de componentes y comunicación ente aplicaciones, siempre sujetas a ciertas medidas de seguridad, que facilita, por ejemplo, la actualización o sustitución de componentes por parte del usuario, resultando un sencillo y efectivo método para utilizar novedades o introducir mejoras en el software. Los principales conjuntos de servicios ofrecidos son los siguientes: Un extenso y variado conjunto de vistas (Views) ofrecidas para el diseño de interfaces gráficas de usuario y su interactividad con el sistema, como los típicos botones, cuadros de texto o listas. Los proveedores de contenidos (Contents Providers) son el método de intercambio de información entre aplicaciones, ya sea compartiendo los datos propios o accediendo a los de otras aplicaciones.

19 1.2. Android 5 Los gestores de recursos (Resources Manager) permiten el acceso indexado a recursos como cadenas o gráficos, en un intento de modularaun más el diseño de las aplicaciones y el uso de sus recursos. El gestor de notificaciones (Notification Manager) dirige alertas personalizadas al software, que son mostradas en una barra de estado. Finalmente, el gestor de actividades (Activities Manager) es responsable del ciclo de vida de las aplicaciones. En el ámbito de desarrollo, dispone de un complemento para el ide Eclipse, así como herramientas de simulación y depuración. Las aplicaciones creadas pueden ponerse a disposición del usuario a través de Google Play, donde podrán ser descargadas e instaladas por los usuarios, sirviendo igualmente como fuente de reporte de fallos y errores en el funcionamiento. Otra peculiaridad de Android es el ciclo de vida de las aplicaciones,ya que no se trata unicamente de abrir y cerrar a gusto del usuario, si no que éstas, una vez iniciadas, permanecen cargadas en memoria siempre que se disponga de recursos para ello. En caso contrario el propio sistema operativo se encargar de destruirlas definitivamente. Dicho ciclo de vida se rige por las llamadas a los métodos oncreate, onstart, onresume, onpause, onstop, onstop, ondestroy y onrestart. En el gráfico adjunto puede entenderse este flujo de forma más intuitiva.

20 6 1. Introducción Figura 1.2: Ciclo de vida de una aplicación Android

21 CAPÍTULO 2 Definición de objetivos El sistema operativo para dispositivos móviles de Google, Android, centra el desarrollo de este proyecto fin de carrera. Para poder dirigir con mayor éxito los esfuerzos para conocer y comprender las características de este nuevo sistema, es necesario fijar unos objetivos que abarquen las actividades que se pretenden realizar y, además, permitan al final de las mismas conocer el grado de desarrollo y cumplimiento alcanzado. Para ello, los objetivos perseguidos en el desarrollo de este proyecto fin de carrera son: El principal objetivo que se ha perseguido a lo largo del desarrollo de este proyecto ha sido crear una aplicación que dada una condición (en nuestro caso será la ubicación de nuestro móvil) ejecute de forma automática y sin la intervención del usuario una serie de tareas que hayamos elegido previamente. Asegurar que el sistema sea fácil de mantener, extender y escalar. Para ello tomaremos una serie de medidas, por ejemplo, hacer independiente nuestro código de la base de datos usada en nuestra aplicación, estructurar el código para conseguir que añadir una nueva tarea sea lo más sencillo posible, etc. Investigación del funcionamiento del sistema operativo Android, las posibilidades que nos ofrece y su gestión por parte de las apis disponibles y el manejo de aplicaciones. Centrándonos en las tareas de desarrollo, es indispensable el conocimiento de la completa herramienta ofrecida para tal fin, así como su integración y uso en entornos de desarrollo ya existentes. Estudiar el entorno de desarrollo de Android. 7

22 8 2. Definición de objetivos Al lanzarse bajo una licencia de software libre, el sdk completo está disponible para cualquier desarrollador que desee descargarlo. Éste incluye numerosas ayudas para comenzar a crear aplicaciones en Android, desde la api completa con todas las clases y paquetes, hasta herramientas de programación y un completo emulador para poder realizar pruebas. Todos estos elementos han de ser estudiados y explicados. Dispondremos de una completa guía de instalación de su sdk (kit de desarrollo de software) y explicaremos como instalar el plugin adt en Eclipse o en el entorno de desarrollo que estemos utilizando, necesario para empezar a crear aplicaciones propias en Android. Desarrollar una aplicación para Android totalmente funcional que sea muy intuitiva y fácil de utilizar. Para ello la aplicación será testeada por un conjunto de personas. Así conseguiremos comprobar si la aplicación cumple con este criterio y en caso negativo, podremos mejorarla siguiendo las pautas que nos sean marcadas. Demostrar lo sencillo que resulta en Android realizar tareas de forma automática. En este caso nos basamos en nuestra localización, pero se podría realizar igualmente basándonos en la hora, en el nivel de bateria, etc.

23 CAPÍTULO 3 Análisis de antecedentes y aportación realizada Determinar en todo el mundo la posición de un objeto, una persona o un vehículo con la mayor precisión posible, es algo que lleva haciéndose desde hace años gracias al gps (Sistema de posicionamiento global). En 1957, la Unión Soviética lanzó al espacio el satélite Sputnik I, que era monitorizado mediante la observación del efecto Doppler de la señal que transmitía. Debido a este hecho, se comenzó a pensar que, de igual modo, la posición de un observador podría ser establecida mediante el estudio de la frecuencia Doppler de una señal transmitida por un satélite cuya órbita estuviera determinada con precisión. La armada estadounidense rápidamente aplicó esta tecnología, para proveer a los sistemas de navegación de sus flotas de observaciones de posiciones actualizadas y precisas. Así surgió el sistema TRANSIT, que quedó operativo en 1964, y hacia 1967 estuvo disponible, además, para uso comercial. Las actualizaciones de posición, en ese entonces, se encontraban disponibles cada 40 minutos y el observador debía permanecer casi estático para poder obtener información adecuada. Posteriormente, en esa misma década y gracias al desarrollo de los relojes atómicos, se diseñó una constelación de satélites, portando cada uno de ellos uno de estos relojes y estando todos sincronizados con base en una referencia de tiempo determinado. En 1973 se combinaron los programas de la Armada y el de la Fuerza Aérea de los Estados Unidos (este último consistente en una técnica de transmisión codificada que proveía datos precisos usando una señal modulada con un código de prn (Pseudo-Random Noise: ruido pseudoaleatorio), en lo que se conoció como Navigation Technology Program (programa de tecnología de navegación), posteriormente renombrado como NAVSTAR gps. 9

24 10 3. Análisis de antecedentes y aportación realizada Entre 1978 y 1985 se desarrollaron y lanzaron once satélites prototipo experimentales NAVSTAR, a los que siguieron otras generaciones de satélites, hasta completar la constelación actual, a la que se declaró con capacidad operacional inicial en diciembre de 1993 y con capacidad operacional total en abril de En 2009, este país ofreció el servicio normalizado de determinación de la posición para apoyar las necesidades de la OACI, y ésta aceptó el ofrecimiento. Actualmente dentro del mercado de la telefonía móvil la tendencia es la de integrar, por parte de los fabricantes, la tecnología gps dentro de sus dispositivos. El uso y masificación del gps está particularmente extendido en los teléfonos móviles smartphone, lo que ha hecho surgir todo un ecosistema de software para este tipo dispositivos, así como nuevos modelos de negocios que van desde el uso del terminal móvil para la navegación tradicional punto-a-punto hasta la prestación de los llamados Servicios Basados en la Localización (lbs). Dentro del mercado de los smartphones, podemos observar que Android se ha ido extendiendo rápidamente entre la sociedad hasta poseer aproximadamente el 32,9 % de cuota de mercado a escala mundial de los smartphones, por delante de Symbian OS que posee una cuota aproximada del 30,6 %. En tercer lugar se sitúa ios con una cuota de mercado del 16 %. El principal atractivo que posee Android es que su código ha sido liberado (excepto la versión 3.0, HoneyComb), lo que lo convierte en un sistema operativo totalmente libre para que un desarrollador no sólo pueda ver su código sino también mejorarlo. A través de esas mejoras puede publicar el nuevo código y con él, ayudar a mejorar el sistema operativo para futuras versiones sin depender de fabricantes u operadoras para ver si se libera o no dicha mejora. Del mismo modo, al ser código abierto garantiza que, en caso de haber un bug o error, sea detectado y reparado con mayor presteza al no existir ninguna traba legal para indagar en su interior ni depender de nadie para pedir autorización a su cambio. Ésto ha propiciado una gran acogida por parte de desarrolladores independientes, dando lugar a una gran comunidad internacional que, en apoyo a la propia documentación oficial disponible, abre puertas a casi cualquier persona que quiera iniciarse en la programación de dispositivos móviles. En la selección de esta plataforma, además de los motivos ya señalados, ha influido decisivamente el hecho de que el lenguaje de desarrollo sea Java, ampliamente estudiado en la Escuela Técnica Superior de Ingeniería Informática de la Universidad de Sevilla. Además del propio sdk (Software Development Kit), Android dispone de un plugin que lo integra perfectamente en el ide Eclipse, herramienta

25 ya utilizada en la Escuela Técnica Superior de Ingeniería Informática de la Universidad de Sevilla, tanto en el ámbito de la programación como el de la simulación, incluyendo todas las funcionalidades de un terminal real, lo que facilita las tareas de testeo y depuración del software. En el mercado ya existen aplicaciones basadas en la localización ampliamente utilizadas en la comunidad Android, como Locale [11] o Tasker [12], aunque nuestra aplicación ofrece algo que no poseen ninguna de las dos aplicaciones anteriormente citados: interacción con las redes sociales. Hacemos uso de los 4 componentes que una aplicación Android puede disponer: Activity, Service, BroadcastReceiver y Content Provider, por lo que creo que es una magnífica aplicación para entender como funciona Android y todas las posibilidades que nos ofrece. Además, hemos contado con un grupo de usuarios que nos han dado su opinión para tener una aplicación que sea muy fácil de utilizar y muy intuitiva. Pautas muy importantes para no fracasar en una aplicación a causa del diseño o de la usabilidad, conceptos que son muy importantes para cualquier aplicación software. 11

26

27 CAPÍTULO 4 Análisis temporal y costes de desarrollo 4.1 Análisis temporal En esta sección se exponen las diferentes etapas del desarrollo del proyecto. En primer lugar se adjunta una tabla resumen con las horas aproximadas dedicadas a cada etapa. A continuación se añade un breve comentario sobre cada tarea. Tarea Número de horas Planificación 50 Investigación 150 Desarrollo de GeoTask 300 Pruebas 15 Documentación 50 Total 565 Cuadro 4.1: Etapas del proyecto Planificación Dada la envergadura del proyecto, era necesaria una etapa de planificación en la que se ha estudiado de forma cuidadosa el alcance del mismo, los objetivos que debíamos alcanzar y las posibles dificultades a encontrar durante el desarrollo. Investigación Al comienzo del proyecto desconocía por completo el uso de la api de Android. Por tanto, fue necesaria una larga etapa de formación personal utilizando varios recursos bibliográficos, así cómo realizar pequeños ejemplos para familiarizarme con los conceptos y funcionalidades que eran necesarios para la realización de la aplicación. 13

28 14 4. Análisis temporal y costes de desarrollo Desarrollo de GeoTask Tras el periodo de formación inicial y familiarizarme con la api de Android en la etapa de investigación, dio comienzo el desarrollo de GeoTask. Fue la etapa mas larga debido a que cada funcionalidad añadida era probada e investigada antes de continuar. Pruebas Durante la implementación se fueron realizando pruebas para verificar que las tareas que añadíamos funcionaban correctamente de forma individual, pero al finalizar GeoTask se realizaron pruebas para testear la fiabilidad y el correcto funcionamiento de la aplicación en su conjunto. Documentación Conjuntamente con el desarrollo de la aplicación, se procedió a la redacción del presente documento. 4.2 Costes de desarrollo El único gasto que ha ocasionado el proyecto es la adquisición de un terminal Android, en concreto un HTC Dream, adquirido libre por un precio aproximado de 200 euros. Aunque en el kit de desarrollo de Android se incluye un emulador muy completo de la plataforma no es posible simular algunas características como el posicionamiento vía WiFi o por torre celular. Por esto fue necesario adquirir este terminal. Las especificaciones completas del terminal son las siguientes: Medidas: 117 x 55.7 x 17.1 mm Peso: 158 g Bateria: Li-Ion 1150 mah. Brinda hasta 5 h 20 min de conversacíon y hasta 406 h de standby Pantalla multitáctil capacitiva de 3.2 pulgadas HVGA con 320 x 480 pixels de resolución Procesador: Qualcomm MSM7201A ARM MHz Cámara de 3 2 megapixels con Autofocus (desde 6cm hasta el infinito) Android (no oficial) 256 mb rom

29 4.3. Software Utilizado 15 Figura 4.1: HTC Dream 192 mb ram Tarjeta microsd de 1gb expandible hasta 16 gb Dual band UMTS MHz HSDPA/HSUPA 7.2/2 Mbit/s GPRS/EDGE Wi-Fi (802.11b/g) Bluetooth edr Receptor a-gps Posicionamiento por torre celular y Wi-Fi Brújula digital Acelerómetro Es un terminal de gama media y, aunque ya hay en el mercado móviles con mayor potencia de procesado, tiene potencia de sobra para realizar este proyecto. El equipo de desarrollo ha sido mi ordenador personal, con un coste aproximado de unos 1000 euros y el coste del software utilizado es nulo al tratarse de herramientas gratuitas y en la mayoría de los casos libres.

30 16 4. Análisis temporal y costes de desarrollo 4.3 Software Utilizado En esta sección vemos de las herramientas utilizadas durante el desarrollo de GeoTask. Para cada herramienta se ofrece una pequeña descripción de sus funcionalidades y se adjuntan las razones por las cuales ha sido elegida para el desarrollo frente a sus competidoras. Eclipse Es un Entorno Integrado de Desarrollo, del inglés Integrated Development Environment (ide), para todo tipo de aplicaciones libres, inicialmente desarrollado por IBM, y actualmente gestionado por la Fundación Eclipse. Herramienta para el programador desarrollada principalmente para el desarrollo de aplicaciones Java, es posible añadirle nuevas funcionalidades al editor, a través de nuevos módulos (plugins), para programar en otros lenguajes de programación además de Java como C/C++, PHP, Python, Ruby, Cobol, etc. Es además el entorno mas utilizado por los desarrolladores de aplicaciones Android, por esto ha sido elegido para la realización de este proyecto. SVN Subversion es un sistema de control de versiones libre cuya primera versión fue lanzada en el año 2000 por CollabNet. Es compatible en mayor parte con su predecesor CVS. Gracias a esta herramienta podemos guardar un historial de todas las versiones de los ficheros fuente del proyecto así como deshacer cambios en caso de que fuera necesario. Con SVN conseguimos acceso al código del proyecto desde cualquier equipo. Además, pone a disposición de cualquier interesado el código fuente de forma sencilla. Existen otros sistemas de control de versiones como Git o Mercurial. Se ha elegido Subversion por su sencillez y por mostrarse suficientemente potente para gestionar el código de un proyecto de un sólo programador. Inkscape Inkscape es un editor de gráficos vectoriales de código abierto, con capacidades similares a Illustrator, Freehand, CorelDraw o Xara X, usando el estándar de la W3C: el formato de archivo Scalable Vector Graphics (SVG). Las características soportadas incluyen: formas, trazos, texto, marcadores, clones, mezclas de canales alfa, transformaciones, gradientes, patrones y agrupamientos.

31 4.3. Software Utilizado 17 Inkscape también soporta meta-datos Creative Commons, edición de nodos, capas, operaciones complejas con trazos, vectorización de archivos gráficos, texto en trazos, alineación de textos, edición de XML directo y mucho más. Puede importar formatos como Postscript, EPS, JPEG, PNG, y TIFF y exporta PNG asi como muchos formatos basados en vectores.

32

33 CAPÍTULO 5 Instalación del entorno de trabajo En este manual se va a tratar la instalación paso a paso de las herramientas necesarias para comenzar a desarrollar nuestra aplicación sobre un sistema Android. Los principales componentes son el sdk de Android, el plugin ADT para eclipse, así como el propio ide Eclipse. 5.1 Requisitos del Sistema Para desarrollar aplicaciones en Android usando las herramientas que aporta su sdk, es necesario disponer del siguiente software en nuestro PC: Sistema Operativo: Windows XP (32-bit), Vista (32 o 64-bit), o Windows 7 (32 o 64-bit) Mac OS X or superior (x86 sólo) Linux (probado en Ubuntu Linux, Lucid Lynx) GNU C Library (glibc) 2.7 o superior. En Ubuntu Linux, version 8.04 o superior. Entorno de desarrollo: Eclipse ide Eclipse 3.5 (Galileo) o superior. Eclipse JDT plugin. JDK 5 or JDK 6 (JRE no es suficiente). Android Development Tools plugin (recomendado). No compatible con Gnu Compiler para Java (gcj). Otros entornos de desarrollo: 19

34 20 5. Instalación del entorno de trabajo Apache Ant. Ahora procederemos a explicar la instalación del sdk de Android trabajando en Windows 7 con el ide Eclipse Indigo. 5.2 Instalación de Eclipse ide Aunque la instalación del ide no forma parte del proyecto vamos a proceder a su instalación, que es fácilmente abordable desde su propia web[13]. En la sección Download, se elige la versión deseada, que en nuestro caso sera Eclipse ide for Java Developers para Windows 32 bits, con un tamaño de 128mb. Una vez descargado, basta descomprimir y ejecutar eclipse.exe para comenzar a usar la aplicación. Figura 5.1: Descarga de eclipse 5.3 Instalación sdk Android Entre los numeros recursos disponibles en la web de desarrolladores de Android[4] tenemos la versión más reciente del sdk, en la sección sdk. En nuestro caso elegimos la versión para Windows recomendada, con un tamaño de 32,3mb. Una vez completada la descarga, ejecutamos el.exe descargado y seguimos los pasos para su correcta instalación. Una vez que lo hayamos instalado, se nos abrirá el Android sdk Manager para poder descargarnos las versiones de las apis que queramos y tras aceptar las licencias correspondientes, comenzará la descarga. En el caso de que la aplicación falle, deberemos ejecutar Android sdk Manager como administrador.

35 5.4. Instalación del plugin ADT de Eclipse 21 Figura 5.2: Descarga de sdk de Android Antes de proseguir, es recomendable almacenar la ruta de la subcarpeta tools en la variable de entorno path de nuestro sistema. Para ello hacemos clic con el boton derecho en Equipo para acceder a las Propiedades del sistema. En configuración avanzada podemos acceder a dichas variables. Basta buscar la variable path en la lista y hacer doble clic para editar. Al valor actual debemos añadir nuestra ruta, precedida por ;, para conservar los valores anteriormente almacenados. Esto nos falicitará el acceso mediante símbolo del sistema a algunas configuraciones del sdk Android por comandos, no siendo necesario escribir la ruta completa de la ubicación de las utilidades. 5.4 Instalación del plugin ADT de Eclipse Usando Eclipse, este plugin nos facilitará tareas de programación, simulación y depuración de nuestras aplicaciones. Para descargarlo, basta acceder a Install new software del menú Help, e introducir la dirección donde se ubica[16] como directorio de trabajo. Aunque por razones de seguridad es preferible usar el protocolo https, en caso de problemas también podrá usarse http. A continuación debe ofrecernos la instalación de Developer Tools, desplegando el arbol podremos ver que se compone de Android ddms, Android Developer Tools, Android hierarchy Viewer y Android Traceview. Elegimos las dos primeras herramientas que son las imprescindibles y tras aceptar la correspondiente licencia en el siguiente paso, comienza la descarga del nuevo software. Una vez descargado e instalado hay que configurar las nuevas utilidades para que Eclipse reconozca el sdk Android. Para ello, en el menú Win-

36 22 5. Instalación del entorno de trabajo Figura 5.3: Descarga de las distintas apis Figura 5.4: Instalación de Android Developer Tools

37 5.5. Descargando el proyecto desde la forja de REDIRIS 23 Figura 5.5: Especificar ubicación del sdk dow/preferences elegimos la opción Android. En el cuadro de dialogo mostrado debemos introducir la ruta donde fue instalado el sdk en el paso anterior, por ejemplo C:\android-sdk-windows. Si todo el proceso se ha realizado correctamente, tras pulsar el boton Apply nos aparecerán todas las versiones de las apis incluidas en nuestro sdk. Aceptamos los cambios y ya podremos empezar a desarrollar para Android. Sin embargo, para completar la puesta en marcha de las utilidades que nos ofrece el plugin, todavía nos queda por crear nuestro simulador, o simuladores, para probar nuestras aplicaciones. Esto evitará tener que acceder a nuestro terminal para testear cada cambio realizado en el código fuente desarrollado. Para ellos accedemos al menú Window\adv Manager, podremos crear fácilmente nuestros dispositivos haciendo clic en New.... Basta elegir el nombre deseado, elegir la versión de la api deseada y añadir la compatibilidad hardware que vayamos a necesitar. Tras hacer clic en Create adv nuestro dispositivo aparecerá en el listado.

38 24 5. Instalación del entorno de trabajo Figura 5.6: adv Manager 5.5 Descargando el proyecto desde la forja de REDIRIS Hay dos posibilidades : Si trabajais en Linux. Para conseguir una copia del proyecto abrimos una Terminal e introducimos el siguiente comando: svn checkout Solo queda importar el proyecto en eclipse utilizando la función Import>Existing Projets Into Workspace. Si trabajais en Windows. Deberéis instalaros un cliente Subversion para poder descargaros una copia del proyecto. Ahora deberéis crear una carpeta que será dónde guardaréis la copia del proyecto. Una vez creada la carpeta, le damos sobre ella con el botón derecho del ratón y en el menú desplegable seleccionamos SVN Checkout. En la URL del repositorio debemos escribir y le damos a OK para empezar la descarga.

39 CAPÍTULO 6 Análisis de requisitos, diseño e implementación Una vez que ya tenemos preparado nuestro entorno de trabajo y nos hemos familiarizado con Android, podemos empezar con el desarrollo de nuestra aplicación. Además del estudio del sistema operativo que incorpora Android, también se han desarrollado algunas aplicaciones de prueba para irnos familiarizando con el entorno de programación que éste ofrece y entender el funcionamiento de diversas funcionalidades de Android que necesitamos para poder realizar nuestra aplicación. Ahora pasaremos a explicar la realización de nuestra aplicación dividiéndola en tres apartados. Primeramente pasaremos a desglosar el análisis de requisitos necesarios que hemos necesitado para llevar a cabo la realización del proyecto. Desde cuáles son las tecnologías necesarias que hemos utilizado durante la etapa de desarrollo hasta los conocimientos que hemos tenido que ampliar para combinar estas tecnologías y llegar al buen funcionamiento de la aplicación. Seguidamente describiremos el diseño de nuestra aplicación, en él se analizará la estructura elegida para nuestro sistema, justificándola y explicándo la relación de cada clase con los módulos anteriormente expuestos. Tras una fase teórica y otra teorico-práctica, pasaremos a la práctica, propiamente dicha: el desarrollo de la aplicación. Será entonces cuando se comentará con más detalle el código de la aplicación, ahondando en las caracteristicas propias de Android, pudiendo afianzar los conocimientos anteriormente expuestos. 6.1 Análisis de Requisitos El principal objetivo de GeoTask es realizar ciertas tareas automáticamente al llegar a un lugar determinado. 25

40 26 6. Análisis de requisitos, diseño e implementación Para determinar nuestra ubicación, usaremos el dispositivo gps disponible en los terminales con Android, en el caso de que el dispositivo gps no se encuentre activado, usaremos el geoposicionamiento via wifi. Si no tenemos activado el wifi, usaremos como último recurso la geoposición basada en las antenas de telefonía móvil. GeoTask se cimenta en un concepto fundamental: el perfil. El perfil nos indica qué tareas queremos realizar en un área de proximidad determinado. Un perfil está compuesto por: Nombre. El nombre que pongamos será el que aparezca en la pantalla principal. Área de proximidad. El área de proximidad no es más que el área geográfica que se encuentra a una distancia del punto que elegimos como dirección, menor o igual al radio que hemos seleccionado. Se compone de un punto central (dirección) y el radio. Tareas que queremos realizar. Estas tareas pueden ser : Recibir recordatorios. Enviar sms. Realizar llamadas. Realizar una lista negra de nuestros contactos. Realizar una lista blanca de nuestros contactos. Enviar tweets. Actualizar nuestro estado en Facebook. El primer paso que debemos hacer es crear una perfil. Para ello debemos de proporcionarle un nombre un nombre y elegir el área de proximidad que queremos que tenga esa tarea. A primera instancia será necesaria la localización del usuario sobre el mapa. Este posicionamiento se realizará sobre un mapa proporcionado por la api de Google Maps para Android y tendremos un radio de cobertura de 100 metros, que será el radio más pequeño que podremos elegir, y que podremos modificar dinámicamente. A continuación podremos movernos con total libertad por el mapa en el caso de que queramos elegir otro lugar. El último paso es elegir las distintas tareas que queremos que se hagan. Algunas tareas podrán ser seleccionadas una sóla vez, como realizar

41 6.1. Análisis de Requisitos 27 llamadas y realizar una lista negra o blanca de nuestros contactos, las restantes podrán ser seleccionadas las veces que queramos. Cada perfil podrá ser activado/desactivado desde la pantalla principal. Para que funcione correctamente nuestra aplicación y se realicen automáticamente las tareas, debemos habilitar un servicio, en background, que se encargará de actualizar la ubicación en tiempo real del teléfono, que podremos parar en el momento que consideremos oportuno. Este servicio será el encargado de verificar si nos encontramos dentro del área de proximidad asociado algún perfil. Si nos encontramos dentro del área de proximidad de algún perfil, el sistema ejecutará las tareas asociadas a dicho perfil. En caso contrario lo normal será no hacer nada, a menos que alguna de las tareas del perfil asociada al área de proximidad del que salimos, sea una lista negra o blanca de nuestros contactos. En ese caso, deberemos eliminar esa lista para que el sistema funcione correctamente. Ahora vamos a pasar a explicar todas las tecnologías o componentes que utilizamos en GeoTask: GPS (Global Positioning System). Es un sistema global de navegación por satélite (GNSS) que permite determinar en todo el mundo la posición de un objeto, una persona o un vehículo con una precisión hasta de centímetros (si se utiliza gps diferencial), aunque lo habitual son unos pocos metros de precisión. El sistema fue desarrollado, instalado y actualmente operado por el Departamento de Defensa de los Estados Unidos. El gps funciona mediante una red de 24 satélites en órbita sobre el globo, a km, con trayectorias sincronizadas para cubrir toda la superficie de la Tierra. Cuando se desea determinar la posición, el receptor que se utiliza para ello localiza automáticamente como mínimo tres satélites de la red, de los que recibe unas señales indicando la identificación y la hora del reloj de cada uno de ellos. Con base en estas señales, el aparato sincroniza el reloj del gps y calcula el tiempo que tardan en llegar las señales al equipo, y de tal modo mide la distancia al satélite mediante triangulación (método de trilateracién inversa), la cual se basa en determinar la distancia de cada satélite respecto al punto de medición. Conocidas las distancias, se determina fácilmente la propia posición relativa respecto a los tres satélites. Conociendo además las coordenadas o posicián de cada uno de ellos por la señal que emiten, se obtiene la posición absoluta o coordenadas reales del punto de medición. También se consigue una exactitud extrema en el reloj del gps, similar a la de los relojes atómicos que llevan a bordo cada uno de los satélites. Actualmente dentro del mercado de la telefonía móvil la tendencia es la de integrar, por parte de los fabricante, la tecnología gps dentro de

42 28 6. Análisis de requisitos, diseño e implementación sus dispositivos. El uso y masificación del gps está particularmente extendido en los teléfonos móviles smartphone, lo que ha hecho surgir todo un ecosistema de software para este tipo dispositivos, así como nuevos modelos de negocios que van desde el uso del terminal móvil para la navegación tradicional punto-a-punto hasta la prestación de los llamados Servicios Basados en la Localización(LBS). Localización WiFi. El mecanismo de posicionamiento basado en redes inalámbricas WiFi o redes Wireless se basa en las mediciones que los puntos de acceso de la red hacen de la potencia y de la relación snr de las emisiones transmitidas por los dispositivos inalámbricos que se conectan a la red. Una red Wireless utiliza frecuencias libres y no necesita licencia. Localización GSM. Es un servicio ofrecido por las empresas operadoras de telefonía móvil que permite determinar, con una cierta precisión, donde se encuentra físicamente un terminal móvil determinado. Los distintos métodos que se emplean para la localización gsm son los siguientes: Célula de origen (Cell of Origin), en el que se incluyen id de célula (Cell id) e id de célula mejorada (Enhanced Cell id). id de célula: la precisión de este método es de 200 m en áreas urbanas, 2 km en áreas suburbanas y varía entre 3-4 km en entornos rurales. id de célula mejorada: con este método se consigue una precisión muy parecida a la que ofrece el Cell id para zonas urbanas, y en entornos rurales ofrece sectores circulares de 550 m. Diferencia de tiempo observada o e-otd (Enhanced-Observed Timed Difference): la precisión de este método depende del número de lmus disponibles en la red, variando entre 50 m y 200 m con un lmu por cada 3 estaciones base. Tiempo de llegada (Time of Arrival). Angulo de llegada (Angle of Arrival). Enhanced Observed Time Difference (estimación mejorada de la diferencia de tiempo). gps Asistido (Assisted gps). API Google Maps para Android. Proporciona un uso fácil y familiar del servicio Google Maps directamente desde nuestro terminal Android, gracias a la inclusión de la librería externa com.google.android.maps. Ofrece una funcionalidad similar al servicio Google Maps via web,

43 6.1. Análisis de Requisitos 29 permitiendo desplazamientos sobre el mapa, zoom, y otras opciones comunes. La clase MapView, que hereda de la clase ViewGroup en la api de Android, es el punto de inicio para su inclusión en nuestra aplicación. Se encarga de mostrar el mapa, configurarlo y hacerlo usable. Sobre ella se desarrollará toda la funcionalidad adicional necesaria. Hay otras clases suministradas por la misma librería que serán de especial interés en nuestra aplicación. Entre otras, Overlay nos permite añadir nuevas capas a nuestro mapa, donde dibujaremos la información que necesitemos. Servicio SMS. El servicio de mensajes cortos o sms (Short Message Service) es un servicio disponible en los teléfonos móviles que permite el envío de mensajes de texto entre teléfonos móviles y otros dispositivos de mano. sms fue diseñado originariamente como parte del estándar de telefonía móvil digital gsm, pero actualmente está disponible en una amplia variedad de redes, entre ellas las redes 3G. Un sms incluye una cadena alfanumérica de hasta 160 caracteres de 7 bits, y se encapsulan mediante unos estándares de telefonía móvil transparentes al usuario. El proceso de envío de sms consiste en el procesamiento de un centro de mensajes cortos, o smsc (Short Message Service Center) que se encarga de almacenarlos hasta que son enviados y de conectar con el resto de elementos de la red gsm. Cuando un usuario envía un sms, se incluyen una serie de parámetros como la fecha de envío, la validez del mensaje, número de teléfono del emisor y del receptor y el número del smsc que ha originado el mensaje. De esta forma, se asegura el correcto procesamiento a lo largo de toda la cadena. Al tener los sms un tamaño tan pequeño, no es necesario asignarles ningún canal de radio exclusivo para el envío, lo que permite un uso muy óptimo y eficaz a la hora de enviarlos y recibirlos. Conexión de datos (WIFI/3G/GPRS). Nuestra aplicación necesitará disponer de conexión a la Red para poder ver correctamente el mapa de Google Maps, poder enviar tweets a nuestra cuenta de Twitter o actualizar el estado de nuestra cuenta de Facebook. Esta conexión se realiza mediante peticiones internas por parte de las distintas apis que utilizamos en GeoTask (Maps,Twitter,Facebook). Twitter4J. Es una biblioteca no oficial para la api de Twitter. Con ésta biblioteca, podremos integrar fácilmente cualquier aplicación Android con Twitter.

44 30 6. Análisis de requisitos, diseño e implementación Gracias a Twitter4J podremos darle acceso a nuestra aplicación a las cuentas de Twitter que deseemos y poder enviar tweets con ellas a través de GeoTask. Facebook SDK. Kit de desarrollo software oficial de Facebook para poder integrar nuestra aplicación Android de una forma muy sencilla con Facebbok. Este kit de desarrollo software cuenta con las siguientes características : Utiliza autenticación OAuth2.0. Posibilidad de hacer peticiones a la nueva Graph api. Publicar historias a Facebook a través de Feeds. Gracias a este kit de desarrollo software que nos proporciona Facebook, podremos darle acceso a nuestra aplicación a las cuentas de Facebook que deseemos y poder actualizar el estado de cada una de ellas a través de GeoTask. En cuanto a requisitos no funcionales, además de los conocimientos requeridos por las herramientas de desarollo expuestas anteriormente, es necesario tener en cuenta otros aspectos importantes el proyecto debe desarrollarse con el concepto de modularidad necesarios, siguiendo las pautas de bajo acoplamiento y alta coherencia. También es importante tener en cuenta el hecho de estar programando para un sistema empotrado, por lo que habrá que evitar consumir recursos que no sean estrictamente necesarios, que tendrían un alcance significativo más allá de nuestra aplicación, ya que podría provocar un drástico efecto sobre el consumo de bateria. El punto más crítico en este sentido será la recepción de la señal del gps. Sobre las posibilidades ofrecidas por la aplicación, dado que no queremos que su uso se limite a España, deberá ofrecer la posibilidad de usar varios idiomas. Finalmente, dadas las diferentes versiones del sdk de Android que han sido publicadas y las modificaciones que, aunque pequeñas, han ido realizando los distintos fabricantes, es importante que el sistema sea probado bajo la mayor variedad de versiones posibles, ya sea mendiante simulación o en terminales reales. Sobre este aspecto ahondaremos en la fase de Pruebas. 6.2 Diseño Tras el Análisis de Requisitos, ya podemos realizar el diseño de nuestro sistema, distribuyendo las funcionalidades previstas de la forma más ópti-

45 6.2. Diseño 31 ma posible, proporcionando un entendimiento fácil e intuitivo, así como su mantenimiento. Hemos organizado el proyecto en 7 paquetes. Un paquete en Java es un contenedor de clases que permite agrupar las distintas partes de un programa cuya funcionalidad tienen elementos comunes. Nuestra aplicación contará con una clase principal llamada Main y que será la clase a la que accedamos cuando arrancamos la aplicación. En ella es donde se mostrarán los perfiles que ya hayamos creado, con la posibilidad de editarlos, eliminarlos o activarlos/desactivarlos, también podremos añadir nuevos perfiles, ver las cuentas de las redes sociales en las que nuestra aplicación tiene permiso para usar (clase Accounts) y habilitar/deshabilitar el servicio encargado de obtener nuestra localización. Esta clase extiende de Activity. Una Activity representa el componente principal de la interfaz gráfica de una aplicación Android. Se puede pensar en una actividad como el elemento análogo a una ventana en cualquier otro lenguaje visual. Otra clase importante es Perfil, que es la encargada de crear o editar los perfiles y de crear la Activity Map, que tiene asignadas 3 tareas básicas: construcción del mapa, designación de área de proximidad donde el centro es un localizador de posición dónde podremos aumentar/disminuir el radio e interactuar con el localizador de posicion anterior y configurar el modo de vista del mapa. El modo de vista nos ofrecerá la posibilidad de elegir entre Map y Satellite. Estas clases se encuentran en el paquete com.pfc.geotask. En el paquete com.pfc.database, se encuentran todas tablas necesarias para el correcto funcionamiento de nuestra aplicación. La clase principal de este paquete es la clase DBAdapter, que es la encargada de crear todas las bases de datos y triggers que necesita la aplicación. En el paquete com.pfc.task se encuentran todas las Activities correspondientes a las tareas que puede ejecutar nuestra aplicación. Todas estas clases cuentan con la misma estructura, a excepción de 3 de ellas: La clase BlackWhitelist, que se encarga tanto de crear una lista negra como una lista blanca de nuestros contactos. Tiene la particularidad de que podremos cambiar de tarea desde la misma aplicación a través del menú. Las clases Twitter y TFacebook, que se encargan de las tareas relacionadas con las redes sociales Twitter y Facebook, cuentan con la aprticularidad de que podremos autorizar el uso de nuevas cuentas a través del menú.

46 32 6. Análisis de requisitos, diseño e implementación Para ello cada una crea una Activity (AutorizaTwitter y Autoriza- Facebook respectivamente) que son las encargadas de realizar todo el proceso necesario para ello. Estas dos Activities encargadas de dar permisos a nuestra aplicación, se encuentran en el paquete com.pfc.geotask.authorize. La clase fundamental de nuestra aplicación se encuentra en el paquete com.pfc.geotask.service. Es la clase GeoService y su principal funcionalidad es asignar el listener que se encargará de actualizar periódicamente la posición del usuario y lanzar las alertas de proximidad de todos los perfiles que se encuentren activos. Esta clase extiende de Service. Un Service es un componente sin interfaz gráfica que se ejecutan en segundo plano. En concepto, es exactamente igual a los servicios presentes en cualquier otro sistema operativo. Los servicios pueden realizar cualquier tipo de acciones, por ejemplo actualizar datos, lanzar notificaciones, o incluso mostrar elementos visuales (Activities) si se necesita en algún momento la interacción con del usuario. Cuando entremos dentro del área de proximidad de algún perfil, entrarán en juego las clases que se encuentran en el paquete com.pfc.broadcast Cuando entramos dentro de un área de proximidad se activa la clase AreaProximityReceiver. Su función principal es la de detectar sin hemos salido del área de proximidad del perfil o estamos entrando. Si hemos salido deberemos activar la clase RemoveBWlistReceiver para eliminar del sistema las lista blanca o negra que pudiera tener el perfil. Si estamos entrando, deberemos activar todas las clases que lanzan las tareas automáticamente que estén asociadas al perfil. Esta clase extiende de BroadcastReceiver. Un BroadcastReceiver es un componente destinado a detectar y reaccionar ante determinados mensajes o eventos globales generados por el sistema (por ejemplo: Batería baja, sms recibido, Tarjeta sd insertada,... ) o por otras aplicaciones (cualquier aplicación puede generar mensajes (intents, en terminología Android) broadcast, es decir, no dirigidos a una aplicación concreta sino a cualquiera que quiera escucharlo). Un intent es el elemento básico de comunicación entre los distintos componentes Android que hemos descrito anteriormente. Se pueden entender como los mensajes o peticiones que son enviados entre los distintos componentes de una aplicación o entre distintas aplicaciones. Mediante un intent se puede mostrar una actividad desde cualquier otra, iniciar un servicio, enviar un mensaje broadcast, iniciar otra aplicación, etc. Nos falta hablar del paquete com.pfc.geotask.utils. A este paquete pertenecen las clases Java, la mayoria son estáticas, que nos ofrecen ciertas funcionalidades necesarias para varias clases, por ejemplo: saber si un número es un número de teléfono válido, etc.

47 6.3. Implementación 33 Figura 6.1: Diagrama de clases de GeoTask A continuación se representa un diagrama de clases donde se reflejan las principales funcionalides de cada una, así como su interconexión. También puede verse la interacción usuario-sistema a la hora de elegir el área de proximidad de un perfil y a la hora de pedir a nuestra aplicación autorización para usar cuentas de distintas redes sociales. 6.3 Implementación Antes de empezar, es importante comentar la estructura de un proyecto Android. Su peculiaridad reside en la carpeta res, de resources, donde a su vez se incluyen tres tipos de carpetas: drawable, para imágenes, layout, para los ficheros de configuración gráfica, y values, donde se crean diccionarios de variables, por ejemplo Strings.

48 34 6. Análisis de requisitos, diseño e implementación Figura 6.2: Estructura del proyecto GeoTask en eclipse Figura 6.3: Interacción usuario sistema a la hora de elegir el área de proximidad de un perfil

49 6.3. Implementación 35 Figura 6.4: Interacción usuario sistema a la hora de autorizar una cuenta de una red social

50 36 6. Análisis de requisitos, diseño e implementación Sobre esta estructura reside la modularidad definida en un proyecto Android, de forma que todos estos recursos quedan totalmente desacoplados del código de la aplicación. Su uso no es obligatorio, pero si muy recomendado, por directivas propias de buenas prácticas en el diseño del software. Además existe la carpeta Gen, autogenerada, que hace las funciones de índice para nuestros recursos a través del fichero R.java contenido en nuestro código fuente, con el que podremos acceder a los recursos comentados anteriormente Añadir una nueva tarea Ahora pasaremos a explicar cuáles son los pasos a seguir si queremos añadir una nueva tarea a GeoTask. El primer paso es diseñar la base de datos de la tarea que queremos añadir. Para ello deberemos determinar que datos son necesarios para poder ejecutar adecuadamente la tarea sin que le usuario tenga que intervenir. El segundo paso es crear la base de datos, para ello deberemos seguir los siguientes pasos: Modificar la variable DATABASE VERSION de la clase DBAdapter.java para que el sistema cree correctamente la nueva base de datos. Añadir el código necesario para la creación de la base de datos, así como el trigger en el caso de que sea necesario para el borrado en cascada (la versión 2.1 de Android no trae el borrado en cascada de forma nativa). No olvidar modificar las funciones de la clase DBAdapter.java oncreate y onupgrade. Crear una clase en el paquete com.pfc.database donde se implementarán todos los métodos necesarios para consultar, insertar, actualizar o eliminar registros de la base de datos. Para ello nos podemos guiar de la estructura de cualquiera de las clases ya creadas en ese paquete. 1 private static final String DATABASE_CREATE_CFACEBOOK = 2 "create table " + CFacebookDB.DATABASE_TABLE + " ( " + CFacebookDB.KEY_ROWID + 3 " integer primary key autoincrement, " + CFacebookDB.KEY_NAME + " text not null, " + 4 CFacebookDB.KEY_ACCESS_TOKEN + " text not null, " + CFacebookDB.KEY_ACCESS_EXPIRES + 5 " text not null);"; 6

51 6.3. Implementación 37 7 public static final String DATABASE_NAME = "Geotask"; 8 public static final int DATABASE_VERSION = 2; 9 10 /** 11 * Triggers necesarios para borrar en cascada. 12 */ 13 private static final String CREATE_TRIGGER_DELETE_REMINDER= 14 "CREATE TRIGGER fkd_reminder_perfil_id " 15 +"BEFORE DELETE ON " + PerfilDB.DATABASE_TABLE 16 +" FOR EACH ROW BEGIN " 17 +"DELETE FROM " + ReminderDB.DATABASE_TABLE 18 +" WHERE " + ReminderDB.KEY_IDPERFIL + " = OLD." 19 +PerfilDB.KEY_ROWID+"; END;"; Código 6.1: Algunos atributos de la clase DBAdapter 2 public void oncreate(sqlitedatabase db) { 3 db.execsql(database_create_perfil); 4 db.execsql(database_create_reminder); 5 db.execsql(create_trigger_delete_reminder); 6 db.execsql(database_create_sms); 7 db.execsql(create_trigger_delete_sms); 8 db.execsql(database_create_call); 9 db.execsql(create_trigger_delete_call); 10 db.execsql(database_create_bwlist); 11 db.execsql(create_trigger_delete_bwlist); 12 db.execsql(database_create_twitter); 13 db.execsql(create_trigger_delete_twitter); 14 db.execsql(database_create_ctwitter); 15 db.execsql(create_trigger_delete_ctwitter); 16 db.execsql(database_create_facebook); 17 db.execsql(create_trigger_delete_facebook); 18 db.execsql(database_create_cfacebook); 19 db.execsql(create_trigger_delete_cfacebook); } 22 /* 23 * (non-javadoc) 24 android.database.sqlite.sqliteopenhelper#onupgrade( android.database.sqlite.sqlitedatabase, int, int) 25 */ 27 public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { 28 Log.w(TAG, "Upgrading database from version " + oldversion + " to " 29 + newversion + ", which will destroy all old data"); 30 db.execsql("drop TABLE IF EXISTS " + PerfilDB.DATABASE_

52 38 6. Análisis de requisitos, diseño e implementación TABLE); 31 db.execsql("drop TABLE IF EXISTS " + ReminderDB. DATABASE_TABLE); Código 6.2: Métodos oncreate y onupgrade de la clase DBAdapter El siguiente paso sería crear la pantalla de la nueva tarea, para ello debemos realizar los siguientes pasos: Crear una clase en el paquete com.pfc.geotask.task, dónde se encontrará toda la lógica necesaria para la creación de una pantalla para que el usuario dé valor a todos los datos que necesitemos para el correcto funcionamiento de la tarea, interactuando con la base de datos cuando sea necesario. Para ello nos podemos guiar de la estructura de cualquiera de las clases ya creadas en ese paquete. Modificar la clase Perfil.java Crear una atributo de la clase que hace referencia a la base de datos anteriormente creada Desarrollar todo el código necesario en el método OnCreate para abrir la base de datos y en el método ondestroy para cerrarla. Modificar el método removetask para poder eliminar dicha tarea llegado el momento. Modificar el método filldata para poder mostrar la tarea en el perfil. Modificar el método creardialogoseleccion para que la nueva tarea se muestre a la hora de añadir una nueva tarea. Modificar el método onlistitemclick para poder editar la nueva tarea al pulsar sobre ella. 1 protected void onlistitemclick(view v, int position) { 2 Task t = (Task) lv.getitematposition(position); 3 Intent i = null; 4 5 String database = t.getdatabase(); 6 //Comprobamos que tarea es 7 if(database.equals(reminderdb.database_table)) 8 i = new Intent(this, Reminder.class); 9 if(database.equals(smsdb.database_table)) 10 i = new Intent(this, Sms.class); 11 if(database.equals(calldb.database_table)) 12 i = new Intent(this, Call.class); 13 if(database.equals(bwlistdb.database_table)) 14 i = new Intent(this, BlackWhitelist.class); 15 if(database.equals(twitterdb.database_table))

53 6.3. Implementación i = new Intent(this, Twitter.class); 17 if(database.equals(facebookdb.database_table)) 18 i = new Intent(this, TFacebook.class); i.putextra(reminderdb.key_idperfil, t.getid()); 21 i.putextra(perfildb.key_rowid, mrowid); 22 // Nos vamos a la pantalla correspondiente 23 startactivityforresult(i,activity_task); 24 } Código 6.3: Método onlistitemclick de la clase Perfil 1 2 public void removetask(int position){ 3 4 Task t = list_tasks.get(position); 5 String database = t.getdatabase(); 6 7 // Buscamos de que tarea se trata 8 if(database.equals(reminderdb.database_table)) 9 reminderdb.deletereminder(t.getid()); 10 else if(database.equals(smsdb.database_table)) 11 smsdb.deletesms(t.getid()); 12 else if(database.equals(calldb.database_table)) 13 calldb.deletecall(t.getid()); 14 else if(database.equals(bwlistdb.database_table)) 15 blackwhitelistdb.deletebwlist(t.getid()); 16 else if(database.equals(twitterdb.database_table)) 17 twitterdb.deletetweet(t.getid()); 18 else if(database.equals(facebookdb.database_table)) 19 facebookdb.deletemessage(t.getid()); 20 } Código 6.4: Método removetask de la clase Perfil Si estamos realizando una tarea relacionada con alguna red social, deberemos modificar la clase Accounts del paquete com.pfc.geotask y realizar los siguientes pasos: Crear una atributo de la clase que hace referencia a la base datos donde guardamos las cuentas de esa red social. Desarrollar todo el código necesario en el método OnCreate para abrir la base de datos y en el método ondestroy para cerrarla. Modificar el método removeaccount para poder eliminar dicha tarea llegado el momento. Modificar el método filldata para poder mostrar la tarea en el perfil.

54 40 6. Análisis de requisitos, diseño e implementación Modificar el método creardialogocuentas para poder añadir cuentas de dicha red social. 1 private void filldata() { 2 3 list_accounts = new ArrayList<Task>(); 4 list_accounts.addall(ctwitterdb.getallaccount()); 5 list_accounts.addall(cfacebookdb.getallaccount()); 6 7 setlistadapter(new TaskAdapter(this, list_accounts)); 8 } Código 6.5: Método filldata de la clase Accounts 1 2 private Dialog creardialogocuentas() { 3 4 final String[] items = getresources().getstringarray(r. array.accounts); 5 AlertDialog.Builder builder = new AlertDialog.Builder( this); 6 builder.settitle(r.string.seleccion_cuenta); 7 builder.setitems(items, new DialogInterface. OnClickListener() { 9 /* 10 * (non-javadoc) 11 android.content.dialoginterface. OnClickListener#onClick(android.content. DialogInterface, int) 12 */ 13 public void onclick(dialoginterface dialog, int item ) { String seleccionado = items[item]; 16 if(getstring(r.string.task_twitter).equals( seleccionado)) autoriza_twitter(); 19 else if(getstring(r.string.task_facebook).equals (seleccionado)) 20 autoriza_facebook(); 21 } }); 24 return builder.create(); 25 } Código 6.6: Método CrearDialogoCuentas de la clase Accounts

55 6.3. Implementación 41 El tercer paso sería añadir toda la lógica necesaria para que la tarea se ejecute sin la intervención del usuario. Para ello debemos crear una clase en el paquete com.pfc.geotask.broadcast, pudiéndonos guiar de la estructura de cualquiera de las clases ya creadas en este paquete. Por último deberemos modificar el archivo AndroidManifest.xml, donde deberemos realizar las siguientes acciones: Añadir nuevos permisos si es necesario. Añadir las Activities y BroadcastReceivers que hayamos creado. Después de realizar todos estos pasos, ya podremos probar la nueva tarea para comprobar su correcto funcionamiento Problemas encontrados A la hora de implementar esta aplicación, nos hemos encontrado con una serie de problemas que pasamos a detallar a continuación: No hemos podido implementar una tarea que hiciera uso de la aplicación whatsapp, al no poseer una api pública. Sería interesante que la tuviera, ya que es un servicio muy usado actualmente. Por el mismo motivo, no hemos podido implementar una tarea que interactuara con la red social española Tuenti. Cuenta con una api pública cerrada(debes tener una licencia), con lo cuál nos es imposible acceder a dicha api. Intentamos realizar una tarea para enviar correos electrónicos de forma automática, pero se desecho al tener que utilizar clases Java auxiliares, que presentaban varios inconvenientes: No funcionaban para cualquier proveedor de correos electrónicos(gmail, Hotmail, etc.), sino para uno en particular. Lo cual hacía imposible que nuestra aplicación pudiera enviar correos desde cualquier proveedor. Aún así, optamos por utilizar una clase Java auxilar que nos asegurara el envío desde un correo Gmail. Para enviar los correos electrónicos estas clases necesitan la contraseña de la cuenta de correo. Este hecho nos parecía crítico, ya que necesitabamos obtener y guardar la contraseña, en vez de utilizar otro tipo de autenticación como en las cuentas de Twitter y Facebook. Esto nos hizo desistir, ya que después de preguntar a amigos y familiares, nos dijeron que no se sentirían seguros a la hora de poner sus contraseñas de sus cuentas de correos electrónicos.

56 42 6. Análisis de requisitos, diseño e implementación Tuvimos un problema con el manejo de memoria que hace Android. El problema surgía al autorizar a nuestra aplicación utilizar una cuenta de Twitter y era un error aleatorio. Al utilizar el navegador para realizar el proceso de autorización y dejar a nuestra aplicación en pausa, Android, a veces, cerraba la aplicación ya que necesitaba memoria ram para otros procesos. Esto provocaba que al volver del proceso de autorización, no concordara las claves utilizadas para el proceso y no se pudiera completar el proceso. Esto se solucionó, abriendo el navegador en la misma aplicación, asegurándonos con ello que Android no nos cerrara la aplicación y poder así completar todo el proceso de manera satisfactoria.

57 CAPÍTULO 7 Pruebas Una vez completado el desarrollo de una aplicación es necesario llevar a cabo una fase de pruebas que, aunque no garanticen totalmente el correcto funcionamiento de la aplicación, sí podremos decir que, al menos, en las condiciones que han sido supervisadas el resultado ha sido positivo. El motivo es que es imposible desarrollar una batería de pruebas para experimentar absolutamente todas las posibilidades de funcionamiento y todas las condiciones del sistema. Además, el periodo de pruebas también supone un coste, por lo que habrá que decidir la fiabilidad que deseamos ofrecer, basándose en un equilibrio coste-garantía. Estas pruebas no comprueban únicamente el funcionamiento de la aplicación final, lo que se conoce como pruebas de integración, sino también el funcionamiento parcial de de cada funcionalidad que se va incorporando al sistema, lo que se conoce como pruebas unitarias. De lo anterior se desprende que las pruebas no se llevan a cabo únicamente al finalizar el desarrollo, sino que es una operación necesaria a lo largo de todo el proceso. Inicialmente serán casos más parecidos a pruebas unitarias y progresivamente irán acercándose a las pruebas finales de integración. 7.1 Pruebas unitarias Para la realización de pruebas, el sdk de Android ofrece la herramienta de gestión de avds (Android Virtual Devices), de la que ya hablamos anteriormente en el capítulo dedicado a la instalación del entorno de desarrollo. Este ha sido el método principal elegido en estas pruebas de unitarias, aunque también se han realizado algunas, más reducidas, en un terminal HTC Dream. El avd elegido está basado en la versión Google apis Android 2.1, mientras que el terminal HTC Dream cuenta con la versión de Android 43

58 44 7. Pruebas Este terminal virtual cuenta con una pantalla tipo WVGA854 y lleva instalado el dispositivo gps. La simulación del gps se realiza obligatoriamente enviando coordenadas al receptor, ya sea mediante Eclipse o mediante la linea de comandos. El funcionamiento de la primera opción es trivial, activando la perspectiva ddms de Eclipse. En el segundo caso hay que conectar usando telnet con el avd mediante el comando telnet localhost X, donde X es el id asignado por el Sistema Operativo al avd, normalmente Una vez conectado, el comando necesario es geo fix [latitud] [longitud]. En esta fase de pruebas hemos probado todas las tareas de forma separada, cada vez que añadíamos una nueva, para comprobar su correcto funcionamiento, corrigiendo aquellas dónde aparece algún error o fallo, posibilitando incluso cambios en el diseño para conseguir optimizaciones y/o el correcto funcionamiento de la aplicación. También fue probado en esta etapa la interacción con Google Maps, añadiendo mejoras para que al usuario le resulte lo más cómodo posible elegir el área de proximidad de un perfil. Para estas pruebas unitarias también se ha usado el terminal HTC Dream, aunque en menor medida porque se ha usado una vez que las pruebas en el avd han sido positivas, para cerciorarnos de que funciona correctamente en un terminal real. Hemos usado el terminal debido mayormente a que el comportamiento del simulador no es fidedigno a un terminal real, sobre todo en tiempos de procesamiento y de respuesta, resultando en unos casos más a rápido y en otros más lento. Además hay funcionalidades que no podemos probar en el simulador, como la obtención de la unicación a través de Wi-Fi o de las antenas de telefonía. Longitud Latitud Sevilla Jerez de la Frontera Las Cabezas de San Juan Chipiona Madrid Cuadro 7.1: Coordenadas usadas en las pruebas 7.2 Pruebas de integración Las pruebas de integración son las que determinan la calidad y fiabilidad final del sistema desarrollado, pues supone garantizar el correcto funcionamiento, de forma global, bajo las condiciones probadas. En primer lugar se ha probado el funcionamiento en el simulador sobre dos versiones: Google apis Android 2.1 y Google apis Android 2.2.

59 7.2. Pruebas de integración 45 Para las dos versiones, hemos realizando un flujo de operaciones normal: creación de varios perfiles con sus correspondientes tareas, estando algunos perfiles en el mismo área de proximidad y coincidiendo varias tareas en ellos. Además se comprobará el correcto funciomamiento del idioma inglés y en el terminal HTC Dream se ha probado el idioma español. A continuación se comentan los resultados para las diferentes versiones, empezando por la más avanzada. De esta forma podremos concluir enunciando las compatibilidades de la aplicación. En el cuadro anterior se muestran las coordenadas usadas en las pruebas. Google apis 2.2 (api Level 8). Tras arrancar la aplicación con el terminal en inglés, se observa un funcionamiento normal. Pero al intentar crear el área de proximidad, el sistema no es capaz de obtener el nombre de la dirección del punto medio de nuestro área. Al realizar varias búsquedas por internet nos encontramos con que parece ser que hay en bug en esta versión que no permite obtener el nombre de la dirección de un punto. Esto se corrobora al probar la aplicación en nuestro terminal HTC Dream con version de Android y comprobar que obtiene el nombre de la dirección del punto central de nuestro área de proximidad. Además también comprobamos con el terminal en español que la aplicacion funciona de forma normal y que funciona correctamente la aplicación se tenemos dos perfiles en el mismo área de proximidad con varias tareas del mismo tipo, por lo que el sistema parece que se comporta como queremos sin obtener problemas de ningún tipo. Con estos datos podemos decir que el resultado es satisfactorio. Google apis 2.1 (api Level 7). Ha sido la versión utilizada para las pruebas unitarias, por lo que aunque en este apartado solo se comentan las pruebas de integración, su compatibilidad esta ampliamente testada. Tras iniciar la aplicación con el terminal en inglés, se crean varios perfiles con sus correspondientes tareas, algunas en el mismo área de proximidad. Una vez que tenemos todos los perfiles que queremos, vamos modificando nuestra posición a través del comando geo fix para comprobar que solo se ejecutan los perfiles cuando estamos dentro del área de proximidad y no en otro caso.

60 46 7. Pruebas Una vez terminadas todas las pruebas, podemos decir que el sistema funciona de forma correcta, sin detectarse ningún fallo en todo el proceso, por lo que podemos decir que el resultado es satisfactorio.

61 CAPÍTULO 8 Manual Una vez finalizada la implementación de la aplicación y habiendo probado su correcto funcionamiento, es necesario redactar un manual de uso, de forma que, aún teniendo un uso intuitivo, cualquier usuario sea capaz de familiarizarse fácilmente con la interfaz y su correcto funcionamiento. 8.1 Requisitos GeoTask es una sencilla aplicación destinada a la realización automática de tareas sin la intervención del usuario cuando nos encontramos en una determinada ubicación. La localización se realiza mediante el dispositivo gps integrado en el terminal móvil si se encuentra activo. En caso de no estar activo, se realizará vía Wi-Fi si tenemos activada esta opción en nuestro teléfono. En caso de no estar disponible utilizaremos la localización vía gsm. En caso de no estar disponible ninguna de las tres opciones, se avisará de la imposibilidad de localizar al usuario. Además, es necesaria una conexión a Internet ya sea mediante una red Wi-Fi o a través de la conexión de datos ofrecida por el operador de telefonía móvil. Si no dispone de conexión no se mostrará ninguna advertencia, pero el funcionamiento no será el correcto. En primer lugar, será imposible mostrar el mapa de situación a la hora de crear o editar el área de proximidad de un perfil, por lo que el usuario será situado en una pantalla gris sin ningún tipo de detalles. Además, no se podrá ejecutar con normalidad ciertas tareas como el envío de tweets o la actualización de nuestro estado en Facebook. NOTA: La señal del gps solo estará disponible en lugares abiertos, por lo que en edificios o cualquier espacio que represente obstáculos para la recepción no se conseguirá un correcto funcionamiento. 47

62 48 8. Manual Figura 8.1: Pantalla principal de GeoTask sin perfiles 8.2 Funcionamiento Una vez iniciada la aplicación correctamente nos aparecerá una pantalla con el nombre de todos los perfiles creados o, en caso de que no hayamos creado ninguno, se nos mostrará la frase Sin perfiles. Si pulsamos la tecla menú, veremos las siguientes opciones: Añadir Perfil: Podremos añadir un nuevo perfil. Cuentas: Podremos ver las cuentas de nuestras redes sociales que GeoTask puede utilizar y añadir más. Habilitar GeoTask/Deshabilitar GeoTask: Podremos habilitar/deshabilitar la posibilidad de que GeoTask localice la posición del móvil para saber si debe ejecutar alguna tarea. Si elegimos la opción de añadir un perfil, nos aparecerá una pantalla dónde podremos elegir el nombre, la dirección junto con el radio de proximidad y las tareas que deseamos que sean ejecutadas. Si pulsamos la tecla menú, veremos que podemos guardar el perfil o desechar los cambios que hayamos hecho. Es necesario saber que si elegimos una tarea, automáticamente el perfil es guardado. Para elegir la dirección, basta con pulsar el botón Añadir Localización. En el caso de que queremos editar, deberemos pulsar el nombre de la dirección que aparezca. Si queremos eliminar la dirección, sólo tendremos que resalizar una pulsación larga hasta que nos aparezca la opción Eliminar.

63 8.2. Funcionamiento 49 Figura 8.2: Pantalla con las cuentas de redes sociales que puede utilizar GeoTask Figura 8.3: Pantalla de un perfil en GeoTask

64 50 8. Manual Figura 8.4: Pantalla para elegir el área de proximidad en GeoTask A la hora de elegir o editar el área de proximidad de un perfil, se nos mostrará la ubicación anterior en el caso de que estemos editándola o nuestra ubicación actual sobre un mapa en caso contrario. En ambos casos contaremos con un área de proximidad, que indicará la zona en la que, si entramos, se ejecutarían las alertas de ese perfil. El mapa soporta la funciones de zoom y desplazamiento, que permite además un movimiento libre al usuario. Podremos modificar el radio de forma totálmente dinámica, teniendo un mínimo de 100 metros, al igual que cambiar la ubicación hasta el lugar que nos interese. Si pulsamos la tecla menú, veremos las siguientes opciones: Ver: podemos elegir el tipo de mapa que queremos visualizar. Localización: El sistema determinará nuestra ubicación y nos situará en el mapa. Guardar: Guardamos los cambios realizados. No Guardar: No guardamos los cambios realizados. El siguiente paso después de seleccionar la dirección y el área de proximidad que queremos es seleccionar las tareas que debe ejecutar nuestro móvil. Para ello deberemos seleccionar el botón Añadir Tareas. Al pulsar nos aparecerán todas las tareas que podemos añadir. Están limitadas a una por perfil las tareas llamada y lista negra/blanca, las demás no tienen ningún límite establecido. Casi todas las tareas tienen una misma estructura, debes darle valor a una serie de campos para que la ejecución sea satisfactoria.

65 8.2. Funcionamiento 51 Figura 8.5: Pantalla con todas las tareas que permite GeoTask Figura 8.6: Pantalla de la tarea recordatorio en GeoTask

66 52 8. Manual Figura 8.7: Pantalla de la tarea twitter en GeoTask Si presionamos la tecla menú, la mayoría cuenta con dos opciones únicamente, pudiendo guardar o no los cambios efectuados en la tarea. Hay dos excepciones: Tareas Facebook y Twitter. Admite, en el menú, la posibilidad de autorizar a GeoTask el uso de más cuentas de estas dos redes sociales. Tiene una restricción, si no hemos autorizado en el dispositivo el uso de una cuenta de la red social de la cuál queremos realizar la tarea, no podremos añadirla. Tarea Lista Negra/Blanca. Es una tarea especial al ser, en realidad, dos tareas en una. A la hora de crearla nos permitirá elegir que tipo de lista queremos, explicándonos lo que hace cada una de ellas. También podremos modificar el tipo de lista presionando la tecla Menú y presionando la opción Tipo de Lista. Todas las tareas que vayamos creando, irán apareciendo debajo de Tareas:. Estas tareas podrán ser editadas presionando sobre ellas o, directamente, eliminarlas realizando una pulsación larga hasta que nos aparezca la opción de eliminarlo. Una vez que ya hayamos completado el perfil, volveremos a la pantalla principal. Desde allí podremos activar/desactivar cada perfil que hayamos creado. También podremos editar un perfil determinado pulsando sobre su nombre o eliminarlo directamente realizando una pulsación larga hasta que nos aparezca la opción de eliminarlo.

Tema 2: Introducción a Android

Tema 2: Introducción a Android Tema 2: Introducción a Android Android Android es un sistema operativo basado en el Kernel de Linux diseñado principalmente para dispositivos móviles con pantalla táctil. Android Fue desarrollado originalmente

Más detalles

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX...

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX... INDICE 1 Configuración previa...2 1.1 Configuración Internet Explorer para ActiveX...2 1.2 Problemas comunes en sistema operativo Windows...8 1.2.1 Usuarios con sistema operativo Windows XP con el Service

Más detalles

Notas para la instalación de un lector de tarjetas inteligentes.

Notas para la instalación de un lector de tarjetas inteligentes. Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación

Más detalles

Tutorial 1. Instalación del entorno de desarrollo de Android. Curso de perfeccionamiento: Programación de Android TUTORIAL 1: INSTALACIÓN DEL SOFTWARE

Tutorial 1. Instalación del entorno de desarrollo de Android. Curso de perfeccionamiento: Programación de Android TUTORIAL 1: INSTALACIÓN DEL SOFTWARE Tutorial 1 Instalación del entorno de desarrollo de Android Curso de perfeccionamiento: Programación de Android 2013 1 Para desarrollar aplicaciones Android debemos instalar el siguiente software en nuestro

Más detalles

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales. www.librosdigitales.

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales. www.librosdigitales. 1 Arquitectura de una Aplicación Android Para empezar con el desarrollo de aplicaciones en Android es importante conocer cómo está estructurado este sistema operativo. A esto le llamamos arquitectura y

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian Guía de Instalación Página 1 Índice ESCUDO MOVISTAR.... 3 1. INSTALACIÓN DEL SERVICIO ESCUDO MOVISTAR... 3 1.1. VERSIONES SOPORTADAS... 3

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

Anexo IV Configuración del Entorno de Desarrollo. Guía de puntos de interés de la Ciudad de Madrid

Anexo IV Configuración del Entorno de Desarrollo. Guía de puntos de interés de la Ciudad de Madrid Anexo IV Configuración del Entorno de Desarrollo Guía de puntos de interés de la Ciudad de Madrid 1. Índice Anexo IV Configuración del Entorno de Desarrollo... 1 1. Índice... 2 2. Entorno de Desarrollo...

Más detalles

Anexo A Diagramas de Navegación

Anexo A Diagramas de Navegación Anexo A Diagramas de Navegación Figura D.1: Diagrama de navegación de la pantalla principal. 43 Figura D.2: Diagrama de navegación del apartado Crear Encuesta. 44 Figura D.3: Diagrama de navegación del

Más detalles

U2. Introducción al desarrollo de aplicaciones móviles Smartphone y Android Desarrollo de Aplicaciones III TIC-UTSV Enero 2015 I.S.C.

U2. Introducción al desarrollo de aplicaciones móviles Smartphone y Android Desarrollo de Aplicaciones III TIC-UTSV Enero 2015 I.S.C. U2. Introducción al desarrollo de aplicaciones móviles Smartphone y Android Desarrollo de Aplicaciones III TIC-UTSV Enero 2015 I.S.C. Rogelio Vázquez Hernández Smartphone Termino utilizado para referirse

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

CONFIGURACION AVANZADA DE MOZILLA THUNDERBIRD

CONFIGURACION AVANZADA DE MOZILLA THUNDERBIRD CONFIGURACION AVANZADA DE MOZILLA THUNDERBIRD Carpetas sin Conexión... 2 Gestión de mensajes enviados... 3 Gestión de mensajes eliminados... 6 Firma Digital... 8 Envío de mensajes firmados digitalmente...

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar

Más detalles

Configuración de PDAs en ITACTIL.

Configuración de PDAs en ITACTIL. Configuración de PDAs en ITACTIL. La aplicación ITACTIL puede trabajar con terminales de mano (PDAs, tablets o teléfonos Android, Iphone, Ipad, etc.) en sus versiones Profesional y Líder. El funcionamiento

Más detalles

Oficina Online. Manual del administrador

Oficina Online. Manual del administrador Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal

Más detalles

Novedades PhotoGestion 5

Novedades PhotoGestion 5 Novedades PhotoGestion 5 En este documento repasamos las novedades más importantes de la versión 5 del programa PhotoGestion. Explicaremos cada novedad, como funciona y como se configura. Contenido Envío

Más detalles

10. El entorno de publicación web (Publiweb)

10. El entorno de publicación web (Publiweb) 10. El entorno de publicación web (Publiweb) 10.1. Introducción El entorno de publicación Web es una herramienta que permite la gestión de nuestras páginas Web de una forma visual. Algunos ejemplos de

Más detalles

Escritorio remoto y VPN. Cómo conectarse desde Windows 7

Escritorio remoto y VPN. Cómo conectarse desde Windows 7 Escritorio remoto y VPN. Cómo conectarse desde Windows 7 Hay ocasiones en las que es necesario conectarnos a un equipo informático situado a mucha distancia de donde nos encontramos para realizar sobre

Más detalles

Guía de instalación de la carpeta Datos de IslaWin

Guía de instalación de la carpeta Datos de IslaWin Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3

Más detalles

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Preguntas frecuentes Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Atención! Esta opción es de configuración y solamente la prodrá realizar el administrador de la

Más detalles

Tutorial: Primeros Pasos con Subversion

Tutorial: Primeros Pasos con Subversion Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través

Más detalles

Manual instalación Windows 8. Instalar Windows 8 paso a paso

Manual instalación Windows 8. Instalar Windows 8 paso a paso Manual instalación Windows 8. Instalar Windows 8 paso a paso Windows 8 es el nuevo sistema operativo de Microsoft, en el cual se han incluido más de 100.000 cambios en el código del sistema operativo,

Más detalles

Este documento se distribuye bajo los términos de la licencia Creative Commons by sa. http://creativecommons.org/licenses/by sa/2.

Este documento se distribuye bajo los términos de la licencia Creative Commons by sa. http://creativecommons.org/licenses/by sa/2. Análisis de aplicación: Visual Understanding Environment (VUE) Este documento ha sido elaborado por el Centro de excelencia de software libre de Castilla La Mancha (Ceslcam, http://ceslcam.com). Copyright

Más detalles

GedicoPDA: software de preventa

GedicoPDA: software de preventa GedicoPDA: software de preventa GedicoPDA es un sistema integrado para la toma de pedidos de preventa y gestión de cobros diseñado para trabajar con ruteros de clientes. La aplicación PDA está perfectamente

Más detalles

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático Programa de Almacenamiento y Recuperación de Datos Automático CONSEJERÍA DE EDUCACIÓN Dirección General de Participación e Innovación Educativa Centro de Gestión Avanzado de Centros TIC Fecha: 20/04/10

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

Manual de Gunaguaro Instalación y Uso

Manual de Gunaguaro Instalación y Uso Manual de Gunaguaro Instalación y Uso Indice Que es cunaguaro?... 3 Como instalar cunaguaro?... 4 Comenzar a utilizar cunaguaro... 5 Elementos para Navegar... 6 Pestañas de Navegación... 8 Uso de marcadores...

Más detalles

MANUAL COPIAS DE SEGURIDAD

MANUAL COPIAS DE SEGURIDAD MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta

Más detalles

CONFIGURACION AVANZADA DE OUTLOOK 2003

CONFIGURACION AVANZADA DE OUTLOOK 2003 CONFIGURACION AVANZADA DE OUTLOOK 2003 Carpetas sin conexión Gestión de mensajes enviados Gestión de mensajes eliminados Firma digital Carpetas sin Conexión Una de las opciones que soporta Microsoft Outlook

Más detalles

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO www.ubs-systems.com Teléfono: 91 3681185 UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO Unidesys Versión 2011 1 CONTENIDO 1 INTRODUCCIÓN 3 2 FUENTES DE DATOS 4 3 INSTALACIÓN DEL

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

Guía de instalación de la carpeta Datos de ContaWin

Guía de instalación de la carpeta Datos de ContaWin Guía de instalación de la carpeta Datos de ContaWin Para ContaWin CS, Classic o Pyme a partir de la revisión 12.10 (Revisión: 29/06/2011) Contenido Introducción... 3 Acerca de este documento... 3 Dónde

Más detalles

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10 CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,

Más detalles

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico) MANUAL DE AYUDA SAT Móvil (Movilidad del Servicio Técnico) Fecha última revisión: Abril 2015 INDICE DE CONTENIDOS INTRODUCCION SAT Móvil... 3 CONFIGURACIONES PREVIAS EN GOTELGEST.NET... 4 1. INSTALACIÓN

Más detalles

TEMA 1. Introducción

TEMA 1. Introducción TEMA 1 Introducción LO QUE ABORDAREMOS Qué es Android? Qué lo hace interesante? Arquitectura del sistema Entorno de desarrollo 2 QUÉ ES ANDROID? Sistema operativo para móviles Desarrollado inicialmente

Más detalles

Manual para la utilización de PrestaShop

Manual para la utilización de PrestaShop Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para

Más detalles

Instalación de Tomcat7 en Ubuntu

Instalación de Tomcat7 en Ubuntu 2. Instala el servidor web java TomCat en Windows y Linux. Documenta los módulos/servicios necesarios. Instala el CMS Java Liferay. Documenta el proceso. Instalación de Tomcat7 en Ubuntu Comenzamos instalando

Más detalles

http://www.droidlife.com/#47

http://www.droidlife.com/#47 Oct 2003 Fundación de Android, Inc. en Palo Alto, CA. 16 Ago, 2005 Android, Inc. es adquirida por Google. 5 Nov, 2007 Se anuncia el Open Handset Alliance (OHA), una alianza formada por 34 compañías líderes

Más detalles

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario 14 CORREO SEGURO. Hay aplicaciones de correo que permiten enviar y recibir correos cifrados y firmados digitalmente utilizando criptografía. Estas operaciones garantizan el intercambio seguro de información,

Más detalles

Manual de NetBeans y XAMPP

Manual de NetBeans y XAMPP Three Headed Monkey Manual de NetBeans y XAMPP Versión 1.0 Guillermo Montoro Delgado Raúl Nadal Burgos Juan María Ruiz Tinas Lunes, 22 de marzo de 2010 Contenido NetBeans... 2 Qué es NetBeans?... 2 Instalación

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Escritorio remoto - 1 - Escritorio Remoto...- 3 - Definición de Escritorio Remoto... - 3 - Habilitar Escritorio Remoto... - 4 - Instalación del

Más detalles

MANUAL DE USO DE LA APLICACIÓN ENCIFRA BOX 2.0

MANUAL DE USO DE LA APLICACIÓN ENCIFRA BOX 2.0 MANUAL DE USO DE LA APLICACIÓN ENCIFRA BOX 2.0 Marzo de 2014 Objetivos de la Guía El objetivo de este presente documento es el de servir como una guía fácil y completa de la utilización de la aplicación

Más detalles

port@firmas V.2.3.1 Manual de Portafirmas V.2.3.1

port@firmas V.2.3.1 Manual de Portafirmas V.2.3.1 Manual de Portafirmas V.2.3.1 1 1.- Introducción 2.- Acceso 3.- Interfaz 4.- Bandejas de peticiones 5.- Etiquetas 6.- Búsquedas 7.- Petición de firma 8.- Redactar petición 9.- Firma 10.- Devolución de

Más detalles

Desarrollo de apps para móviles Android. Entorno de desarrollo

Desarrollo de apps para móviles Android. Entorno de desarrollo Desarrollo de apps para móviles Android Entorno de desarrollo Entorno de desarrollo Las aplicaciones Android van a ser implementadas en Java usando Android SDK. El software necesario para realizarlas es

Más detalles

5. Composer: Publicar sus páginas en la web

5. Composer: Publicar sus páginas en la web 5. Composer: Publicar sus páginas en la web Si nuestras páginas existen únicamente en el disco duro local, sólo nosotros podremos navegar por ellas, pero nadie más podrá hacerlo. Composer nos permite publicarlas

Más detalles

GVisualPDA Módulo de Almacén

GVisualPDA Módulo de Almacén GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en

Más detalles

GUÍA DE USUARIO DEL CORREO

GUÍA DE USUARIO DEL CORREO REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN DIRECCIÓN GENERAL DE LA OFICINA DE ADMINISTRACIÓN Y SERVICIOS DIVISIÓN DE SOPORTE TÉCNICO Y FORMACIÓN AL USUARIO GUÍA DE

Más detalles

CONFIGURACION AVANZADA DE OUTLOOK EXPRESS 6

CONFIGURACION AVANZADA DE OUTLOOK EXPRESS 6 CONFIGURACION AVANZADA DE OUTLOOK EXPRESS 6 Carpetas sin conexión Gestión de mensajes enviados Gestión de mensajes eliminados Firma digital Envío de mensajes firmados digitalmente Recepción de mensajes

Más detalles

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta Configuración de una red con Windows Aunque existen múltiples sistemas operativos, el más utilizado en todo el mundo sigue siendo Windows de Microsoft. Por este motivo, vamos a aprender los pasos para

Más detalles

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT)

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT) MANUAL DE AYUDA MODULO SAT (Anexo Integración AGIL SAT) Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS 1 INTRODUCCION... 3 1.1 Objetivo... 3 1.2 Descripción de la aplicación Agil-SAT PDA... 3 1.3

Más detalles

1.1. Instalación del entorno de desarrollo

1.1. Instalación del entorno de desarrollo 1.1. Instalación del entorno de desarrollo Para el desarrollo de las aplicaciones vamos a poder utilizar un potente y moderno entorno de desarrollo. Al igual que Android, todas las herramientas están basadas

Más detalles

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L-5 08330 Premià de Mar Barcelona Tel. (93) 754 90 19 Fax 93 752 35 18 marketing@t2app.

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L-5 08330 Premià de Mar Barcelona Tel. (93) 754 90 19 Fax 93 752 35 18 marketing@t2app. T3-Rondas V 1.1 1 Indice 1 Requisitos mínimos 3 2 Instalación 3 2.1 Instalación del software 3 2.2 Instalación del terminal 4 3 Configuración Inicial 4 3.1 Crear terminales 5 3.2 Crear puntos de lectura

Más detalles

Introducción a la extensión de scripting en gvsig 2.0

Introducción a la extensión de scripting en gvsig 2.0 Introducción a la extensión de scripting en gvsig 2.0 2012 gvsig Association Este documento se distribuye con la licencia Creative Commons 1 2 Índice de contenido 1 Introducción... 3 Instalación de la

Más detalles

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19

Más detalles

UNIVERSIDAD TECNICA DEL NORTE

UNIVERSIDAD TECNICA DEL NORTE UNIVERSIDAD TECNICA DEL NORTE FACULTAD DE INGENIERIA EN CIENCIAS APLICADAS ESCUELA DE INGENIERIA EN SISTEMAS COMPUTACIONALES MANUEL DE USUARIO TEMA: SISTEMA INFORMÁTICO PARA LA PROMOCIÓN Y PUBLICIDAD DE

Más detalles

Ajustes del Curso en egela (Moodle 2.5)

Ajustes del Curso en egela (Moodle 2.5) Ajustes del Curso en egela (Moodle 2.5) Manual para el profesorado Versión 2 (12/05/2015) El presente manual ha sido desarrollado por el Campus Virtual de la Universidad del País Vasco / Euskal Herriko

Más detalles

Visor de presupuestos en Android

Visor de presupuestos en Android Visor de presupuestos en Android NEODATA tiene el placer y el orgullo de darle la bienvenida al nuevo Visor de presupuestos, esta herramienta fue diseñada pensando en la necesidad de acceder a presupuestos

Más detalles

Software Criptográfico FNMT-RCM

Software Criptográfico FNMT-RCM Software Criptográfico FNMT-RCM ÍNDICE 1. DESCARGA E INSTALACIÓN DEL SOFTWARE 2. EXPORTACIÓN DE CERTIFICADOS EN MICROSOFT INTERNET EXPLORER 3. IMPORTACIÓN DEL CERTIFICADO A LA TARJETA CRIPTOGRÁFICA -2-

Más detalles

Antivirus PC (motor BitDefender) Manual de Usuario

Antivirus PC (motor BitDefender) Manual de Usuario Antivirus PC (motor BitDefender) Manual de Usuario Índice 1. Introducción... 3 2. Qué es Antivirus PC?... 3 a. Eficacia... 3 b. Actualizaciones... 4 3. Requisitos técnicos... 4 a. Conocimientos técnicos...

Más detalles

La compañía Autodesk presenta la nueva versión de su aclamado

La compañía Autodesk presenta la nueva versión de su aclamado Presentación La compañía Autodesk presenta la nueva versión de su aclamado AutoCAD, AutoCAD 2011, como un potente y completísimo programa de diseño y dibujo asistido por ordenador. Elegido por un gran

Más detalles

Unidad I. Introducción a la programación de Dispositivos Móviles (Continuación )

Unidad I. Introducción a la programación de Dispositivos Móviles (Continuación ) Clase:003 1 Unidad I Introducción a la programación de Dispositivos Móviles (Continuación ) 2 Entornos de Desarrollo Virtualizaciones. Agenda IDE s. Y Lenguajes de Programación. 3 Virtualización Que es

Más detalles

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS Página 1 de 20 INSTALACIÓ N A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 7. Escritorio remoto 1 Índice Definición de Escritorio Remoto... 3 Habilitar Escritorio Remoto... 4 Instalación del cliente de Escritorio Remoto...

Más detalles

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de: Gemelo Backup Online DESKTOP Manual DISCO VIRTUAL Es un Disco que se encuentra en su PC junto a las unidades de discos locales. La información aquí existente es la misma que usted ha respaldado con su

Más detalles

Manual de uso. Aula Digital Santillana. (Versión tablet)

Manual de uso. Aula Digital Santillana. (Versión tablet) Manual de uso Aula Digital Santillana (Versión tablet) Manual de uso de Aula Digital Santillana (ADS) Santillana lo ha preparado todo para el próximo curso. Aula Digital permite acceder, tanto al profesor

Más detalles

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario Apéndice 5 Manual de usuario de ColeXión ColeXión 1.0 Manual de usuario Índice 1. Qué es ColeXión?... 2 2. Requerimientos del sistema... 3 3. Instalación de ColeXión... 3 4. Creación de un nuevo esquema...

Más detalles

Tutorial: Instalación de Eclipse para programar Android en Windows

Tutorial: Instalación de Eclipse para programar Android en Windows Tutorial: Instalación de Eclipse para programar Android en Windows En este tutorial vamos a aprender todo lo necesario para dejar nuestra computadora lista para programar en Java para Android, por medio

Más detalles

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT Versión 1. Mayo de 2001 Luis Vinuesa Martínez. Departamento de Informática Universidad de Oviedo vinuesa@correo.uniovi.es www.di.uniovi.es/~vinuesa ÍNDICE. Introducción...

Más detalles

Administración Local Soluciones

Administración Local Soluciones SISTEMA INTEGRADO DE GESTIÓN DE EXPEDIENTES MODULAR (SIGM) MANUAL DE USUARIO DE ARCHIVO PRÉSTAMOS Y CONSULTAS SIGM v3 Administración Local Soluciones Control de versiones Versión Fecha aprobación Cambio

Más detalles

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. 1 de 18 Inicio Qué es un foro En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. En el campus virtual, el foro es una herramienta

Más detalles

Conexión de GPS a Open CPN.

Conexión de GPS a Open CPN. Conexión de GPS a Open CPN. Los GPS pueden ser por Bluetooth, USB o Serie. Trasmiten los datos a través de un puerto serie o Puerto COM Los puertos COM son puertos de comunicación Serie; que puede ser

Más detalles

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación Vicerrectorado de Tecnologías de la Información y la Comunicación Conexión mediante Escritorio Remoto de Windows Última Actualización 16 de septiembre de 2013 Histórico de cambios Fecha Descripción Autor

Más detalles

Recall SIP. Guía de Instalación y Configuración Versión 3.7

Recall SIP. Guía de Instalación y Configuración Versión 3.7 Recall SIP Guía de Instalación y Configuración Versión 3.7 INDICE 1- INTRODUCCION... 3 2- INSTALACIÓN DE RECALL SIP... 4 2.1 Instalación del Hardware...4 2.2 Instalación del Software...5 2.2.1 Instalación

Más detalles

Programación Android Completo

Programación Android Completo Programación Android Completo Duración: 50.00 horas Descripción Este curso pretende formar al alumno en el desarrollo de aplicaciones para dispositivos Android. Se estudiarán con detalle todos aquellos

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

FileMaker Pro 13. Uso de una Conexión a Escritorio remoto con FileMaker Pro 13

FileMaker Pro 13. Uso de una Conexión a Escritorio remoto con FileMaker Pro 13 FileMaker Pro 13 Uso de una Conexión a Escritorio remoto con FileMaker Pro 13 2007-2013 FileMaker, Inc. Reservados todos los derechos. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054

Más detalles

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA Autor: Carlos Javier Martín González. Licenciado en Física Teórica por la Universidad Autónoma de Madrid. Analista programador y funcional. Desarrollador

Más detalles

1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS.

1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS. CREANDO UNIDADES VIRTUALES DE CD Y DVD CON DAEMON TOOLS 1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS. Daemon Tools es una herramienta que permite a los usuarios simular una unidad o varias unidades

Más detalles

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos

Más detalles

Guía de integración del módulo de Redsys en Prestashop

Guía de integración del módulo de Redsys en Prestashop Guía de integración del módulo de Redsys en Prestashop Versión: 2.4.3 15/01/2015 Referencia RS.DD.AGD.MAN.006 Ref RS.DD.AGD.MAN.006 Versión: 2.4.3 15/01/2015

Más detalles

GUÍA BÁSICA USUARIO MOODLE 2.6

GUÍA BÁSICA USUARIO MOODLE 2.6 GUÍA BÁSICA USUARIO MOODLE 2.6 Esta guía representa los pasos a seguir por el alumno desde la aceptación en un curso Moodle hasta su posterior utilización, pero antes de explicar la forma de acceder y

Más detalles

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation. WINDOWS Windows, Es un Sistema Operativo. Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation. Dentro de los tipos de Software es un tipo de software de Sistemas. Windows

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

PS.Vending Almacén Pocket PC

PS.Vending Almacén Pocket PC Versión 1.0 Enero 2013 Autor: Pedro Naranjo Rodríguez www.psvending.es Contenido Qué es PS.Vending Almacén Pocket PC?... 3 Funciona PS.Vending Almacén Pocket PC independiente de PS.Vending?... 3 Requisitos...

Más detalles

INSTALACIÓN DE MEDPRO

INSTALACIÓN DE MEDPRO 1 Estimado Cliente: Uno de los objetivos que nos hemos marcado con nuestra nueva plataforma de gestión, es que un cliente pueda instalar MedPro y realizar su puesta en marcha de forma autónoma. Siga paso

Más detalles

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

AGREGAR COMPONENTES ADICIONALES DE WINDOWS INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

1 ÍNDICE... 3 Instalación... 4 Proceso de instalación en red... 6 Solicitud de Código de Activación... 11 Activación de Licencia... 14 2 3 REQUERIMIENTOS TÉCNICOS E INSTALACIÓN Requerimientos Técnicos

Más detalles

Introducción. Aprendiendo APP INVENTOR 13. Qué perfil debe tener el lector del libro? Qué aprenderé?

Introducción. Aprendiendo APP INVENTOR 13. Qué perfil debe tener el lector del libro? Qué aprenderé? Aprendiendo APP INVENTOR 13 Introducción App Inventor es una aplicación que permite crear aplicaciones para sistemas operativos Android. Google Labs lanzó su primera versión de Google App Inventor en julio

Más detalles

Objetivos del proyecto:

Objetivos del proyecto: Crear una página web corporativa atractiva, fácil de usar, que permita dar a conocer nuestra empresa, nuestros servicios y nuestros productos, a través de un medio con tanta importancia como es Internet.

Más detalles

INSTALACIÓN DE SIESTTA 2.0 EN UN HOSTING (Ejemplo para Guebs.com)

INSTALACIÓN DE SIESTTA 2.0 EN UN HOSTING (Ejemplo para Guebs.com) INSTALACIÓN DE SIESTTA 2.0 EN UN HOSTING (Ejemplo para Guebs.com) A modo de post, vamos a complementar la documentación con una guía visual a través de la cual conseguiremos instalar SIESTTA 2.0 en un

Más detalles

Figura 4.6: Prototipo de la pantalla de inicio.

Figura 4.6: Prototipo de la pantalla de inicio. Por lo tanto el siguiente paso ha sido realizar el prototipo a más alto nivel del sitio web, para conocer cómo quiere la empresa que se estructure el contenido y qué aspecto darle. Para ello se ha utilizado

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

Más detalles

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha 2006-08

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha 2006-08 PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet Revisión 1.1 Fecha 2006-08 Índice 1. Acceder 2. Menú 3. Gestión Básica 3.1 Añadir 3.2 Editar 3.3 Eliminar 3.4 Eliminación de registros

Más detalles

1.- INTRODUCCIÓN 2.- PARÁMETROS

1.- INTRODUCCIÓN 2.- PARÁMETROS 1.- INTRODUCCIÓN Hemos diseñado una aplicación que facilite el envío a las entidades bancarias de las de cobro por domiciliación. La entrada de esta aplicación pueden ser, tanto ficheros cuyos formatos

Más detalles

Para descargar la versión más reciente de Skype accedemos al sitio web de Skype y luego hacemos clic en Descargar Skype para escritorio de Windows.

Para descargar la versión más reciente de Skype accedemos al sitio web de Skype y luego hacemos clic en Descargar Skype para escritorio de Windows. Skype Skype: este servicio nos permite comunicarnos en forma sincrónica con nuestros contactos mediante mensajes instantáneos (chat) y realizando video llamadas. Skype Microsoft cuenta con un sistema de

Más detalles