PROGRAMADOR JR. PARA EL SISTEMA OPERATIVO ANDROID

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

Download "PROGRAMADOR JR. PARA EL SISTEMA OPERATIVO ANDROID"

Transcripción

1 PROGRAMADOR JR. PARA EL SISTEMA OPERATIVO ANDROID Manual del Participante 2015

2 TABLA DE CONTENIDO FORMACIÓN DE LA COMUNIDAD DE APRENDIZAJE... 3 INFORMACIÓN SOBRE EL CURSO... Error! Marcador no definido. Objetivos Clave... 4 Resumen de la Audiencia... 4 Prerrequisitos del Curso... 4 Temario del Curso... 4 UNIDAD 1. INTRODUCCION A ANDROID... 5 Funcionalidades de Android... 7 Componentes de la Plataforma Android... 7 Lenguaje de Programación en Android... 9 Paquetes y librerías incluidas en Android... 9 Máquina virtual Dalvik Desarrollo de Aplicaciones Nativas Arquitectura de una Aplicación Android Componentes de una Aplicación Android Archivo Manifesto Recursos de la Aplicación UNIDAD 2. HERRAMIENTAS DE DESARROLLO Instrucciones de Instalación Android Virtual Devices Herramientas del SDK y sus componentes Ejercicios UNIDAD 3. FUNDAMENTOS DE UNA APLICACIÓN ANDROID Primera Aplicación en Android Elementos de una Aplicación Android Archivo manifiesto AndroidManifest.xml Recursos de la aplicación Interface de Usuario... 31

3 Atributos Comunes de los Objetos View Layouts más comunes Views más comunes Manejo de Eventos en Android Procesos y Ciclo de Vida de una Activity Prioridad de los Procesos Estado de los Procesos y la Pila de Activities (Back Stack) Uso de Intents Uso de Intents para iniciar Activities de Manera Explícita Uso de Intents para Iniciar Activities de Manera Implícita Envío de Datos a la Activity Solicitada Fragmentos Seguridad y Permisos en una Aplicación Android Almacenamiento de Datos Procesos e Hilos Procesos Hilos Loaders Servicios (Services) Proveedores de Contenido (Content Providers) Ejercicios REFERENCIAS... 54

4 FORMACIÓN DE LA COMUNIDAD DE APRENDIZAJE La formación de la comunidad de aprendizaje es un proceso que debe llevarse a cabo para iniciar cada uno de nuestros cursos. Su finalidad es crear un clima propicio para la celebración de la actividad instruccional, es decir, generar un entendimiento previo entre el instructor y los participantes sobre los temas que se desarrollarán durante ésta, así como las estrategias educativas que se llevarán a cabo para lograr un mejor aprendizaje. Un adecuado manejo de la comunidad de aprendizaje es un elemento fundamental para garantizar la satisfacción de uno de los clientes involucrados en la impartición de los cursos: los participantes. Presentación del Instructor: Alineación de expectativas: Presentación del objetivo del curso: Reglas de oro: Cumplimiento de expectativas: Nombre, profesión, años de experiencia como instructor, experiencia en la impartición del curso, o cursos similares o relacionados. El instructor recabará las expectativas de los participantes respecto al curso, con el fin de dejarles claro el objetivo del mismo. En caso de que alguna expectativa no coincida con los temas que el curso contiene, el instructor dejará claro cuáles de las expectativas expresadas no serán cubiertas con el curso y porqué. Las expectativas alineadas serán anotadas en hojas de rotafolio para su revisión al término del curso. Durante el desarrollo del curso el instructor deberá cubrir las expectativas alineadas. El instructor presentará a los participantes el objetivo del curso, aclarando dudas al respecto si las hubiese. El instructor promoverá el establecimiento de reglas por parte de los participantes que se observarán a través del curso; por lo que puede proponer: tiempo de tolerancia para iniciar las sesiones, respeto hacia los compañeros, participación de todos en técnicas y ejercicios grupales, etc.; se incluirán todos los puntos que los participantes consideren pertinentes. Se anotarán los acuerdos en hojas de rotafolio y se colocarán en un espacio en el que sean visibles a lo largo de todo el curso. Al finalizar el curso el instructor deberá llevar a cabo una revisión de las expectativas alineadas que se anotaron en hojas de rotafolio al inicio del curso Se revisará cada una de las expectativas alineadas palomeando las

5 que hayan sido cumplidas, y el instructor explicará de qué manera se llevó a cabo tal cumplimiento. OBJETIVOS CLAVE Al finalizar el curso el asistente: Tendrá nociones básicas de desarrollo de aplicaciones Android Será capaz de crear aplicaciones básicas para la plataforma Android RESUMEN DE LA AUDIENCIA El asistente a este curso debe tener conocimientos firmes de programación en Java y virtualización y desea comenzar a desarrollar aplicaciones básicas sobre la plataforma Android. PRERREQUISITOS DEL CURSO Certificado de Introducción a la Programación Android Conocimientos del lenguaje de programación Java Estar familiarizado con el IDE Eclipse Tener nociones de virtualización TEMARIO DEL CURSO 1. Introducción a Android 2. Herramientas de Desarrollo 3. Fundamentos de una aplicación Android a. Frameworks b. Fragments c. Loaders d. Tasks and back stack e. Servicios f. Proveedores de Contenido g. Procesos e Hilos h. Interface de Usuario i. Recursos de una Aplicación j. Almacenamiento de Datos k. Seguridad y Permisos l. El archivo manifiesto m. Mi primera aplicación

6 UNIDAD 1. INTRODUCCIÓN A ANDROID Android es un sistema operativo basado en Linux, propiedad de Google, usado en smartphones y tablets principalmente, aunque su uso se está extendiendo a PCs, televisores, automóviles y relojes. Un sistema operativo es el software necesario para que su computadora, teléfono móvil o cualquier otro dispositivo electrónico pueda funcionar; el sistema operativo administra los recursos de tales dispositivos. El logo verde que se utiliza para representarlo, es debido a que la palabra Android se refiere un robot con forma humana. Android es de hecho en la actualidad el sistema operativo móvil más utilizado. El éxito que ha tenido Android, se debe a su apertura, lo cual permite que cualquier persona pueda desarrollar aplicaciones para los dispositivos Android. A diferencia de ios, que es el sistema operativo móvil usado por los dispositivos de Apple (ipod, ipad, iphone), Android no está limitado a una marca en particular, y existe una infinidad de fabricantes que usan Android como su sistema operativo (Samsung, LG, Sony, HTC, Motorola, etc.) A partir de su nacimiento en el 2008, Android ha liberado más de 40 actualizaciones y 21 niveles de API (Application Programming Interface), las cuales se resumen a continuación: Versión Fecha de Liberación Nombre y Logo Nivel de API Algunas Características Importantes Sep Android Market, Soporte de Cámara, WiFi y Bluetooth, Gmail, Contactos, Calendario, Google Maps, SMS, Llamadas, Reproductor de Medios, Notificaciones, Youtube Feb Agrega anexos a mensajes, detalles sobre negocios cuando se hace búsqueda en los mapas Abr-2009 Cupcake 3 Soporte de widgets, texto predictivo, videos, transiciones animadas, rotación automática Sep-2009 Donut 4 Cuadro de búsqueda rápida, Integración de galería de fotos, cámara y videograbación, soporte a VPN, indicador de uso de batería, soporte a resolución WVGA, nuevas APIs de Framework Oct Ene Eclair 5,6 y 7 Múltiples cuentas, navegación en Google Maps, , Bluetooth 2.1, Busqueda en SMS y MMS, Soporte para HTML5, Velocidad optimizada,

7 soporte a múltiples tamaños de pantalla y resoluciones May-2010 Froyo 8 Sistema de Mensajeo de la Nube al Dispositivo, HotSpot portable, compartición de contactos vía Bluetooth, Múltiples idiomas de teclado Dic Sep Ginger bread 9 y 10 Comunicación NFC, Video chat, efectos de audio, soporte a más tipos de audio y video 3.0, 3.1 y Feb-2011 Feb-2012 Honey comb 11, 12 y 13 Multitarea simplificada, pantalla inicial personalizable, teclado rediseñado, acceso rápido a cámara, aceleración de hardware, encriptación de datos de usuario Oct Mar Ice Cream Sandwic h 14 y 15 Multitarea entre apps recientes, Google Chrome, advertencias de uso de redes de datos, Editor de Fotografías, Wi-Fi Direct, Dictado de texto Jul Oct Jelly Bean 16, 17 y 18 Búsqueda Google Now, Soporte a múltiples lenguajes, soporte multiusuario, soporte multipantalla W2 31-Oct Oct KitKat 19 y 20 Multitarea más rápida, Impresión, Listado de Contactos prioritarios, extensiones para Google Wear (relojes) 5 12-Nov-2014 Lollipop 21 Notificaciones mejoradas, interface de usuario responsiva, soporte a CPUs de 64 bits, Android TV

8 FUNCIONALIDADES DE ANDROID Como se puede ver en la tabla anterior, el sistema operativo Android ha ido creciendo en funcionalidades, las cuales se pueden resumir como sigue: Soporte para redes GSM, EDGE, 3G, 4G y LTE para telefonía y transferencia de datos, permitiendo el envío y recepción de llamadas, mensajes SMS o datos. Gran variedad de APIs para servicios de ubicación geográfica tales como GPS o detección de ubicación basada en la red. Soporte completo para aplicaciones que integran controles de mapas como parte de sus interfaces. Acceso al hardware de WiFi y conexiones punto a punto. Control completo de hardware multimedia, incluyendo reproducción y grabación con cámara y micrófono. Librerías de medios para reproducir y grabar una variedad de formatos de audio/video o de imágenes fijas. APIs para usar el hardware de sensores, incluyendo acelerómetros, compás y barómetros. Paso de mensajes IPC. Compartición de datos y APIs para contactos, redes sociales, calendario y multimedia. Servicios en segundo plano, aplicaciones y procesos Capacidad de integrar los resultados de búsquedas hechas por las aplicaciones en las búsquedas del sistema Integración con la web a través de un componente denominado WebKit, que es un motor de despliegue de HTML, el cual es usado también en los navegadores Safari y Chrome Gráficos acelerados por hardware y optimizados para móviles, incluyendo una librería de 2D y soporte para 3D usando OpenGL ES 2.0 Internacionalización de aplicaciones a través de un framework de recursos dinámicos Un framework de aplicaciones que alienta el reuso de componentes de aplicaciones y el reemplazo de aplicaciones nativas Manejo de bases de datos SQLite para el almacenamiento y recuperación de datos COMPONENTES DE LA PLATAFORMA ANDROID La plataforma Android se puede descomponer en varias áreas de responsabilidad para hacerla más fácil de entender. Las principales divisiones de esta plataforma se muestran en la siguiente figura:

