Publicado el 17 de Septiembre del 2018
954 visualizaciones desde el 17 de Septiembre del 2018
888,3 KB
47 paginas
Creado hace 13a (14/11/2010)
Grupo de Usuarios de Linux
Universidad Carlos III de Madrid
Jornadas de Noviembre 2010
Desarrollando Aplicaciones
Desarrollando Aplicaciones
para Android
para Android
Tania Pérez
Tania Pérez
Índice
● ¿Qué es Android?
● Historia
● Características
● Competidores
● Dispositivos
● Arquitectura
● Modelo de Aplicaciones
● Herramientas de Desarrollo
2
¿Qué es Android?
● Android en un Sistema Operativo además de
una plataforma de Software basada en el
núcleo de Linux.
● Android es una plataforma de código abierto.
3
Historia
● Julio 2005
● Google compra Android Inc
● Noviembre 2007
● Nace la Open Handset Alliance
● Lanzamiento inicial del Android Software
Development Kit
● Octubre 2008
● Lanzamiento de Android 1.0 SDK (Release 1)
● Se abre Android Market
4
Historia
● Marzo 2009
● Google lanza la version 1.1 for the Android “dev
phone”.
● Mayo 2009
● Google lanza la versión 1.5 de Android OS (llamada
Cupcake)
● Septiembre 2009
● Google lanza Android 1.6 (Donut)
5
Historia
● Noviembre 2009
● Motorola Droid : fue lanzado con Android 2.0
“Eclair”.
● Consigue vender 1.05 millones de unidades en 74
días, superando el record establecido por el iPhone.
● Diciembre 2009
● 16.000 aplicaciones en el Market
6
Historia
● Enero 2010
● Google Nexus One (HTC) : Android 2.1 (algunos lo
llamaron Flan, pero Google sigue considerándolo
parte de Eclair)
● Febrero 2010
● 60.000 teléfonos con Android vendidos al día
● Junio 2010
● Lanzamiento Android – Froyo versión 2.2
7
Historia
● Android 2.2 ”Froyo”
8
Historia
¿ FUTURO DE ANDROID ?
● Android Market: Tienda de aplicaciones con mayor
crecimiento. Actualmente ~ 40.000 aplicaciones
● Android S.0: el que más crece, casi por superar al
iphone en EEUU.
9
Características
● Framework de aplicaciones: permite el reemplazo
y la reutilización de los componentes.
● Navegador integrado: basado en el motor open
Source Webkit.
● SQlite: base de datos para almacenamiento
estructurado que se integra directamente con las
aplicaciones.
● Multimedia: Soporte para medios con formatos
comunes de audio, video e imágenes planas
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
10
Características
● Máquina virtual Dalvik: Base de llamadas de
instancias muy similar a Java.
● Telefonía GSM: dependiente del terminal.
● Bluetooth, EDGE, 3g y Wifi: dependiente del
terminal.
● Cámara, GPS, brújula y acelerómetro:
Dependiente del terminal
● Pantalla Táctil.
11
Competidores
12
Competidores
● Apple
● iPhone OS
● RIM
● Blackberry
● Microsoft
● Windows Mobile 6.5 Phone 7 Series
● Symbian Foundation
● Symbian OS
● Palm
● WebOS
13
Competidores
14
Competidores
15
Dispositivos
● HTC
● Dream, Magic (myTouch3G), Hero, Tattoo,Nexus
One, Desire, Legend
● Motorola
● CLIQ, Droid (Milestone), DEXT
● Acer, Archos, Dell, Huawei, Lenovo, LG,
Samsumg, Sony Ericsson,...
16
Arquitectura
17
Modelo de aplicaciones
¿Cómo son las aplicaciones Android?
● Las aplicaciones están escritas en Java y
empaquetadas en formato Android package (.apk)
● Cada aplicación es independiente
● Se ejecuta en su propio proceso de Linux
● Cada proceso tiene su propia máquina virtual Java
● Cada aplicación tiene asignado un ID de usuario de
Linux
18
Modelo de aplicaciones
Componentes de una aplicación
● Activities
● Services
● Broadcast receivers
● Content providers
19
Modelo de aplicaciones
Qué es una activity y para qué sirve
● Activity
● Presenta una interfaz de usuario enfocada a una tarea que
el usuario desea realizar
● Reproducir un archivo de audio, acceder a una determinada
URI, realizar una llamada telefónica...
● Se puede pensar en una actividad como el elemento
análogo a una ventana en cualquier otro lenguaje
visual
● Una aplicación Android normalmente consistirá en una ó
más actividades que trabajan de modo colaborativo
● Una de las actividades que componen la aplicación será
20
la que se ejecute al iniciarse la aplicación
Modelo de aplicaciones
¿Qué es un servicio Android?
● Service
● A diferencia de una Activity, no está asociado a una
interfaz de usuario
● Sirve para realizar tareas en background durante un
tiempo indefinido
● Ejemplo: Reproductor de audio
● Necesita de una interfaz para interactuar con el
usuario(activity)
● Inicio de la reproducción, parada, etc
● Otros componentes ó aplicaciones pueden acceder al
21
servicio
Modelo de aplicaciones
Broadcast receivers
● Broadcast receivers
● No realizan acciones por sí mismos
● Recibe eventos de tipo broadcast (eventos globales) y
reacciona ante ellos
● Muchos de ellos están originados por el sistema
● Batería baja, SMS recibido, Tarjeta SD insertada...
● Las aplicaciones pueden lanzar un broadcast si
necesitan que otra aplicación realice alguna acción
por ellas
● Un broadcast receiver no tiene interfaz de usuario,
pero puede lanzar una para atender la petición
22
Modelo de aplicaciones
Content providers
● Content providers
● Es el mecanismo que se ha definido en Android para
compartir datos entre aplicaciones
● Es posible compartir datos de nuestra aplicación sin
mostrar detalles sobre su almacenamiento interno, su
estructura, o su implementación
● Los datos pueden estar almacenados en cualquier
lugar: fichero, SQLite, internet...
● Nuestra aplicación podrá acceder a los datos de otra a
través de los content provider que se hayan definido
● Hace uso de un ContentResolver para acceder
a los datos expuestos por un content provider
23
●
Modelo de aplicaciones
¿Cómo se activan los distintos componentes?
● Content providers
● Al recibir una petición desde un Content resolver
● Activities, Services y Broadcast receivers
● Al recibir un mensaje asíncrono llamado Intent
● Intent
● Es el elemento básico de comunicación entre los distintos
componentes Android. Se pueden entender como los
mensajes ó peticiones que son enviados entre los distintos
componentes de una aplicación o entre distintas
aplicaciones. Mediante un intent se puede mostrar una
actividad desde cualquier otra, iniciar un servicio, enviar un
mensaje broadcast, iniciar otra aplicación, etc.
24
Herramientas de Desarrollo
● Android SDK
● Paquete con las herramientas necesarias para
desarrollar aplicaciones
● Desde el SDK 1.6, aparece Android SDK and AVD
Manager, permite actualizar y descargar nuevas
versiones del SDK de forma cómoda
● Incluye emulador, driver para el dispositivo
(Windows), herramientas de depuración, etc.
25
Herramientas de Desarrollo
● Android SDK
● Android Development Tools (ADT)
● Plugin para Eclipse
● Incluye vista DDMS
● Procesos en ejecución
● Navegación por el sistema de ficheros
● Logs
● Proyecto, editor de vistas, compilación de
recursos,firma y exportación de aplicaciones,...
26
Herramientas de Desarrollo
● Android NDK
● Añadido al SDK
● Permite escribir partes críticas de nuestra aplicación
en código nativo (C/C++)
● Soporte para OpenGL ES 2.0
● Android >1.5
● Ideal para videojuegos
27
Herramientas de Desarrollo
GUÍA DE INSTALACIÓN DEL SDK DE
ANDROID
1. JDK Java
2. Eclipse
3. SDK Android
4. ADT Plugin para Eclipse
http://developer.android.com/sdk/installing.html
28
Instalando Android SDK en Linux
● Necesitamos dos cosas:
● SDK Android
● Plataforma de desarrollo (Eclipse)
● No usar la versión que está disponible en los
repositorios, ya que carece de algunos elementos
necesarios
29
Instalando Android SDK en Linux
● Paquetes necesarios
● Antes de instalar el SDK de Android y Eclipse necesitamos
algunos paquetes fundamentales para que todo funcione a la
perfección. Lo más importante es tener instalado Java por lo
que necesitamos el paquete sunjava6bin:
● :~$ sudo aptitude install sunjava6bin
● Además, si tu máquina es de 64 bits vas a necesitar las librerías
de 32 bits ya que el SDK de Android está programado en 32
bits:
● :~$ sudo aptitude install ia32libs
30
Instalando Android SDK en Linux
● Descargar Eclipse
31
Instalando Android SDK en Linux
● Instalar Android SDK
● Descargar Android SDK
● Debemos descargar el SDK de Android de la web oficial: Android
Developers. Elegimos la versión para Linux y tras aceptar la
licencia guardaremos el fichero en nuestro disco duro.
● Descomprimir Android SDK
● Para descomprimirlo no hay más que pulsar sobre él con el botón
derecho y hacer click en “Extraer aquí”, lo que creará una carpeta
nueva, el fichero lo podéis eliminar. El Android SDK estará pues
en la ruta:
●
/home/{usuario}/.../androidsdklinux_86
32
Instalando Android SDK en Linux
● Preparar Android SDK para la instalación
● Antes de poder instalar nada tenemos que declarar el path
para que el sistema encuentre los ejecutables. Para ello hay
que editar el fichero .bashrc alojado en el directorio home:
● :~$ gedit ~/.bashrc
● Y añadir al final de fichero la siguiente línea:
● export PATH=${PATH}:/home/{usuario}/.../android
sdklinux_86/tools
33
Instalando Android SDK en Linux
● Instalar Android SDK
● Es necesario cerrar cualquier terminal abierto para que haga
efecto el path que acabamos de definir. Abrir uno nuevo y
escribir:
● :~$ android
● Esto hará que se abra el mánager de Android donde podremos
instalar y actualizar el SDK así como crear dispositivos
virtuales de pruebas.
34
Instalando Android SDK en Linux
● Accedemos a la sección Available Packages donde pulsaremos el
botón Refresh. Si obtenemos error al acceder a la URL, ir a la
sección Settings, marcar la casilla Force https://… sources to be
fetched using http://… y pulsar en Save & Apply
● Volvemos a Available Packages y pulsamos Refresh para que nos
aparezca la lista de paquetes que podemos instalar. Es importante
que NO esté seleccionada la casilla Display update only ya que
esta primera vez queremos instalarlo todo. Seleccionamos todos
l
Comentarios de: Desarrollando aplicaciones para Android (0)
No hay comentarios