50% encontró este documento útil (2 votos)
659 vistas

Programacion en Android

El documento presenta una introducción al desarrollo de aplicaciones para Android, describiendo el entorno de desarrollo, la arquitectura de Android incluyendo el núcleo Linux, la máquina virtual Dalvik y las librerías, y los principales componentes para construir aplicaciones como activities, servicios, broadcast receivers y contenido proveedores.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
50% encontró este documento útil (2 votos)
659 vistas

Programacion en Android

El documento presenta una introducción al desarrollo de aplicaciones para Android, describiendo el entorno de desarrollo, la arquitectura de Android incluyendo el núcleo Linux, la máquina virtual Dalvik y las librerías, y los principales componentes para construir aplicaciones como activities, servicios, broadcast receivers y contenido proveedores.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 43

Programación en Android

Desarrollo de Aplicaciones para Dispositivos


Móviles

CUL 2018
Contenido Programático
Unidad 1. Visión general y entorno de desarrollo
Unidad 2. Diseño de la interfaz de usuario: Vistas y Layouts
Unidad 3. Actividades e intenciones
Unidad 4. Gráficos en Android
Unidad 5. Entradas en Android: teclado, pantalla táctil y
sensores
Unidad 6. Multimedia y Ciclo de Vida
Unidad 7. Seguridad y posicionamiento
Unidad 8. Servicios, notificaciones y receptores de anuncios
Unidad 9. Almacenamiento de datos
Unidad 10. Internet: sockets, HTTP y servicios web
Introducción
Los dispositivos móviles han cambiado la sociedad
actual de una forma tan significativa como lo ha
hecho Internet.

Los nuevos terminales ofrecen unas capacidades


similares a un ordenador personal, lo que permite
que puedan ser utilizados para leer nuestro correo
o navegar por Internet.

La diferencia entre un pc y un dispositivo móvil es


que siempre está en el bolsillo del usuario. Esto
permite un nuevo abanico de aplicaciones mucho
más cercanas al usuario.
Introducción

¿Qué es un dispositivo móvil?


Los dispositivos móviles son aparatos de
pequeño tamaño, con algunas capacidades de
procesamiento, con conexión permanente o
intermitente a una red, con memoria limitada,
diseñados específicamente para una función,
pero que pueden llevar a cabo otras funciones
más generales..
Introducción

¿Qué es Android?
-Sistema operativo para teléfonos móviles(Inicial).
-Permite programar aplicaciones en una variación
de Java llamada Dalvik (ART Version 5.0).
-Proporciona todas las interfaces necesarias para
desarrollar aplicaciones que accedan a las
funciones del teléfono (como el GPS, las
llamadas, la agenda, etc.) de una forma muy
sencilla en un lenguaje de programación muy
conocido como es Java.
Introducción

¿Orígenes?
Google adquiere Android Inc. en el año 2005.
Se trataba de una pequeña compañía, que
acababa de ser creada, orientada a la
producción de aplicaciones para terminales
móviles. Ese mismo año empiezan a trabajar
en la creación de una máquina virtual Java
optimizada para móviles (Dalvik VM).
Introducción

¿Qué lo hace diferente?


Lo que lo hace diferente es que está basado
en Linux, un núcleo de sistema operativo
libre, gratuito y multiplataforma.
Introducción
Introducción
Introducción
Introducción
Introducción
Introducción

¿Comparativa Plataformas?
En la siguiente gráfica podemos ver un estudio
realizado por la empresa Gartner Group, donde
se muestra la evolución del mercado de los
sistemas operativos para móviles según el
número de terminales vendidos.
Introducción
Introducción
Introducción
Introducción
Introducción

¿Qué lo hace especial?


Existen muchas plataformas para móviles
(iOS, Symbian, Windows Phone, BlackBerry,
Palm, Java Mobile Edition, Linux Mobile
(LiMo), Firefox OS, etc.); sin embargo Android
presenta una serie de características que lo
hacen diferente: Es el primero que combina
en una misma solución las siguientes
cualidades:
Introducción