9 Aplicaciones Las aplicaciones son los programas con los que los usuarios en realidad interactúan. Como parte central de Android se proporcionan ya varias aplicaciones de uso común que son de código abierto como son el Navegador, Cámara, Galería de Fotos, Reproductor de Música, Teléfono, entre otras. También se proporcionan otras aplicaciones que no son de código abierto como son Play Store, Gmail, Google Maps, YouTube, etc. Aparte de estas aplicaciones ya preinstaladas, cada fabricante puede poner aplicaciones relacionadas con su marca (Telcel. Movistar, etc.) y los usuarios pueden instalar otras aplicaciones de terceros entrando a la Play Store donde existe una infinidad de opciones de aplicaciones (apps). Framework de Aplicaciones Es un componente que da soporte a las aplicaciones, y que permite una interacción entre las aplicaciones y el sistema operativo. Está compuesto de las clases usadas para crear aplicaciones Android y también proporciona una abstracción genérica para acceso al hardware además de administrar la interface de usuario y los recursos de las aplicaciones. Librerías de Middleware Este es un componente de software que tal como su nombre lo indica, se encuentre en medio del sistema operativo y las aplicaciones/framework de aplicaciones. Incluye librerías de C/C++ para muchas funciones (almacenamiento de datos, generación de gráficos, navegación en páginas, bases de datos, etc.) y también contiene una sección denominada ambiente de ejecución (AE, runtime) Dalvik. Esta es la máquina virtual de Java especialmente hecha para Android y que contiene las librerías centrales. Sistema Operativo Como ya se mencionó anteriormente, el sistema operativo Android está basado en otro sistema operativo denominado Linux, específicamente la versión 2.6. Este componente realiza el trabajo de servir como interface entre el hardware y las aplicaciones usando lo que se conoce como manejadores de dispositivos (device drivers), de procesar la entrada del usuario, de administrar los procesos de las aplicaciones y la memoria, de manejar los archivos, la entrada/salida de red, etc.

10 La siguiente figura muestra más detalles de los componentes de la plataforma Android: LENGUAJE DE PROGRAMACIÓN EN ANDROID Para desarrollar aplicaciones en Android, se utiliza el lenguaje de programación Java, con ayuda de un SDK (Software Development Kit), aunque su funcionamiento interno es un poco distinto al que tiene en las computadoras personales. En un ambiente normal de computadora, el ambiente de ejecución de Java (JRE) consiste de dos cosas: las librerías centrales que son parte de la plataforma Java y la máquina virtual de Java (JVM) que se encarga de ejecutar los programas al interpretar los bytecodes resultantes de la compilación de los programas fuente (archivos.class) En Android, el ambiente de ejecución sigue este patrón, pero ahí termina la similitud. Las librerías de Java en Android no son las mismas que en una computadora personal (aunque muchas se traslapan) y la máquina virtual no puede cargar archivos.class ni interpretar los bytecodes contenidos en tales archivos. PAQUETES Y LIBRERÍAS INCLUIDAS EN ANDROID En la figura siguiente se puede ver una representación de los paquetes principales en el ambiente de ejecución normal de Java y su status en el ambiente de ejecución de Android:

11 Se puede ver que muchos de los paquetes de Java estándar existen en Android, pero algunos no existen en absoluto (como son AWT y Swing que son los usadas para la interface de usuario en el Java estándar, lo cual es natural, dado que la interface de usuario en Android es manejada con componentes propios). MÁQUINA VIRTUAL DALVIK Dalvik es la máquina virtual en Android, y se encarga de ejecutar las aplicaciones escritas en Java. Es una máquina virtual optimizada para ejecutar en sistemas embebidos tales como los teléfonos inteligentes (smartphones). Dalvik no es exclusiva para Android, funciona en cualquier sistema operativo basado en UNIX, incluyendo Linux, BSD y MacOS X. Fue diseñada en torno a los siguientes tres requerimientos básicos: Debe ser rápido, incluso en CPUs lentos Debe ejecutarse en sistemas con poca memoria Debe ejecutarse de forma eficiente en cuanto a energía Dalvik no puede interpretar bytecodes (código de bytes) de Java, que es lo que se obtiene al compilar un programa en Java usando javac. En vez de ello, Dalvik usa un lenguaje de bytecodes

12 personalizado, que usa eficientemente la memoria, y al que deben convertirse los archivos.class producidos por el compilador de Java. El formato de bytecode difiere de los bytecodes del Java estándar de varias maneras: El código no se reparte en múltiples archivos.class, sino que se coloca en un solo archivo.dex (abreviación de Dalvik EXecutable, ejecutable de Dalvik), lo cual reduce la duplicación de estructuras de datos internas y reduce significativamente el tamaño del archivo Dalvik es una máquina virtual basada en registros y no en pila como la JVM del Java estándar. Esto implica que el conjunto de instrucciones es más complicado (más instrucciones) pero al mismo tiempo puede realizar las mismas tareas con menos código, resultando en un tamaño de código más pequeño y por tanto en un consumo de energía más bajo y con menor consumo de memoria RAM. DESARROLLO DE APLICACIONES NATIVAS Si bien la mayoría de las aplicaciones en Android son desarrolladas en Java, es posible implementar partes de una aplicación en C/C++, lo cual resulta en una mejora del rendimiento. Para hacer este tipo de aplicaciones, se requiere del Native Development Kit (NDK). Solo es recomendable usar el NDK para desarrollar aplicaciones que hagan un uso intensivo del CPU tales como motores de videojuegos, procesamiento de señales o simulación de experimentos físicos, ya que incrementa la complejidad de sus aplicaciones. ARQUITECTURA DE UNA APLICACIÓN ANDROID Las herramientas del SDK de Android compilan su programa y colocan el código compilado junto con sus archivos de recursos en un archivo APK (Android PacKage File). El proceso de compilación de una aplicación Android se muestra en la siguiente figura:

13 Un APK es un archivo con extensión.apk, el cual es usado para instalar la aplicación en un dispositivo Android. Una vez instalada una aplicación en un dispositivo, esta se encuentra rodeada por su propia caja de seguridad (security sandbox): El sistema operativo Android es un sistema Linux multiusuario en el cual cada aplicación es considerada como un usuario diferente Por default, el sistema asigna a cada aplicación un ID único de usuario (desconocido para la aplicación) y le asigna permisos a todos los archivos de la aplicación para que sólo la aplicación en cuestión pueda accederlos Cada proceso tiene su propia máquina virtual Dalvik, de tal forma que el código es ejecutado de manera aislada a las demás aplicaciones. Cada aplicación se ejecuta como un proceso Linux. Android inicia el proceso cuando se requiere algún componente de la aplicación y se termina cuando ya no es necesario o se requiere memoria para otras aplicaciones COMPONENTES DE UNA APLICACIÓN ANDROID Los componentes son los bloques constructores de una aplicación en Android. Cada componente es un punto a través del cual el sistema puede entrar a su aplicación: 1. Activities. Representa una sola pantalla con una interface de usuario. Se implementa como una clase que hereda de la clase Activity. Las interfaces de usuario se crear usando objetos que hereda de la clase View. 2. Servicios (Services). Componente que se ejecuta en segundo plano (background) para realizar operaciones que tomarán mucho tiempo o para realizar trabajo para un proceso remoto. No proporciona interface de usuario. Se implementa como una clase que hereda de la clase Service

14 3. Proveedores de Contenido (Content Providers). Administra un conjunto compartido de datos. Los datos se pueden almacenar en archivos, una base de datos SQLite o en la web. Se implementa como una clase que hereda de la clase ContentProvider. 4. Receptores de broadcasts (Broadcast Receivers). Componente que responden a anuncios hechos por el sistema (batería baja, llego un mensaje, etc.). Normalmente no tienen interface de usuario pero pueden usar la barra de notificaciones para alertar al usuario cuando un evento ha sucedido. Se implementa como una clase que hereda de la clase BroadcastReceiver. Un aspecto único del diseño del sistema Android es que permite a cualquier aplicación iniciar un componente de otra aplicación, por ejemplo, para sacar una foto con la cámara del dispositivo, o para navegar en una página de Internet. Para activar un componente de tipo servicio, activity o broadcast receiver se usa un mensaje asíncrono denominado intent. Los intents unen componentes individuales entre sí en tiempo de ejecución (los puede ver como mensajeros que solicitan una acción a otros componentes), ya sea que esos otros componentes sean parte de la misma aplicación o de otra totalmente ajena. Un intent es creado a través de objeto de clase Intent, que define un mensaje para activar ya sea un componente específico (intent explícito) o de un tipo específico de componente (intent implícito). ARCHIVO MANIFESTO Toda aplicación Android contiene un archivo manifiesto, este archivo (AndroidManifest.xml) describe los componentes que contiene una aplicación, debe estar en la raíz del directorio del proyecto Permisos requeridos por la aplicación API mínima necesaria para que la aplicación funcione Características de hardware usadas o requeridas por la aplicación Librerías que la aplicación necesita sean enlazadas (por ejemplo Google Maps) Entre otras cosas RECURSOS DE LA APLICACIÓN Una aplicación Android se compone de más que código. Puede contener recursos tales como audios, videos, imágenes y cualquier otra cosa relativa a la presentación visual de la app (menús, estilos, colores, layouts). Estos últimos están representados con archivos XML. Al usar recursos es más fácil actualizar las características de la app sin necesidad de modificar código aparte de permitir una fácil internacionalización o regionalización (localization).

