0% encontró este documento útil (0 votos)
55 vistas25 páginas

Android Modulo01 002

El documento presenta una introducción a Android y su entorno de desarrollo, incluyendo la arquitectura de Android, versiones de Android, creación de aplicaciones móviles y depuración. Explica conceptos clave como el kernel de Linux, bibliotecas, actividades, proveedor de contenido y vistas. También describe las características principales del entorno de desarrollo integrado Android Studio.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
55 vistas25 páginas

Android Modulo01 002

El documento presenta una introducción a Android y su entorno de desarrollo, incluyendo la arquitectura de Android, versiones de Android, creación de aplicaciones móviles y depuración. Explica conceptos clave como el kernel de Linux, bibliotecas, actividades, proveedor de contenido y vistas. También describe las características principales del entorno de desarrollo integrado Android Studio.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 25

Programación

Móvil I

Presentación 02
INTRODUCCION A ANDROID Y SU
ENTORNO
Temas
⬢ Introducción a las plataformas para telefonía celular
⬢ Arquitectura de Android
⬢ Versiones de Android, Support Librarys
⬢ Creación de dispositivos virtuales
⬢ Creación del programa Android y su ejecución
⬢ Componentes de las Aplicaciones,
⬢ Depuración con LogCat

2
OBJETIVOS
⬢ Conocer las características de Android, destacando los aspectos que lo hacen
diferente de sus competidores.
⬢ Estudiar la arquitectura interna de Android.
⬢ Aprender a instalar y trabajar con el entorno de desarrollo (Android Studio).
⬢ Enumerar las principales versiones de Android y aprender a elegir la más idónea
para desarrollar nuestras aplicaciones.
⬢ Crear una primera aplicación y
estudiar su estructura de un proyecto en Android.
⬢ Conocer donde podemos conseguir documentación
sobre Android.
⬢ Aprender a utilizar las herramientas disponibles
para detectar errores en el código.

3
Introducción a las plataformas celulares
⬢ El crecimiento tecnológico ha generado nuevas necesidades en las empresas, tanto en los
requerimientos del talento humano, como en las estrategias de ventas e implementación de
herramientas para la interacción con los consumidores. Una de estas nuevas necesidades que
ha surgido es la creación de aplicaciones para celulares que brinda una comunicación más
rápida, directa y efectiva con los clientes, razón por la que contar con una de estas en
cualquier empresa genera múltiples beneficios.

⬢ Si bien un teléfono móvil ya es una extensión de nosotros mismos tanto así que se puede
decir que esto nos hace seres aumentados. Sin embargo al día de hoy un Smartphone es más
que un montón de circuitos integrados cargado con aplicaciones que nos hace la vida mejor.

⬢ Es el medio por el cual nos relacionamos, interactuamos y visualizamos una nueva realidad
que está creciendo a un ritmo exorbitante. Tanto que ni la imaginación nos basta para
comprenderlo
4
Introducción a las plataformas celulares

5
Arquitectura de Android

6
Arquitectura de Android
⬢ Kernel de Linux
⬢ El núcleo del sistema operativo Android es un kernel Linux versión 2.6, similar al que puede
incluir cualquier distribución de Linux, como Ubuntu, solo que adaptado a las características
del hardware en el que se ejecutará Android (normalmente, un smartphone).

⬢ Proporciona una capa de abstracción para los elementos hardware a los que tienen que
acceder las aplicaciones. Esto permite que se pueda acceder a esos componentes sin
necesidad de conocer el modelo o características precisas de los que están instalados en cada
teléfono. De esta forma, si una aplicación necesita, por ejemplo, la brújula, podrá utilizar la
que incluya el teléfono, sea cual sea. Para cada elemento hardware del teléfono existe un
controlador (o driver) dentro del kernel que permite utilizarlo desde el software.

⬢ Además de proporcionar controladores hardware, el kernel se encarga de gestionar los


diferentes recursos del teléfono (energía, memoria, …) y del sistema operativo en sí:
procesos, elementos de comunicación (networking), etc.
7
Arquitectura de Android
⬢ Bibliotecas
⬢ La capa que se sitúa justo sobre el kernel la componen las bibliotecas nativas de Android
(también mal llamadas librerías, por el término inglés libraries). Estas bibliotecas están
escritas en C o C++ y compiladas para la arquitectura hardware específica del teléfono, tarea
que normalmente realiza el fabricante, que también se encarga de instalarlas en el terminal
antes de ponerlo a la venta. Su cometido es proporcionar funcionalidad a las aplicaciones,
para tareas que se repiten con frecuencia, evitando tener que codificarlas cada vez y
garantizando que se llevan a cabo de la forma más eficiente (en teoría, al menos).