• Plataforma realmente abierta.


• Adaptable a cualquier tipo de hardware.
• Portabilidad asegurada.
• Arquitectura basada en componentes
inspirados en Internet.
• Gran cantidad de servicios incorporados.
• Aceptable nivel de seguridad.
• Optimizado para baja potencia y poca
memoria.
• Alta calidad de gráficos y sonido.
Introducción

• Plataforma realmente abierta.

Es una plataforma de desarrollo libre basada en


Linux y de código abierto.

• Adaptable a cualquier tipo de hardware.

Android no ha sido diseñado exclusivamente


para su uso en teléfonos y tabletas; relojes,
cámaras, electrodomésticos y gran variedad de
sistemas empotrados se basan en este sistema
operativo.
Introducción
• Portabilidad asegurada.

Las aplicaciones finales son desarrolladas en


Java lo que nos asegura que podrán ser
ejecutadas en cualquier tipo de CPU, tanto
presente como futuro. Esto se consigue gracias
al concepto de máquina virtual.

• Arquitectura basada en componentes


inspirados en Internet.

Por ejemplo, el diseño de la interfaz de usuario


se hace en xml, lo que permite que una misma
aplicación se ejecute en un móvil de pantalla
reducida o en un TV.
Introducción

• Gran cantidad de servicios incorporados.

por ejemplo, localización basada tanto en GPS


como en redes, bases de datos con SQL,
reconocimiento y síntesis de voz, navegador,
multimedia.

• Aceptable nivel de seguridad.

Los programas se encuentran aislados unos de


otros gracias al concepto de ejecución dentro de
una caja que hereda de Linux.
Introducción
• Optimizado para baja potencia y poca
memoria.

Por ejemplo, Android utiliza la Máquina Virtual


Dalvik. Se trata de una implementación de
Google de la máquina virtual de Java
optimizada para dispositivos móviles.

• Alta calidad de gráficos y sonido.

Gráficos vectoriales suavizados, animaciones


inspiradas en Flash, gráficos en 3 dimensiones
basados en OpenGL. Incorpora codecs
estándar más comunes de audio y vídeo,
incluyendo H.264 (AVC), MP3, AAC, etc.
¿Comparación de Plataformas?
Introducción

¿Qué versiones existen?


Android tiene tres tipos de denominar a las
versiones de Android:
• La comercial con el nombre de postre. Por
ejemplo: KitKat
• La de los fabricantes (y también comercial)
con la versión y subversión. Por ejemplo: 4.4
• La de desarrollador con el nivel del API (ésta
nos interesa mucho para desarrollar en
Android): Por ejemplo: 19
Arquitectura
Arquitectura

El núcleo Linux
El núcleo de Android está formado por el
sistema operativo Linux versión 2.6. Esta capa
proporciona servicios como la seguridad, el
manejo de la memoria, el multiproceso, la pila
de protocolos y el soporte de drivers para
dispositivos.
Arquitectura

Runtimede Android
Está basado en el concepto de máquina virtual
utilizado en Java. Por las limitaciones de los
dispositivos se crea una nueva, la máquina
virtual Dalvik, como característica principal el
formato optimizado para ahorrar memoria.

A partir de Android 5.0 se reemplaza Dalvik por


ART. Consigue reducir el tiempo de ejecución
del código Java hasta en un 33%.

También se incluye en el Runtine de Android el


“core libraries” con la mayoría de las librerías
disponibles en el lenguaje Java.
Arquitectura

Librerías nativas
Incluye un conjunto de librerías en C/C++
usadas en varios componentes de Android.
Están compiladas en código nativo del
procesador. Muchas de las librerías utilizan
proyectos de código abierto.
Arquitectura