15 UNIDAD 2. HERRAMIENTAS DE DESARROLLO La herramienta más utilizada para el desarrollo de aplicaciones Android consiste en un conjunto de componentes de software que son el Java Development Kit (JDK), el ambiente integrado de desarrollo Eclipse, el SDK de Android y un plugin de Eclipse para que sea posible crear fácilmente aplicaciones Android en el Eclipse y qué este último pueda comunicarse con el SDK de Android. Todos estos componentes excepto el primero se encuentran en un solo paquete denominado Android Developer Tools (ADT) Bundle, por lo cual sólo es necesario bajar el JDK 7 y el ADT Bundle (que contiene todos los restantes elementos necesarios para desarrollar aplicaciones Android). NOTA: Recientemente Google liberó el Android Studio que ha reemplazado al Eclipse como herramienta de desarrollo para Android. INSTRUCCIONES DE INSTALACIÓN 1. Baje el Java Development Kit (JDK) a la siguiente dirección de Internet (seleccione la versión 7 más actualizada correspondiente a su sistema operativo) 2. Ejecute el archivo bajado en el paso anterior, el cual instalará el JDK en su computadora. 3. Baje el ADT Bundle entrando a la siguiente dirección de Internet

16 4. Desempaque el archivo bajado en el paso anterior en la ubicación que usted desee (para efectos de los pasos siguientes se asumirá que se desempaca en C:\ADT). C:\ADT contendrá dos subcarpetas (eclipse y sdk) y un archivo ejecutable de nombre SDK Manager. eclipse contiene el ambiente integrado de desarrollo (IDE) que estaremos usando para desarrollar nuestras aplicaciones Android. sdk contiene los archivos que componen al SDK (Software Development Kit) de Android. El SDK instalado contendrá sólo el nivel de API más reciente, si no desea instalar ninguna otro nivel de API sáltese el paso siguiente. 5. Ejecute el programa SDK Manager y seleccione las APIs extra que desee instalar (se sugiere instalar la más reciente, la más común en los dispositivos y la que tengan los dispositivos físicos Android que posea (en caso de poseer alguno)

17 6. Ejecute el programa eclipse que se encuentra dentro de la carpeta eclipse y actualice seleccionando la opción Check for Updates del menú Help. NOTA: Cuando entre a Eclipse le pedirá indicar la ubicación del Workspace, que es la carpeta donde se estarán creando sus proyectos, seleccione la ubicación que a usted convenga. ANDROID VIRTUAL DEVICES Una vez instalado el software para desarrollar aplicaciones Android, el siguiente paso es crear un emulador o Dispositivo Virtual de Android (AVD por sus siglas en inglés). Un AVD permite simular el software y el hardware disponible en varios dispositivos físicos. Esto le permite probar las aplicaciones desarrolladas en varias plataformas de hardware sin necesidad de tener un dispositivo Android físico de cada tipo. Para crear un AVD se utiliza el Android Virtual Device Manager, el cual se ejecuta seleccionando la opción correspondiente en el menú Window de Eclipse.

18 Al seleccionar el Android Virtual Device Manager se abrirá una ventana como la que sigue donde daremos click en Create Aparece después la siguiente ventana donde le daremos nombre a nuestro AVD y podremos definir las características del emulador a crear, entre las cuales están el tipo de dispositivo (se incluyen varios predefinidos y se pueden definir nuevos), el nivel de API que se emulará, tipo de CPU, el skin (controles del dispositivo a emular), si tiene teclado, si tiene cámara frontal y/o trasera, cantidad de memoria RAM, espacio de disco interno y externo (SD Card).

19 Cuando se desarrollan aplicaciones Android es recomendable crear varios AVD con diferentes características tales como tamaños diferentes de pantalla o resoluciones diferentes para probar como se ve nuestra aplicación en diferentes tipos de dispositivos o en diferentes niveles de API. Una vez creado por lo menos un AVD estaremos listos para desarrollar aplicaciones Android y probarlas, pero antes de pasar a crear nuestra primera aplicación, mencionaremos unos detalles más sobre el SDK de Android. HERRAMIENTAS DEL SDK Y SUS COMPONENTES El SDK de Android viene equipado con varias herramientas y utilidades que le permite crear, probar y depurar sus aplicaciones Android. Estas herramientas son utilizadas de manera automática por el IDE Eclipse al momento de desarrollar nuestras aplicaciones Android, aunque se pueden usar las herramientas de manera manual desde la línea de comandos. Las herramientas están ubicadas en la subcarpeta sdk/tools y sdk/platform-tools del lugar donde desempacó el ADT Bundle. En la siguiente tabla se muestran algunas de estas herramientas:

20 Herramienta aapt dx adb ddms emulator sqlite3 proguard lint mksdcard Descripción Android Asset Packaging Tool Usada para compilar los archivos de recursos en archivos binarios y empacarlos en un archivo APK Usada para leer archivos.class y transformarlos en bytecodes de Android (almacenados en archivos.dex) Android Debug Bridge Una aplicación cliente/servidor usada para interactuar con y administrar los dispositivos y emuladores. Tiene varios subcomandos. Dalvik Debug Monitor Service Usado para depurar e inspeccionar las aplicaciones Android al momento de ejecutarse. Proporciona una interface para registrar datos en bitácoras (logging), estadísticas de memoria, estadísticas de hilos, información de estado y más. También es usada para simular llamadas, recepción de mensajes SMS e insertar datos de ubicación geográfica a un dispositivo o emulador. Eclipse usa esta herramienta a través de la perspectiva DDMS. Emulador de dispositivo Android, permite probar y depurar las aplicaciones Android. Es una implementación de la máquina virtual Dalvik. Proporciona conectividad en red. Para ejecutar este comando es necesario primero crear un AVD. Usado para explorar e interactuar con bases de datos SQLite Herramienta para reducir y ofuscar el código al reemplazar los nombres de clases, variables y métodos con alternativas que no dan idea del nombre original. Esto es útil para hacer que sea más difícil que le hagan ingeniería inversa a su código. Herramienta que analiza su aplicación y recursos para sugerir mejoras y optimizaciones. Crea una imagen de una memoria SD para usarse por el emulador para simular una tarjeta de almacenamiento externo.

21 EJERCICIOS 1. Crear un AVD de nombre MiAVD con las siguientes características: a. Dispositivo (Device) de tipo 4.7 WXGA b. API Destino (Target): La versión más reciente, que es la 5.0 o la más reciente que tenga instalada c. Tipo de procesador (CPU/ABI): ARM (armeabi-v7a) d. Seleccione que si tiene teclado (Hardware keyboard present) e. En Controles (Skin) seleccione WVGA800 f. El resto de las opciones déjelas en sus valores por default

22 UNIDAD 3. FUNDAMENTOS DE UNA APLICACIÓN ANDROID Previo a ver a detalle de que está compuesta una aplicación Android haremos nuestra primera aplicación simple usando Eclipse. PRIMERA APLICACIÓN EN ANDROID Nuestra primera aplicación Android contendrá una etiqueta con el texto Hello World. Para ello seguiremos los siguientes pasos: 1. Abra el eclipse 2. Seleccione el menú File > New > Android Application Project 3. En el cuadro de diálogo que aparece, se pide el nombre de la aplicación, nombre del proyecto (que por default se pone igual al nombre de la aplicación pero sin espacios) y el paquete al que pertenecerán las clases que componen a esta aplicación (es recomendable usar una estructura similar al de un nombre de dominio que represente a la empresa o persona desarrolladora pero en orden inverso). Ponga los datos que aparecen a continuación y de click en Next >

23 4. En el siguiente cuadro de diálogo se pregunta si se quiere crear un ícono y una activity (más adelante que es esto). Deje las opciones por default y dé click en Next > 5. En el siguiente cuadro de diálogo se configuran las opciones del ícono a utilizar para la aplicación, deje los valores por default y dé click en Next > 6. En el siguiente cuadro de diálogo se selecciona el tipo de Activity a crear, deje seleccionada la opción Create Activity, seleccione Empty Activity y dé click en Next >

24 7. En el último cuadro de diálogo se pide el nombre de la Activity a crear y el nombre del layout (que también más adelante veremos que es), deje los valores por default y dé click en Finish.

25 8. Una vez creada la aplicación se mostrará en el panel izquierdo de Eclipse la estructura de la aplicación, se abrirá el archivo activity_main.xml, el cual contiene la organización de los componentes gráficos a mostrar, de la cual se verá una vista previa en la parte central del Eclipse. En la parte derecha estará se mostrará la estructura jerárquica de los componentes gráficos y en la parte inferior estará la salida generada por el compilador. 9. Para ejecutar la aplicación dé click con el botón derecho en el nombre del proyecto en el panel izquierdo y seleccione Run As > Android Application

26 10. Como es la primera vez que ejecutamos una aplicación Android tomará un tiempo en cargarse el AVD en el cual se instalará la aplicación y se ejecutará. Inicialmente se abrirá el emulador, el cual tardará unos minutos en cargar el sistema operativo, viéndose como se muestra a continuación:

27 11. Una vez finalizada la carga del sistema operativo en el emulador, se instalará el APK de la aplicación desarrollada en el emulador y se mostrará una pantalla como la siguiente: 12. Hemos desarrollado y ejecutado con éxito nuestra primera aplicación, ahora veamos con detalle cada uno de los elementos que componen a nuestra primera aplicación. NOTA IMPORTANTE: No cierre el emulador pues de hacerlo al ejecutar otra aplicación o hacerle cambios se tendría que volver a cargar el emulador tomando nuevamente mucho tiempo. ELEMENTOS DE UNA APLICACIÓN ANDROID Una vez realizada nuestra primera aplicación Android, la revisaremos ahora con mayor detalle para entender mejor cada uno de los elementos que componente a una aplicación Android. En la siguiente figura, se muestra la estructura de directorios que tiene nuestra aplicación, la cual es la misma estructura general en todas las aplicaciones Android:

28 Carpeta con el código fuente de las clases de nuestra aplicación, organizado en paquetes Carpeta con el código generado automáticamente por el SDK de Android, de particular interés es la clase R, que contiene referencias a todos los recursos de nuestra aplicación Carpeta con archivos estáticos que use nuestra aplicación, como archivos HTML o archivos de texto Carpeta donde se colocan los archivos compilados de nuestra aplicación Carpeta que contiene todos los recursos de nuestra aplicación (strings, dimensiones, colores, imágenes, videos, audios) Subcarpetas drawable que contiene las imágenes usadas por nuestra aplicación en diferentes resoluciones Subcarpeta que contiene archivos XML denominados archivos de layout que describen la organización de los elementos visuales de las interfaces de usuario Subcarpeta que contiene archivos XML con los valores simples usadas en nuestra aplicación (strings, colores, dimensiones, arreglos) Archivo manifiesto que describe la estructura y metadatos de la aplicación (permisos requeridos, activities, servicios, iconos usados, etc.) Otra subcarpeta de res no incluida en este proyecto es raw, que es donde irían los audios y videos utilizados por nuestra aplicación ARCHIVO MANIFIESTO ANDROIDMANIFEST.XML El archivo AndroidManifest.xml describe la estructura y metadatos de nuestro proyecto de Android, es un archivo XML con etiquetas especiales que indican las Activities, permisos, intents y otros aspectos de nuestra aplicación. A continuación se muestra el contenido del archivo de nuestra primera aplicación: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.ejemplo.miprimeraplicacion" Etiqueta raíz con atributos para especificar el paquete y versión de nuestra aplicación

29 android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="21" android:targetsdkversion="21" /> <application android:allowbackup="true" > <activity android:name=".mainactivity" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name= "android.intent.category.launcher" /> </intent-filter> </activity> </application> </manifest> Etiqueta para indicar en nivel mínimo y máximo que se debe tener para que la aplicación funcione, así como la versión usada para compilar Etiqueta para especificar título, icono y tema de la aplicación. Contiene a su vez una subetiqueta activity por cada activity que componga la aplicación Etiqueta para especificar nombre y titulo de cada activity Etiqueta para describir los tipos de intents que se pueden usar para iniciar la Activity, en este caso, la acción android.intent.action.main y la categoría android.intent.category.launcher especifican que es la activity inicial de nuestra aplicación. RECURSOS DE LA APLICACIÓN En la carpeta res, se encuentran los diferentes recursos que nuestra primera aplicación utiliza, que en nuestro caso son los valores simples (strings.xml), layouts (activity_main.xml) e imágenes usadas para los íconos. RECURSOS DE VALORES SIMPLES En la subcarpeta values de res, tenemos un conjunto de archivos XML que definen valores simples tales como strings, colores, dimensiones, estilos o arreglos de strings o enteros. En el caso de esta aplicación tenemos dos archivos, strings.xml (el nombre por default para un archivo que almacena strings), y styles.xml el nombre por default para un archivo que almacena estilos). El contenido de strings.xml es el siguiente: <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">mi Primer Aplicacion</string> <string name="hello_world">hello world!</string> </resources> Podemos ver que la etiqueta raíz de este archivo (y de todos los archivos XML de esta subcarpeta) es resources, y dentro de esta tenemos dos etiquetas string, que describen un string particular cuyo nombre está dado por el atributo name, y su valor por lo que está contenido entre la etiqueta de apertura y de cierre.