⬢ Gestor de superficies (Surface Manager): se encarga de componer las imágenes que se


muestran en la pantalla a partir de capas gráficas 2D y 3D. Cada vez que la aplicación
pretende dibujar algo en la pantalla, la biblioteca no lo hace directamente sobre ella. En vez
de eso, realiza los cambios en imágenes (mapas de bits) que almacena en memoria y que
después combina para formar la imagen final que se envía a pantalla. Esto permite realizar
con facilidad diversos efectos: superposición de elementos, transparencias, transiciones,
animaciones, etc. 8
Arquitectura de Android
⬢ SGL (Scalable Graphics Library): desarrollada por Skia (empresa adquirida por Google en
2005) y utilizada tanto en Android como en Chrome (navegador web de Google), se encarga
de representar elementos en dos dimensiones. Es el motor gráfico 2D de Android.
⬢ OpenGL | ES (OpenGL for Embedded Systems): motor gráfico 3D basado en las APIs
(Application Program Interface) de OpenGL ES 1.0, 1.1 (desde la versión 1.6 de Android) y
2.0 (desde la versión 2.2 de Android). Utiliza aceleración hardware (si el teléfono la
proporciona) o un motor software altamente optimizado (o eso dice Google) cuando no la
hay.
⬢ Bibliotecas multimedia: basadas en OpenCORE, permiten visualizar, reproducir e incluso
grabar numerosos formatos de imagen, vídeo y audio como JPG, GIF, PNG, MPEG4, AVC
(H.264), MP3, AAC o AMR.
⬢ WebKit: motor web utilizado por el navegador (tanto como aplicación independiente como
embebido en otras aplicaciones). Es el mismo motor que utilizan Google Chrome y Safari (el
navegador de Apple, tanto en Mac como en el iPhone).

9
Arquitectura de Android
⬢ SSL (Secure Sockets Layer): proporciona seguridad al acceder a Internet por medio de
criptografía.
⬢ FreeType: permite mostrar fuentes tipográficas, tanto basadas en mapas de bits como
vectoriales.
⬢ SQLite: motor de bases de datos relacionales, disponible para todas las aplicaciones.
⬢ Biblioteca C de sistema (libc): está basada en la implementación de Berkeley Software
Distribution (BSD), pero optimizada para sistemas Linux embebidos. Proporciona
funcionalidad básica para la ejecución de las aplicaciones.

10
Arquitectura de Android
⬢ Administrador de actividades (Activity Manager): se encarga de controlar el ciclo de vida
de las actividades y la propia pila de actividades. Sin entrar en muchos detalles ahora,
las actividades se pueden definir como las ventanas que se muestran, una sobre otra, en la
pantalla del dispositivo Android (usando un concepto de ventana similar al de los sistemas
operativos gráficos de PC, aunque el funcionamiento en Android sea muy diferente).

⬢ Administrador de ventanas (Windows Manager): se encarga de organizar lo que se


muestra en pantalla, creando superficies que pueden ser rellenadas por las actividades.

11
Arquitectura de Android
⬢ Proveedor de contenidos (Content Provider): permite encapsular un conjunto de datos que
va a ser compartido entre aplicaciones creando una capa de abstracción que hace accesible
dichos datos sin perder el control sobre cómo se accede a la información. Por ejemplo, uno
de los proveedores de contenido existentes permite a las aplicaciones acceder a los contactos
almacenados en el teléfono. Esta biblioteca nos permite crear también nuestros propios
proveedores para permitir que otras aplicaciones accedan a información que gestiona la
nuestra.

⬢ Vistas (Views): si antes equiparábamos las actividades con las ventanas de un sistema


operativo de PC, las vistas las podríamos equiparar con los controles que se suelen incluir
dentro de esas ventanas. Android proporciona numerosas vistas con las que construir las
interfaces de usuario: botones, cuadros de texto, listas, etc. También proporciona otras más
sofisticadas, como un navegador web o un visor de Google Maps.

12
Entorno de Desarrollo (IDE)

13
Entorno de Desarrollo (IDE)

14
Entorno de desarrollo

1. La barra de 2. La barra de 3. La ventana del


herramientas te navegación te ayuda editor es el área en la que
permite realizar una a explorar tu proyecto puedes crear y modificar
gran variedad de y abrir archivos para código. Según el tipo de
acciones, como editar. Proporciona actividad actual, el editor
ejecutar tu app e una vista más puede cambiar. Por
iniciar las compacta de la ejemplo, cuando ves un
herramientas de estructura visible en la archivo de diseño, el editor
Android. ventana Project. muestra el Editor de
diseño.
15
Entorno de desarrollo