Entorno de aplicación
Proporciona una plataforma de desarrollo libre
para aplicaciones con gran riqueza e
innovaciones (sensores, localización, servicios,
barra de notificaciones, etc.).
Los servicios más importantes que incluye son:
•Views: extenso conjunto de vistas, (parte visual de los
componentes).
•Resource Manager: proporciona acceso a recursos que no son en
código.
•Activity Manager: maneja el ciclo de vida de las aplicaciones y
proporciona un sistema de navegación entre ellas.
•Notification Manager: permite a las aplicaciones mostrar alertas
personalizadas en la barra de estado.
•Content Providers: mecanismo sencillo para acceder a datos de
otras aplicaciones (como los contactos).
Arquitectura

Aplicaciones
Este nivel está formado por el conjunto de
aplicaciones instaladas en una máquina
Android. Todas las aplicaciones han de correr
en la máquina virtual Dalvik para garantizar la
seguridad del sistema.

Normalmente las aplicaciones Android están


escritas en Java. Para desarrollar aplicaciones
en Java podemos utilizar el Android SDK o
Eclipse. Existe otra opción consistente en
desarrollar las aplicaciones utilizando C/C++.
Para esta opción podemos utilizar el Android
NDK (Native Development Kit).
Componentes Aplicación
Componentes Aplicación

Activity: Son componentes de la interfaz que


corresponde a una pantalla. Una aplicación
para una lista de cosas por hacer puede tener
una actividad para ingresar las cosas por
hacer y otra actividad para mostrar el listado,
en conjunto estas actividades conforman la
aplicación.
Componentes Aplicación

son mensajes que provocan notificaciones o


cambios de estatus, que al ser recibidos por
actividades o servicios pueden levantar
procesos. De esta forma se unen
componentes dentro de la misma aplicación o
de diferentes aplicaciones.
Componentes Aplicación

son los componentes de la interfaz de


usuario, diferentes vistas pueden agruparse a
través de grupos logrando una jerarquía, esto
se logra a través de la disposición de los
componentes a través de un archivo XML.
Componentes Aplicación

son componentes que ejecutan operaciones


en segundo plano y no tienen una interfaz de
usuario. Por ejemplo, al escuchar música, hay
un servicio encargado de la reproducción que
se ejecuta de fondo y la aplicación que
manipulamos le manda mensajes a este
servicio diciéndole que se detenga, pause o
reproduzca la siguiente canción.
Componentes Aplicación

Representan la abstracción para almacenar y


obtener datos permanentes y aplicaciones
diferentes. El sistema incluye algunos
proveedores de contenido útiles (audio, video,
etc) y además pueden desarrollarse nuevos.
Componentes Aplicación

Son componentes que responden a avisos y


anuncios de difusión (broadcast). Estos avisos
provienen del sistema (batería baja, una
llamada entrante, etc.) y de aplicaciones
(pasando avisos de una aplicación a otra). Aun
que no muestran una interfaz de usuario
algunas veces utilizan barras de progreso para
mostrar avances. Estos se activan a través de
mensajes asincrónicos llamados intents
(mencionados arriba).
Componentes Aplicación

El archivo AndroidManifest.xml es donde se


configura la aplicación, se agregan
actividades, se asignan permisos, etc.
Describe los componentes de la aplicación.
Entorno de Programación

Android SDK, Android Studio y el JDK


En cuanto a la herramienta para la edición y
construcción, Google ha recomendado un
nuevo IDE llamado Android Studio, para que no
trabajemos directamente en consola. Además
integra a Gradle para simplificar la construcción
de nuestras aplicaciones.

Descarga Android Studio


https://developer.android.com/sdk/index.html
Descarga JDK
http://www.oracle.com/technetwork/java/javase/downloads/ jdk8-
downloads-2133151.html?ssSourceSiteId=otnes
Entorno Programación

SDK
Sistema Publicación
Aplicación Android

Estructura .APK (ZIP) se compone de los siguientes


archivos:

• classes.dex
– Dalvik
– Magic: dex\nXXX\0
– Empaquetado de los .java compilados
• res (recursos)
• META-INF (firmas de la aplicacion)
• AndroidManifest.xml (compilado)
• resources.arsc (relaciona los nombres de los recursos con sus
identificadores - R.java-)

También podría gustarte