30 RECURSOS DE LAYOUT En la subcarpeta layout de res, tenemos un conjunto de archivos XML que definen los layouts de nuestra aplicación. Un layout es un archivo XML que describe la organización que tendrán los diferentes componentes visuales de nuestras interfaces de usuario. En nuestro caso, sólo hay una interface de usuario y por tanto hay un solo archivo de layout, activity_main.xml, cuyo contenido se muestra a continuación: <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="${relativepackage}.${activityclass}" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout> En este archivo se puede ver que se está usando una forma de organización de nombre RelativeLayout, donde los componentes se colocan en relación a otros componentes (más adelante veremos más detalles sobre los tipos de layout más importantes) y el único componente que contiene este layout es una etiqueta, que en Android es representada por un objeto de tipo TextView. Tanto al layout como al TextView se le están dando dos atributos, el ancho (android:layout_width) y el alto (android:layout_height) usando dos constantes predefinidas. match_parent significa que el ancho o alto correspondiente será igual al ancho o alto del contenedor. wrap_content significa que el ancho o alto del componente será el necesario para ajustarse al contenido de tal componente. Por tanto, el RelativeLayout tendrá un ancho y alto igual al de su contenedor (que por ser el primer elemento en el layout, el contenedor es la pantalla del dispositivo) y el TextView tendrá un ancho igual al de su contenedor (el RelativeLayout) y de alto, solo lo que se requiera para el texto que contenga. El contenido del TextView está dado por su atributo android:text, cuyo valor es "@string/hello_world", lo cual significa que tomará el contenido del string de nombre hello_world, definido en algún otro archivo XML contenido en la carpeta res (en este caso en el archivo strings.xml. RECURSOS DE IMÁGENES Todas las imágenes estarán contenidas en las subcarpetas que comienzan con el texto drawable (dentro de la carpeta res). Se recomienda tener una carpeta drawable para cada posible diferente resolución en la que queramos que nuestra aplicación funcione, dado que las aplicaciones Android no se hacen para una resolución y/o tamaño de pantalla en particular, sino más bien el sistema operativo Android utiliza la imagen más adecuada según la resolución que se tenga (la terminación de las carpetas drawable indican la resolución, hdpi es por alta resolución, mdpi es por media resolución, ldpi es por baja resolución, etc.). En el caso de nuestra

31 aplicación, tenemos una sola imagen (ic_launcher.png), pero guardada en diferentes resoluciones en las carpetas correspondientes (con el mismo nombre de archivo). CÓDIGO FUENTE DE LA APLICACIÓN El código fuente está ubicado en la carpeta src, la cual está organizada en paquetes, y dentro de cada paquete estarán un conjunto de clases java. En nuestro caso, tenemos un solo paquete (com.ejemplo.miprimeraplicacion), el cual contiene una sola clase, MainActivity.java, la cual se muestra a continuación: package com.ejemplo.miprimeraplicacion; import android.app.activity; import android.os.bundle; import android.view.menu; import android.view.menuitem; public class MainActivity extends Activity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); } Nuestra única clase hereda de la clase Activity, que como ya se mencionó anteriormente, se encarga de administrar lo que se muestra en una pantalla de interface de usuario. El punto de partida de nuestra aplicación es el método oncreate (más detalles más adelante), que lo que único que hace es llamar al método oncreate de la clase padre y al método setcontentview para mostrar el contenido del layout definido en el archivo XML activity_main.xml (al cual podemos referencias gracias a una clase que es generada de manera automática, la clase R) CLASE R GENERADA AUTOMÁTICAMENTE La clase R es generada de manera automática y contiene variables que permiten referenciar a todos los recursos que hayamos colocados en nuestro proyecto (strings, layouts, colores, dimensiones, etc.). La clase R es colocada en la carpeta gen y su contenido se muestra a continuación: /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.ejemplo.miprimeraplicacion;

32 public final class R { public static final class attr { } public static final class drawable { public static final int ic_launcher=0x7f020000; } public static final class layout { public static final int activity_main=0x7f030000; } public static final class string { public static final int app_name=0x7f040000; public static final int hello_world=0x7f040001; } public static final class style { public static final int AppBaseTheme=0x7f050000; public static final int AppTheme=0x7f050001; } } Como podemos ver, la clase R agrupa los diferentes tipos de recursos en clases internas (attr, drawable, layout, string, style, etc.) y dentro de cada clase interna hay una constante entera por cada recurso de ese tipo y el nombre de tal constante es el nombre dado al string, color, estilo, dimensión o arreglo. En el caso de los layouts e imágenes, el nombre es igual al nombre del archivo correspondiente sin extensión. Al existir esta clase, en nuestro código podemos referenciar a algún recurso usando la constante correspondiente y a través del método adecuado para lo que deseamos lograr, por ejemplo, en el método oncreate de la clase MainActivity, usamos el método setcontentview para establecer el layout a mostrar, y le pasamos la constante correspondiente al layout (en el ejemplo, R.layout.activity_main). INTERFACE DE USUARIO Como se puede ver en nuestra primera aplicación, la forma más común (y adecuada en la mayoría de los casos) de crear una interface de usuario, es a través de un archivo XML de layout, en este archivo habrá una etiqueta por cada elemento que se desee mostrar en la interface de usuario. Estos elementos son objetos que derivan de la clase View, y dependiendo del elemento que se trate tendrá diferentes atributos, aunque algunos atributos son comunes a todos los elementos (como layout_width y layout_height). Los elementos visuales pudieran considerarse como elementos simples tales como lo son TextView, EditText, Button ó ImageView o como contenedores (que derivan de la clase ViewGroup, subclase de View), tales como LinearLayout, RelativeLayout o TableLayout, los cuales permiten agrupar varios elementos dentro de sí.

33 JERARQUÍA DE CLASES VIEW La siguiente figura muestra parte de la jerarquía de clases relacionada con los elementos visuales que pueden estar contenidos en una interface de usuario: ATRIBUTOS COMUNES DE LOS OBJETOS VIEW Los atributos más comúnmente utilizados y que aplican para prácticamente todos los elementos son los siguientes: Nombre android:layout_width android:layout_height Descripción Especifica el ancho del elemento, se puede especificar alguna de las constantes predefinidas (match_parent y wrap_content) o un valor específico Especifica el alto del elemento, se puede especificar alguna de las constantes predefinidas (match_parent y wrap_content) o un valor específico con las unidades deseadas (ver al final de la tabla las posibles unidades)

34 android:layout_gravity android:gravity android:layout_marginbottom, android:layout_margintop, android:layout_marginleft, android:layout_marginright android:paddingbottom, android:paddingtop, android:paddingleft, android:paddingright android:id android:background android:textcolor Especifica como el elemento estará alineado dentro de su contenedor Especifica como el contenido del elemento estará alineado. Los posibles valores para este y el anterior atributos son: top, bottom, left, right, center_vertical, center_horizontal, center, fill_vertical, fill_horizontal, fill, clip_vertical, clip_horizontal Especifican los márgenes del elemento (espacio alrededor del elemento) con las unidades deseadas Especifican el espacio de relleno del elemento (espacio entre el borde del elemento y su contenido) con las unidades deseadas Especifica un identificar a ser asignado al elemento, se usa si se requiere poder referirse a algún elemento en el código Java y en los RelativeLayout para indicar con respecto a cuál elemento se colocará algún otro. Para asignar un nuevo id el valor a usar donde nombre_identificador es el identificador que se le desea asignar al elemento. Especifica el color de fondo, se puede hacer referencia a algún color definido en algún archivo XML de valores simples ("@color/nombre_color"), o bien, directamente usando alguno de los formato comúnes ("#rrggbb", "#aarrggbb", donde rr es el valor hexadecimal para rojo, gg es el valor hexadecimal para verde, bb es el valor hexadecimal para azul y aa es el valor hexadecimal de alfa o transparencia) Especifica el color del texto, se usan las mismas reglas que para el color de fondo Para indicar valores específicos a usar para el ancho, alto, márgenes y relleno, las unidades son las siguientes (los valores pueden ser negativos):