4. La barra de la 5. Las ventanas de 6. En la barra de estado,


ventana de herramientas te brindan se muestra el estado de tu
herramientas se acceso a tareas proyecto y el IDE, además
encuentra afuera de la específicas, como la de advertencias o mensajes
ventana del IDE y administración de
contiene los botones que proyectos, la búsqueda,
te permiten expandir o el control de versiones,
contraer ventanas de entre otras. Puedes
herramientas expandirlas y
individuales. contraerlas.
16
Estructura de un proyecto Android
⬢ AndroidManifest.xml: Este archivo describe la aplicación Android.
Se define su nombre, paquete, icóno, estilos, etc. Se indican
las actividades, las intenciones, los servicios y los proveedores de
contenido de la aplicación. También se declaran los permisos que
requerirá la aplicación. Se indica la versión mínima de Android para
poder ejecutarla,.
⬢ java: Carpeta que contiene el código fuente de la aplicación. Como
puedes observar los ficheros Java se almacenan en carpetas según el
nombre de su paquete.
⬢ MainActivity: Clase Java con el código de la actividad inicial.

17
Estructura de un proyecto Android
.
⬢ ApplicationTest: Clase Java pensada para insertar código de testeo de
la aplicación utilizando el API JUnit.
⬢ res: Carpeta que contiene los recursos usados por la aplicación.
⬢ drawable: En esta carpeta se almacenan los ficheros de imágenes
(JPG o PNG) y descriptores de imágenes en XML.
⬢ mipmap: Es una carpeta con la misma finalidad que res/drawable. La
única diferencia es que si ponemos los gráficos en mipmap, estos no
son rescaldados para adaptarlos a la densidad gráfica del dispositivo
donde se ejecuta la aplicacióncargue al cumplirse una determinada
condición. similar en la pantalla. Véase la referencia sobre recursos
alternativos de la unidad 3 para más detalles

18
Estructura de un proyecto Android
⬢ layout: Contiene archivos XML con vistas de la aplicación. Las vistas
nos permitirán configurar las diferentes pantallas que compondrán la
interfaz de usuario de la aplicación. Se utiliza un formato similar al
HTML usado para diseñar páginas web. Se tratarán en el siguiente
capítulo.
⬢ menu: Archivos XML con los menús de cada actividad. En el
proyecto no hay ningún menú por lo que no se muestra esta carpeta.
⬢ values: También utilizaremos ficheros XML para indicar valores
usados en la aplicación, de esta manera podremos cambiarlos desde
estos ficheros sin necesidad de ir al código fuente. En colors.xml se
definen los tres colores primarios de la aplicación. En dimens.xml, se
ha definido el margen horizontal y vertical por defecto.

19
Estructura de un proyecto Android
⬢ layout: Contiene archivos XML con vistas de la aplicación. Las vistas
nos permitirán configurar las diferentes pantallas que compondrán la
interfaz de usuario de la aplicación. Se utiliza un formato similar al
HTML usado para diseñar páginas web. Se tratarán en el siguiente
capítulo.
⬢ menu: Archivos XML con los menús de cada actividad. En el
proyecto no hay ningún menú por lo que no se muestra esta carpeta.
⬢ values: También utilizaremos ficheros XML para indicar valores
usados en la aplicación, de esta manera podremos cambiarlos desde
estos ficheros sin necesidad de ir al código fuente. En colors.xml se
definen los tres colores primarios de la aplicación. En dimens.xml, se
ha definido el margen horizontal y vertical por defecto.

20
Estructura de un proyecto Android
⬢ anim: Contiene ficheros XML con animaciones de vistas (Tween).

⬢ animator: Contiene ficheros XML con animaciones de propiedades.

⬢ xml: Otros ficheros XML requeridos por la aplicación.


⬢ raw: Ficheros adicionales que no se encuentran en formato XML.

⬢ Gradle Scripts: En esta carpeta se almacenan una serie de ficheros


Gradle que permiten compilar y construir la aplicación. Observa como
algunos hacen referencia al módulo app y el resto son para configurar
todo el proyecto. El fichero más importante es build.gradle
(Module:app) que es donde se configuran las opciones de compilación
del módulo.

21
Primer Proyecto Android

22
Primer Proyecto Android

23
Gracias por su atención
M-002 Ing. Ricardo Lagos

Tu trabajo va a llenar gran parte de tu vida, la única manera de
estar realmente satisfecho es hacer lo que creas que es un gran
trabajo y la única manera de hacerlo es amar lo que haces. Si no
lo has encontrado aún, sigue buscando. Como con todo lo que
tiene que ver con el corazón, lo sabrás cuando lo hayas
encontrado.
Steve Jobs.

25

También podría gustarte