35 Unidad dp sp px in mm Significado Pixeles independientes de la densidad (se escalan automáticamente de acuerdo a la resolución de la pantalla) Pixeles escalados (se escalan en base al tamaño preferente del tipo de letra) pixeles pulgadas Milímetros LAYOUTS MÁS COMUNES En lo que respecta a los contenedores, los más comúnmente utilizados son los siguientes: Nombre LinearLayout Descripción Permite colocar componentes en un solo renglón o en una sola columna. Se pueden anidar permitiendo tener renglones dentro de columnas, etc. Atributos específicos a LinearLayout: Nombre Descripción android:orientation Determina si será un renglón (horizontal), o una columna (vertical). Por default, es horizontal Si se tiene un LinearLayout con varios componentes y se desea asignarles a cada uno un espacio proporcional se puede indicar utilizando el atributo layout_weight, el cual le da un peso a cada elemento (ya sea en términos de ancho o de alto), que resulta en asignarle un valor proporcional al peso asignado con respecto al peso total (para mayores detalles ver ejemplo de Layouts en la sección de ejercicios). Se recomiendo hacer que la suma de los pesos sea 100 para que se entienda cada peso como el porcentaje que le toca ocupar del ancho o alto. Para indicar que es del ancho, a layout_width se le daría un valor de 0dp y para indicar que es de alto, a layout_height se le daría un valor de 0dp RelativeLayout Permite posicionar los elementos contenidos en el layout con respecto a otros elementos, para ello será necesario asignarles un id a los elementos con respecto a los cuales se desean colocar los otros elementos. Los atributos que se usaría en los elementos a colocar dentro de un RelativeLayout serían los siguientes:

36 Nombre android:layout_alignparentbottom, android:layout_alignparenttop, android:layout_alignparentleft, android:layout_alignparentright, android:layout_centerinparent, android:layout_centerhorizontalinparent, android:layout_centerverticalinparent android:layout_alignbottom, android:layout_aligntop, android:layout_alignleft, android:layout_alignright android:layout_toleftof, Eandroid:layout_toRightOf, android:layout_above, android:layout_below Descripción Determina si el elemento estará en la parte inferior, superior, izquierda o derecha del contenedor, todos estos atributos toman el valor true o false Determina si el elemento estará en centrado en ambos ejes, centrado horizontalmente, o centrado verticalmente dentro del contenedor, todos estos atributos toman el valor true o false Determina si el elemento estará en alineado con la parte inferior, superior, izquierda o derecha de otro elemento, todos estos atributos toman el donde nombre_identificador es el identificador del elemento con respecto al cual se desea alinear el elemento actual Determina si el elemento a la izquierda de, a la derecha de, encima o debajo otro elemento, todos estos atributos toman el donde nombre_identificador es el identificador del elemento con respecto al cual se desea colocar el elemento

37 actual Para mayores detalles, vea el ejemplo de Layouts en la sección de ejercicios. TableLayout Permite colocar los elementos en una retícula sin bordes. Al igual que en las tablas de HTML, el número de renglones y columnas de la retícula se determina de manera automática de acuerdo al contenido, no se específica de manera explícita. Los componentes dentro de un TableLayout se organizan en renglones que se especifican con etiquetas TableRow. Los atributos para los elementos dentro de un TableRow son los siguientes: Nombre Descripción android:layout_column Normalmente, los elementos son colocados de izquierda a derecha, si se usa este atributo se puede indicar en que específica columna se desea colocar al elemento actual, la primer columna es la 0 android:layout_span El valor asignado a este atributo indica la cantidad de columnas a ser ocupadas por el elemento actual Los atributos para los elementos dentro de un TableLayout son los siguientes: Nombre android:stretchcolumns android:shrinkcolumns Descripción El valor asignado a este atributo indica cuales columnas se harán más anchas en caso de que la tabla sea de menos ancho que el contenedor, el valor asignado es uno solo o varios separados por coma El valor asignado a este atributo indica cuales columnas se harán más delgadas en caso de que la tabla sea de más ancho que el contenedor, el valor asignado es uno solo o varios separados por coma android:collapsecolumns El valor asignado a este atributo indica cuales columnas se harán invisibles, el valor asignado es uno solo o varios separados por

38 coma Para más detalles, vea el ejemplo de Layouts en la sección de ejercicios. VIEWS MÁS COMUNES En la siguiente tabla, se lista algunos de los objetos View más utilizados: Nombre TextView Descripción Despliega texto al usuario y opcionalmente permite editarlo. Atributos importantes (para TextView y subclases de TextView): Nombre android:text Descripción Texto a mostrar, puede indicarse de manera fija entre comillas o hacer referencia a un string definido en algún archivo XML ) android:textsize Indica el tamaño del texto. La unidad sugerida a usar es sp, por ejemplo 12sp. También se puede referir a una dimensión definida en algún archivo XML ) EditText Despliega texto al usuario que se puede editar. Atributos importantes: Nombre Descripción android:inputtype Determina que típo de entrada aceptará el EditText, algunos de los posibles valores (entre comillas) son: textcapwords, textautocorrect, textautocomplete, texturi, text address, textpersonname, textpassword, number, phone, datetime, date, time ImageView Despliega una imagen. Atributos importantes (para ImageView y subclases): Nombre android:src Descripción Establece la imagen o color a mostrar, en caso de ser una imagen se referencia a una imagen tomada

39 de los recursos en en caso de ser un color se referencia en alguno de los formatos mencionados anteriormente cuando se hablo del atributo android:background android:scaletype Controla como la imagen será cambiada de tamaño, algunos de los valores pueden ser (entre comillas): fitxy, center, centercrop Button Despliega un botón con texto. Atributos importantes (para Button y subclases): Nombre android:onclick Descripción Indica el nombre del método a ejecutarse al darle click al botón, el método debería estar ubicado en la Activity que muestra el layout, debe ser public, regresar void y recibir un objeto View (que representa al objeto al cual se le da click). Este formato se debe a que esa es la estructura que tiene el manejador de eventos de click ImageButton Despliega un botón con una imagen. Un ImageButton tiene tres estados: normal, en foco y presionado. En caso de indicar una referencia a una imagen se usará la misma para los tres estados cambiándose el color del fondo para cada uno de los tres estados por lo cual es importante que la imagen usada tenga pixeles transparentes. También es posible indicar el nombre de un archivo XML que contiene una referencia a las imágenes individuales a usarse en cada estado, tal archivo XML deberá estar ubicado en /res/drawable Atributos importantes: Nombre android:onclick android:src Descripción Indica el nombre del método a ejecutarse al darle click al botón, el método debería estar ubicado en la Activity que muestra el layout, debe ser public, regresar void y recibir un objeto View (que representa al objeto al cual se le da click). Este formato se debe a que esa es la estructura que tiene el manejador de eventos de click Establece la imagen a mostrar, se referencia donde

40 nombre_archivo es el nombre de la imagen o del archivo XML a usar RadioButton CheckBox ToggleButton Despliega un botón con texto que permite seleccionar una opción entre varias alternativas. Para que solo un RadioButton sea seleccionado, todos los Radio Buttons que representan las opciones deben estar contenidos en un RadioGroup, el cual es similar a un LinearLayout excepto que solo puede contener RadioButtons Despliega un botón con dos estados (seleccionado y deseleccionado), el estado se muestra visualmente con un indicador. El texto que contiene es el mismo en ambos estados Despliega un botón con dos estados (seleccionado y deseleccionado), el estado se muestra visualmente con un indicador. El texto que contiene es diferente en los dos estados, por default es ON y OFF respectivamente (cuando el dispositivo o emulador está configurado en inglés) Atributos importantes: Nombre android:texton Descripción Texto a mostrar cuando el botón está seleccionado, puede indicarse de manera fija entre comillas o hacer referencia a un string definido en algún archivo XML ) android:textoff Texto a mostrar cuando el botón está deseleccionado, puede indicarse de manera fija entre comillas o hacer referencia a un string definido en algún archivo XML ) Spinner Representa una lista de opciones (de la cual está visible una y al darle click en la flechita a la derecha se muestran las restantes opciones). Siempre tiene seleccionada una opción. Atributos importantes: Nombre android:prompt Descripción Título a mostrar cuando el spinner es abierto para mostrar todas las opciones, puede indicarse de manera fija entre comillas o hacer referencia a un string definido en algún archivo XML )

41 android:entries Hace referencia a un arreglo de opciones el cual está definido en algún archivo XML de los recursos de la aplicación, se referencia Para mayores detalles de cómo se usan estos elementos, vea los ejemplos de Layouts y Widgets en la sección de Ejercicios. MANEJO DE EVENTOS EN ANDROID Los eventos en Android pueden tomar una variedad de diferentes formas, pero son usualmente generados en respuesta a una acción externa. La forma más común de eventos, particularmente para dispositivos tales como tablets y smartphones, involucra alguna forma de interacción con la pantalla touch. Tales eventos caen dentro de la categoría de eventos de entrada. El framework de Android mantiene una cola de eventos en la que los eventos son colocados conforme ocurren. Los eventos son entonces removidos de la cola en un orden FIFO (first-in, first-out). En el caso de un evento tal como tocar la pantalla, el evento es pasado al View posicionado en la ubicación donde se tocó la pantalla. Además de la notificación del evento, al objeto View también se le pasa un conjunto de información (que depende del tipo de evento) sobre la naturaleza del evento tal como las coordenadas del punto de contacto entre el dedo del usuario y la pantalla. Para poder ser capaces de manejar el evento que ha sido pasado, el objeto View debe tener asociado un manejador o escuchador de eventos (event listener). La clase View de Android, de la cual todos los componentes de la interface de usuario heredan, contiene un amplio rango de interfaces de escuchadores de eventos, cada uno de los cuales contiene una declaración abstracta de uno o varios métodos callback (que serán llamados de manerá asíncrona al darse el evento de interés). Para responder a un evento de un tipo particular, el objeto View debe registrar el escuchador de eventos apropiado e implementar los correspondientes métodos callback. Por ejemplo, su un botón debe responder al evento de darle click (el equivalente a que el usuario toque y liberé el objeto View del botón como si estuviera dando click en un botón físico) debe registrar el escuchador de evento View.onClickListener (via una llamada al método setonclicklistener() del objeto View) e implementar el correspondiente método callback onclick(). En el evento de que un click sea detectado en la pantalla en la ubicación del View del botón, el framework de Android llamará al método onclick() de ese View cuando el evento es eliminado de la cola de eventos. Es dentro de la implementación del método onclick() que se realizarán las tareas deseadas en respuesta al evento. Algunos de los escuchadores de eventos disponibles en el framework de Android son los siguientes: onclicklistener Usado para detectar eventos estilo click donde el usuario toca y libera un área de la pantalla del dispositivo ocupada por un objeto View. Contiene al método onclick() al cual se le pasa como argumento una referencia al objeto View que recibió el evento.

42 onlongclicklistener Usado para detectar cuando el usuario mantiene presionado un View por un período extenso de tiempo. Contiene el método onlongclick()al cual se le pasa como argumento una referencia al objeto View que recibió el evento. onkeylistener Usado para detectar cuando una tecla del dispositivo ha sido presionada mientras el objeto View tiene el foco. Contiene el método onkey() al cual se le pasa como argumento una referencia al objeto View que recibió el evento, el códigodetecla de la tecla física que fue presionada y un objeto de clase KeyEvent. Para mayores detalles de cómo se manejan los eventos, vea los ejemplos de Eventos1 y Eventos2 en la sección de Ejercicios. PROCESOS Y CICLO DE VIDA DE UNA ACTIVITY A diferencia de muchas plataformas de aplicaciones tradicionales, las aplicaciones Android tienen un control limitado sobre sus propios ciclos de vida. En vez de ello, los componentes de la aplicación deben estar atentos a cambios en el estado de la aplicación y reaccionar adecuadamente, teniendo un particular cuidado de estar preparada para una terminación inesperada. Por default, cada aplicación Android es ejecutada en su propio proceso, y cada uno de ellos es ejecutado con una instancia separada de Dalvik. La administración de la memoria y de los procesos es manejada exclusivamente por el ambiente de ejecución. Android maneja agresivamente sus recursos, haciendo lo que sea necesario para asegurar una experiencia de usuario estable. En la práctica esto significa que los procesos (y las aplicaciones contenidas en ellos) serán eliminados, en algunos casos sin ningún aviso, con el propósito de liberar recursos para aplicaciones de mayor prioridad. PRIORIDAD DE LOS PROCESOS El orden en que los procesos son eliminados para recuperar recursos es determinado por la prioridad de las aplicaciones que contienen. La prioridad de una aplicación es igual a la de su componente de mayor prioridad. Si dos aplicaciones tienen la misma prioridad, el proceso que ha estado ejecutándose más tiempo es eliminado primero. La siguiente figura muestra el árbol de prioridad usado para determinar el orden de terminación de aplicaciones. Un proceso activo es una Activity está en primer plano y respondiendo a eventos de usuario o un Service que están manejando ciertos eventos o un Broadcast Receiver que está ejecutando un evento en particular. Un proceso visible es una activity que está parcialmente ocultada por otra Activity y por tanto no está respondiendo a eventos

43 Un proceso de servicio iniciado es un proceso que contiene un servicio que ha sido iniciado. donde debido a que un Service no interactúa directamente con el usuario recibe una prioridad menor Un proceso en segundo plano es una Activity que está totalmente oculta y no tiene ningún servicio asociado ejecutándose. Un proceso vacío contiene una aplicación que ya llegó al fin de su ciclo de vida, pero que el sistema operativo mantiene en memoria con el propósito de acelerar el tiempo de inicialización en caso de volver a ser ejecutada, y así mejorar el rendimiento del sistema. Estos procesos son eliminados de manera rutinaria conforme se requiera memoria. ESTADO DE LOS PROCESOS Y LA PILA DE ACTIVITIES (BACK STACK) El estado de cada Activity es determinado por su posición en la pila de Activities o pila de Tareas ó Back Stack, que es una colección que contiene todas las Activities actualmente ejecutándose en orden LIFO (Last-In-First-Out). Cuando una nueva Activity inicia, se pone en estado Activa y se mueve al tope de la pila. Si el usuario navega hacia atrás usando el botón de retroceso o la Activity en primer plano es cerrada, la siguiente Activity en la pila se mueve hacia arriba y se pasa al estado activa. Este proceso se muestra gráficamente en la siguiente figura:

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

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

http://www.oracle.com/technetwork/es/java/javase/downloads/index.html

http://www.oracle.com/technetwork/es/java/javase/downloads/index.html Introducción En esta primera parte del taller iremos viendo paso a paso como poner a punto todo tu entorno de trabajo para poder empezar cuanto antes a desarrollar tu primera aplicación Android para luego

Más detalles

Desarrollo de apps para móviles Android. Conceptos básicos de las aplicaciones Android

Desarrollo de apps para móviles Android. Conceptos básicos de las aplicaciones Android Desarrollo de apps para móviles Android Conceptos básicos de las aplicaciones Android Modelo vista controlador (MVC) En Android se utiliza el patrón de arquitectura llamado modelo vista controlador. Este

Más detalles

Programación Android. Alejandro Alcalde. elbauldelprogramador.com

Programación Android. Alejandro Alcalde. elbauldelprogramador.com Programación Android Alejandro Alcalde elbauldelprogramador.com Copyright c 2013 Alejandro Alcalde P L A TEX. Programación Android por Alejandro Alcalde se encuentra bajo una Licencia Creative Commons

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

Crear una Activity en Android. Paso por paso

Crear una Activity en Android. Paso por paso 19-03-2014 Crear una Activity en Android. Paso por paso Una breve descripción de qué hacer cuando las herramientas de desarrollo de Android se convierten en nuestros enemigos. A veces, puede pasar que

Más detalles

Capitulo 4: Componentes Android

Capitulo 4: Componentes Android Capitulo 4: Componentes Android Elaborado por: Gary Briceño http://gary.pe http://gary.pe 1 http://gary.pe 2 1. COMPONENTES DE LA APLICACIÓN http://gary.pe 3 Componentes Android permite a los desarrolladores

Más detalles

Android 4 Principios del desarrollo de aplicaciones Java

Android 4 Principios del desarrollo de aplicaciones Java La plataforma Android 1. Presentación 13 2. Origen 14 3. Google Play 15 3.1. Creación de una cuenta de desarrollador 16 3.2 Publicación de una aplicación 16 3.3. Seguimiento y actualización de una aplicación

Más detalles

Índice. Herramientas de desarrollo. Historia Qué es Android? Arquitectura del sistema. Componentes Android Modelos de Negocio

Índice. Herramientas de desarrollo. Historia Qué es Android? Arquitectura del sistema. Componentes Android Modelos de Negocio 1 Introducción a Android Índice Historia Qué es Android? Arquitectura del sistema Herramientas de desarrollo Componentes Android Modelos de Negocio 2 Objetivos Herramientas de desarrollo Conocer las herramientas

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

AVD, el emulador de Smartphone y Tablets Android que incluye el SDK de Google

AVD, el emulador de Smartphone y Tablets Android que incluye el SDK de Google AVD, el emulador de Smartphone y Tablets Android que incluye el SDK de Google Para probar nuestras aplicaciones Google nos proporciona un emulador de dispositivos conocido como AVD (Android Virtual Devices).

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

Guía de inicio rápido a

Guía de inicio rápido a Guía de inicio rápido a Office 365 para pequeñas empresas La experiencia web La experiencia de aplicaciones de escritorio La experiencia móvil Ayuda y comunidad de Office 365 Microsoft Office 365 para

Más detalles

Con este tutorial podrás aprender a cómo empezar a crear apps en Android, empezaremos con algo muy simple para que poco a poco vayas conociendo.

Con este tutorial podrás aprender a cómo empezar a crear apps en Android, empezaremos con algo muy simple para que poco a poco vayas conociendo. Cómo crear una app simple en ANDROID Con este tutorial podrás aprender a cómo empezar a crear apps en Android, empezaremos con algo muy simple para que poco a poco vayas conociendo. Aprenderás cómo crear

Más detalles

Unidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar

Unidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar Clase:005 1 Unidad II Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar 2 Agenda Desarrollo de Apps para Android Aplicaciones en Android Componentes Básicos de las Aplicaciones

Más detalles

Android 5 Principios del desarrollo de aplicaciones Java

Android 5 Principios del desarrollo de aplicaciones Java La plataforma Android 1. Presentación 13 2. Origen 14 3. Google Play 15 3.1 Creación de una Cuenta de desarrollador 16 3.2 Publicación de una aplicación 17 3.3 Seguimiento y actualización de una aplicación

Más detalles

Desarrollo de apps para móviles Android. Introducción a Android

Desarrollo de apps para móviles Android. Introducción a Android Desarrollo de apps para móviles Android Introducción a Android Qué es Android? I Es una plataforma de desarrollo libre y de código abierto. Ofrece gran cantidad de servicios: bases de datos, servicios

Más detalles

Entorno de desarrollo Instalación y configuración

Entorno de desarrollo Instalación y configuración Entorno de desarrollo Instalación y configuración GExCALL Formación http://gexcall.unex.es/formacion El plugin ADT (Android Development Tools) extiende al IDE Eclipse. Te permite crear y depurar aplicaciones

Más detalles

Unidad II. Interfaz Grafica

Unidad II. Interfaz Grafica Clase:004 1 Unidad II Interfaz Grafica Basado en https://developer.apple.com/library/ios/#referencelibrary/gettingstar ted/roadmapios/chapters/introduction.html 2 Agenda Desarrollo de Apps para IOS. Diseño

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

Programación en Android LSUB, GSYC, URJC

Programación en Android LSUB, GSYC, URJC Programación en Android LSUB, GSYC, URJC Introducción Teléfono o Emulador Android Studio Introducción Activity Mgr App! Dialer Dalvik JVM SQLite WebKit... OpenGL Linux kernel Dispositivo móvil Aplicaciones

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

Desarrollando con android sin conexión

Desarrollando con android sin conexión Desarrollando con android sin conexión Por: Alfonso Alí http://aalih.cubava.cu/2015/01/12/desarrollando-con-android-sin-conexion/ Para nadie es noticia que los dispositivos con

Más detalles

Capitulo 1: Plataforma Android

Capitulo 1: Plataforma Android Capitulo 1: Plataforma Android Elaborado por: Gary Briceño http://gary.pe http://gary.pe 1 Temario 1. Android 2. Evolución 3. Arquitectura Android 4. Paquetes de Trabajo 5. Android y Java http://gary.pe

Más detalles

www.android-spa.com Android Creación de una aplicación sencilla: Forwarding - Página 1 -

www.android-spa.com Android Creación de una aplicación sencilla: Forwarding - Página 1 - Android Creación de una aplicación sencilla: Forwarding - Página 1 - Realización de la aplicación Forwarding en Android Este es un pequeño tutorial con el que se realizará un pequeño programa para Android

Más detalles

Ejercicio 18. Configuración de Widgets en Android. Android Con Java. Ejercicio 18. Configuración de Widgets en Android. Curso de Android con Java

Ejercicio 18. Configuración de Widgets en Android. Android Con Java. Ejercicio 18. Configuración de Widgets en Android. Curso de Android con Java Android Con Java Ejercicio 18 Configuración de Widgets en Android Objetivo del Ejercicio El objetivo del ejercicio crear un Widget que antes de utilizarlo nos permita configurarlo. En este caso, solicitar

Más detalles

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo INDICE Cómo crear una cuenta en ARQA? 4 Cómo tener un grupo en ARQA? 5 Secciones y funcionalidades de los grupos 6 Muro del Grupo 6 Compartir Textos 8 Compartir Imágenes 9 Compartir videos 10 Compartir

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

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México Licencia La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México S. A de C.V., Está protegida por derechos de autor y / u otras leyes aplicables. Cualquier uso diferente a

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

Mi Primer Proyecto en Android Studio

Mi Primer Proyecto en Android Studio Mi Primer Proyecto en Android Studio Para crear un nuevo proyecto ejecutaremos Android Studio y desde la pantalla de bienvenida pulsaremos la opción Start a new Android Studio project para iniciar el asistente

Más detalles

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema Sistema de Gestión Portuaria Uso General del Sistema Uso General del Sistema Página 1 de 21 Contenido Contenido... 2 1.Ingreso al Sistema... 3 2.Uso del Menú... 6 3.Visualizar Novedades del Sistema...

Más detalles

ANDROID BÁSICO - E-LEARNING - EN LÍNEA

ANDROID BÁSICO - E-LEARNING - EN LÍNEA IMECAF México, S.C. Instituto Mexicano de Contabilidad, Administración y Finanzas Nombre del Curso ANDROID BÁSICO - E-LEARNING - EN LÍNEA Objetivo Los dispositivos móviles nos acompañan en el día a día

Más detalles

SoftXpand 2011 Guía de instalación rápida Página 1 SoftXpand 2011 Guía de instalación rápida

SoftXpand 2011 Guía de instalación rápida Página 1 SoftXpand 2011 Guía de instalación rápida SoftXpand 2011 Guía de instalación rápida Página 1 SoftXpand 2011 Guía de instalación rápida Recomendamos ampliamente seguir las instrucciones siguientes al instalar SoftXpand 2011. Instalación de SoftXpand

Más detalles

online Programación para dispositivos Android 4.x

online Programación para dispositivos Android 4.x online Programación para dispositivos Android 4.x Objetivos Conocer los distintos componentes que permiten interactuar con el dispositivo con la voz. Saber cómo reproducir sonido en base a un contenido

Más detalles

INTRODUCCIÓN. paco@portadaalta.es

INTRODUCCIÓN. paco@portadaalta.es INTRODUCCIÓN paco@portadaalta.es Índice Entorno de desarrollo Estructura de un proyecto Android Componentes de una aplicación Android Ejemplos: Mi primera aplicación Divisas 2 actividades Contador de cafés

Más detalles

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC1102 Introducción a la Programación Tutorial eclipse TM Introducción al uso de eclipse TM Contents

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

MACROS. Automatizar tareas a través del uso de las macros.

MACROS. Automatizar tareas a través del uso de las macros. OBJETIVOS MACROS Definiciones Automatizar tareas a través del uso de las macros. Grabar Ejecutar Manipular macros. Tipos de Macros en Excel Introducción Las operaciones tradicionales que se pueden realizar

Más detalles

Manual hosting acens

Manual hosting acens Manual hosting acens Contenido Acceso al panel de control de cliente... 3 Asociar un dominio a mi Hosting... 5 Acceso al panel de administración del hosting... 7 INICIO - Visión general del estado de nuestro

Más detalles

Accesibilidad web GUÍA FUNCIONAL

Accesibilidad web GUÍA FUNCIONAL Accesibilidad web GUÍA FUNCIONAL 0 _ ÍNDICE 01_Introducción 02_Primeros pasos 03_Conceptos 04_Navegación por voz 05_Navegación por teclado 06_Navegación por sonido 07_Compatibilidad con lectores de pantalla

Más detalles

CAPÍTULO 1. Visión general y entorno de desarrollo... 21

CAPÍTULO 1. Visión general y entorno de desarrollo... 21 Índice general Lista de acrónimos... xv Cómo leer este libro?... xvii CAPÍTULO 1. Visión general y entorno de desarrollo... 21 1.1. Qué hace que Android sea especial?... 22 1.2. Los orígenes... 23 1.3.

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

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

Por medio de la presente nos complace presentar a ustedes nuestra propuesta de certificaciones de alta cobertura por volumen.

Por medio de la presente nos complace presentar a ustedes nuestra propuesta de certificaciones de alta cobertura por volumen. MBA. JUAN ALFREDO SALDÍVAR CABRAL Director Nacional de MexicoFIRST LIC. ANDRÉS SIMÓN BUJAIDAR Director de Alianzas de MexicoFIRST México D.F. a 05 de agosto de 2014 P R E S E N T E Por medio de la presente

Más detalles

Lectura 2: El Sistema Operativo y sus Funciones

Lectura 2: El Sistema Operativo y sus Funciones MOMENTO I. BLOQUE 1. Opera las funciones básicas del sistema operativo y garantiza la seguridad de la información Objetos de aprendizaje: Sistema Operativo Lectura 2: El Sistema Operativo y sus Funciones

Más detalles

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este Manual para usuarios USO DE ONEDRIVE Universidad Central del Este Contenido 1. QUÉ ES Y PARA QUÉ SIRVE OFFICE 365?... 3 1.1 CÓMO ENTRAR A LA PLATAFORMA DE OFFICE 365 DE LA UCE?... 3 ONEDRIVE... 5 2. QUÉ

Más detalles

Instalación De ANDROID STUDIO

Instalación De ANDROID STUDIO Área y Sub-área: Informatica/Computacion Educador: _Luis Orozco Ciclo Escolar: 2015 Grado: 5to Secciones: A,B,C y D Instalación De ANDROID STUDIO Paso 1. Descarga e instalación de Java. Si aún no tienes

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

Curso de Android con Java

Curso de Android con Java Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 Este es un tiempo único para el mundo de los celulares, en particular de los Smartphones. Este tipo de dispositivos

Más detalles

Formarnos / Instructivo para tutores

Formarnos / Instructivo para tutores PROGRAMA DE FORMACIÓN DE DIRIGENTES EN GESTIÓN PÚBLICA Y SOCIAL Formarnos / Instructivo para tutores Universidad Nacional de Lanús / Vicerrectorado / Campus Virtual / 2015 Índice Ingreso a la plataforma

Más detalles

UF0513 Gestión auxiliar de archivo en soporte convencional o informático

UF0513 Gestión auxiliar de archivo en soporte convencional o informático UF0513 Gestión auxiliar de archivo en soporte convencional o informático Tema 1. Sistemas operativos habituales Tema 2. Archivo y clasificación de documentación administrativa Tema 3. Base de datos Tema

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

Operación Microsoft Access 97

Operación Microsoft Access 97 Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe

Más detalles

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

Más detalles

Abril 2011. WebApp STR- a3erp. Aplicación de registro de pedidos, albaranes y facturas para a3erp. Compatible con las principales plataformas

Abril 2011. WebApp STR- a3erp. Aplicación de registro de pedidos, albaranes y facturas para a3erp. Compatible con las principales plataformas WebApp STR- a3erp Aplicación de registro de pedidos, albaranes y facturas para a3erp Alto ahorro de costes en empresas con representantes y/o técnicos móviles Compatible con las principales plataformas

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

COMO CREAR UN PROYECTO EN ANDROID. Para crear un proyecto en androide se necesitamos los siguientes software para realizar lo en un simulador.

COMO CREAR UN PROYECTO EN ANDROID. Para crear un proyecto en androide se necesitamos los siguientes software para realizar lo en un simulador. COMO CREAR UN PROYECTO EN ANDROID Qué necesito para desarrollar una aplicación Android? Para crear un proyecto en androide se necesitamos los siguientes software para realizar lo en un simulador. Los cuales

Más detalles

PROGRAMA DE MATERIA DATOS DE IDENTIFICACIÓN DESCRIPCIÓN GENERAL OBJETIVO (S) GENERAL (ES) OPTATIVA PROFESIONALIZANTE II

PROGRAMA DE MATERIA DATOS DE IDENTIFICACIÓN DESCRIPCIÓN GENERAL OBJETIVO (S) GENERAL (ES) OPTATIVA PROFESIONALIZANTE II DATOS DE IDENTIFICACIÓN CENTRO ACADÉMICO: DEPARTAMENTO ACADÉMICO: PROGRAMA EDUCATIVO: OPTATIVA PROFESIONALIZANTE II CIENCIAS BASICAS DEPARTAMENTO DE SISTEMAS DE INFORMACION LIC. EN TECNOLOGIAS DE INFORMACION

Más detalles

Fundamentos CAPÍTULO 1. Contenido

Fundamentos CAPÍTULO 1. Contenido CAPÍTULO 1 Fundamentos En este capítulo encontrará instrucciones rápidas y sencillas que le permitirán poner manos a la obra de inmediato. Aprenderá también a utilizar la ayuda en pantalla, que le será

Más detalles

1. El entorno de desarrollo Eclipse

1. El entorno de desarrollo Eclipse Índice 1. El entorno de desarrollo Eclipse 1 1.1. Qué es Eclipse?........................................................ 1 1.2. Trabajando con Eclipse....................................................

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

Introducción a los sitios de SharePoint en Office 365

Introducción a los sitios de SharePoint en Office 365 Introducción a los sitios de SharePoint en Office 365 Universidad Central del Este Contenido 1. QUÉ ES UN SITIO SHAREPOINT?... 3 2. CÓMO INGRESAR AL ÁREA DE SITIOS?... 3 3. DESCRIPCIÓN GENERAL DEL ÁREA

Más detalles

Tutorial básico. Apunte creado por imedia Creativa www.imediacreativa.com

Tutorial básico. Apunte creado por imedia Creativa www.imediacreativa.com Tutorial básico Apunte creado por imedia Creativa www.imediacreativa.com Introducción Joomla CMS Su sitio Web está creado bajo un Sistema de gestión de contenidos CMS (Content Management Systems) Joomla.

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Contenido. Email: capacitacion@u cursos.cl / Teléfono: 9782450

Contenido. Email: capacitacion@u cursos.cl / Teléfono: 9782450 GMI Contenido PUBLICAR AVISO... 3 CREAR PROCESO DE SELECCIÓN... 6 VER/ELIMINAR AVISOS PUBLICADOS... 8 ETAPAS DE UN PROCESO DE SELECCIÓN... 10 SECCIONES DE LOS PROCESOS DE SELECCIÓN (GPS)... 21 PERSONALIZAR

Más detalles

Servicio de VPN de la Universidad de Salamanca

Servicio de VPN de la Universidad de Salamanca Servicio de VPN de la Universidad de Salamanca Descripción del Servicio El servicio de VPN de la Universidad de Salamanca permite el acceso a recursos internos de la misma desde cualquier acceso a Internet

Más detalles

MANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0

MANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0 MANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0 Commvault Simpana 9 es la solución a la administración de los respaldos de los datos y archivos digitales, ya que ofrece un enfoque

Más detalles

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos: UNIDAD 8 Presentaciones Reunión. (ITE. Banco de imágenes) as presentaciones son documentos formados por una sucesión de páginas, llamadas diapositivas, que transmiten información estructurada de manera

Más detalles

Manual LiveBox WEB ADMIN. http://www.liveboxcloud.com

Manual LiveBox WEB ADMIN. http://www.liveboxcloud.com 2014 Manual LiveBox WEB ADMIN http://www.liveboxcloud.com LiveBox Srl no asume responsabilidades o garantías sobre el contenido y uso de ésta documentación y declina cualquier garantía explicita o implícita

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

CRM para ipad Manual para Usuario

CRM para ipad Manual para Usuario CRM para ipad Manual para Usuario Manual del CRM en el ipad para usuario. Contenido: Apartado 1 Concepto General. Visión general y concepto de Delpro(CRM). Apartado 2 Conexión y Sistema Delpro. Configuración

Más detalles

DOCENTES FORMADORES UGEL 03 PRIMARIA

DOCENTES FORMADORES UGEL 03 PRIMARIA DOCENTES FORMADORES UGEL 03 PRIMARIA 1. Recursos y Aplicaciones del Servidor La página de inicio del servidor (http://escuela) contiene los enlaces a las aplicaciones instaladas en el servidor, un enlace

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

Programa Maestro. E-Learning Class v 6.0

Programa Maestro. E-Learning Class v 6.0 1 Programa Maestro E-Learning Class v 6.0 1.- Introducción 2 El E-LearningClass V. 6.0 ( Programa Maestro ) es un aplicativo incluido en las netbooks del programa Conectar Igualdad que permite asistir

Más detalles

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS. 1 Facultad: Ingeniería Escuela: Electrónica Asignatura: Arquitectura de computadoras Lugar de ejecución: Lab. de arquitectura de computadoras, edif. de electrónica. Tema: INSTALACIÓN Y PARTICIONAMIENTO

Más detalles

Presentación y objetivos

Presentación y objetivos Presentación y objetivos Android es un sistema operativo para dispositivos móviles (Smartphone, Tablet-pc,...) basado en Linux, que integra una serie de librerías para el desarrollo de aplicaciones en

Más detalles

Panel de control. capítulo 07

Panel de control. capítulo 07 Panel de control capítulo 07 Panel de Control panel de control El panel de control se encuentra en la ficha Equipo de la carpeta con mismo nombre; pulse sobre él. Le aparecerá la siguiente ventana: Si

Más detalles

Manual de uso de la Consola de Administración para usuarios Administradores.

Manual de uso de la Consola de Administración para usuarios Administradores. Manual de uso de la Consola de Administración para usuarios Administradores. I. ACCESO A LA CONSOLA DE ADMINISTRACIÓN 1. Para acceder a la consola de administración abra desde Internet Explorer la dirección

Más detalles

MANUAL DE LA APLICACIÓN HELP DESK

MANUAL DE LA APLICACIÓN HELP DESK CASAMOTOR MANUAL DE LA APLICACIÓN HELP DESK Desarrollado por: NOVIEMBRE, 2012 BOGOTÁ D.C. - COLOMBIA INTRODUCCIÓN Este documento es el manual de la aplicación de Help Desk de Casamotor, producto desarrollado

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

Guía del usuario. Guía del usuario - Wordpress

Guía del usuario. Guía del usuario - Wordpress Guía del usuario Guía del usuario - Wordpress 1. Qué es Wordpress? Pag.3 1. 1 Cómo acceder al Escritorio Wordpress? Pag.4 1. 2 Elementos destacables del Panel de Control Pag.5 1. 3 Secciones del Escritorio

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

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

Web Publishing con LabVIEW (I)

Web Publishing con LabVIEW (I) 1 Web Publishing con LabVIEW (I) Una de las herramientas más útiles de LabVIEW es el Web Publishing. Gracias a esta utilidad podemos subir nuestras creaciones a Internet, para mostrar por ejemplo resultados

Más detalles

MANUAL DE USO MICROSOFT LYNC ONLINE

MANUAL DE USO MICROSOFT LYNC ONLINE MANUAL DE USO MICROSOFT LYNC ONLINE Plataforma de comunicaciones unificadas. Integra servicios de comunicación como mensajería instantánea, llamadas de voz, videoconferencias, uso compartido de escritorio

Más detalles

Manual de iniciación a

Manual de iniciación a DOCUMENTACIÓN Picasa y otras nubes Manual de iniciación a DROPBOX 1 Últimamente se ha hablado mucho de la nube y de cómo es el futuro de la Web. También se han presentado servicios y aplicaciones que ya

Más detalles

DESARROLLADOR ANDROID INTRODUCCIÓN ANDROID. Ing. Marco Antonio Toscano Freire mtoscano@matoosfe.com tw: martosfre

DESARROLLADOR ANDROID INTRODUCCIÓN ANDROID. Ing. Marco Antonio Toscano Freire mtoscano@matoosfe.com tw: martosfre DESARROLLADOR ANDROID INTRODUCCIÓN ANDROID Ing. Marco Antonio Toscano Freire mtoscano@matoosfe.com tw: martosfre Introducción Aplicaciones Móbiles Desventajas Tanto las pantallas como teclados son demasiado

Más detalles

Qlik Sense Desktop. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Reservados todos los derechos.

Qlik Sense Desktop. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Reservados todos los derechos. Qlik Sense Desktop Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Reservados todos los derechos. Copyright 1993-2015 QlikTech International AB. Reservados todos los derechos. Qlik, QlikTech,

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

Índice Objetivo... 2 Definición y utilidad de Movie Maker... 3 Cómo iniciar Movie Maker?... 3 Elementos de la ventana de Movie Maker...

Índice Objetivo... 2 Definición y utilidad de Movie Maker... 3 Cómo iniciar Movie Maker?... 3 Elementos de la ventana de Movie Maker... Índice Objetivo... 2 Definición y utilidad de Movie Maker... 3 Cómo iniciar Movie Maker?... 3 Elementos de la ventana de Movie Maker... 4 Barra de título... 4 Barra o pestañas de opciones... 4 Cinta de

Más detalles

Guadalinex Básico Impress

Guadalinex Básico Impress 1 IMPRESS: Editor de Presentaciones Impress es un programa con el que podemos crear diapositivas, transparencias y presentaciones con una variada gama de efectos sin demasiadas complicaciones. Objetivos:

Más detalles

Módulo 1 El lenguaje Java

Módulo 1 El lenguaje Java Módulo 1 El lenguaje 1.1 Presentación de es un lenguaje de programación desarrollado por la empresa Sun Microsystems en 1991 como parte de un proyecto secreto de investigación llamado Green Proyect, con

Más detalles

MANUAL DE USUARIO Guía de Entregas con Subversion de proyectos de movilidad

MANUAL DE USUARIO Guía de Entregas con Subversion de proyectos de movilidad MANUAL DE USUARIO Guía de Entregas con Subversion de proyectos de movilidad Versión 1.0 Área de Arquitecturas Hoja de Control Título Documento de Referencia Responsable Guia de entregas con subversion

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

Ejercicio 4. Manejo de Layouts en Android. Android Con Java. Ejercicio 4. Manejo de Layouts en Android. Curso de Android con Java

Ejercicio 4. Manejo de Layouts en Android. Android Con Java. Ejercicio 4. Manejo de Layouts en Android. Curso de Android con Java Android Con Java Ejercicio 4 Manejo de Layouts en Android Objetivo del Ejercicio El objetivo del ejercicio es entender el manejo de Layout y los Adaptadores en Android. Al finalizar deberemos observar

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

Administrar El Usuario Mediante Windows NT

Administrar El Usuario Mediante Windows NT Administrar El Usuario Mediante Windows NT Administración de usuarios El Administrador de usuarios es la utilidad estándar que ofrece Windows NT. Como su nombre indica, se encarga de la administración

Más detalles

Objetivos y Temario CURSO DESARROLLO APLICACIONES ANDROID 4.0

Objetivos y Temario CURSO DESARROLLO APLICACIONES ANDROID 4.0 Objetivos y Temario CURSO DESARROLLO APLICACIONES ANDROID 4.0 OBJETIVOS Aquí encontrará todos los fundamentos del sistema operativo, incluyendo la configuración del entorno, el diseño de sólidas interfaces,

Más detalles