38
Por: Ing. Pedro Antonio Villalta [email protected] [email protected] Blog de la Asignatura http ://programacion-moviles.blogspot.com/

01-Android-Conceptos-y-Generalidades

Embed Size (px)

Citation preview

Por:Ing. Pedro Antonio Villalta

[email protected]@gmail.com

Blog de la Asignaturahttp://programacion-moviles.blogspot.com/

Conceptos y Generalidades de Android

Concepto

Versiones

Arquitectura

Dispositivos

Tipo de licencia

Foro Sobre conceptos android

Agenda

Se compone de aplicaciones que se ejecutan en unframework Java en una máquina virtual Dalvik concompilación en tiempo de ejecución. Interfaz gráfica(surface manager), un framework OpenCore, una basede datos relacional SQLite, una API gráfica OpenGL ES2.0 3D, un motor de renderizado WebKit, un motorgráfico SGL.

Todo montado sobre S.O. Linux Kernel 2.6

Qué es Android?

Android - Conceptos 4

Dalvik es la máquina virtual que utiliza la plataformapara dispositivos móviles Android. Dalvik ha sidodiseñada por Dan Bornstein con contribuciones deotros ingenieros de Google.

Qué es Dalvik?

Android - Conceptos 5

En Android se programa mas que todo en JAVAutilizando el SDK Eclipse, sin embargo y aunque losiguiente no está oficialmente soportado,aplicaciones escritas en otros lenguajes como C/C++,se pueden utilizar.

Programación en Android

Android - Conceptos 6

Principales componentes de una aplicación serían:

Activity

IntentReceiver

Service

ContentProvider

Arquitectura de Aplicación Android

Android - Conceptos 7

1- Los teléfonos más avanzados2- Codigo abierto3- Libertad4- Sin fronteras5- Comunidad6- Coste y gustos7- Batería8- Personalizable9- Multitarea10- No solo móviles

10 Razones para Usar Android

Android - Conceptos 8

Versiones de Android sus inicicios a la actualidad :

1.5 (Cupcake) Basado en el kernel de Linux 2.6.271.6 (Donut) Basado en el kernel de Linux 2.6.292.0 / 2.1 (Eclair) Basado en el kernel de Linux 2.6.292.2 (Froyo) Basado en el kernel de Linux 2.6.322.3 (Gingerbread) Basado el kernel de Linux 2.6.35.73.0 Honeycomb Versión actual

Ice Cream LA versión que sigue

Historia de Actualizaciones

Android - Conceptos 9

• Existen muchas gamas de dispositivos.

• No hay homogeneidad en estándares.

• Código migrado a variosdispositivos o modelos.

• Las plataformas no son “abiertas”.

La industria móvil hoy…

Android - Conceptos 10

Contexto de Android

• Nov. de 2007, OHA, anunció el lanzamiento de Android.

• Limitante de la industria móvil, no tener plataformas “abiertas”.

• Sistema Operativo y plataforma de desarrollo Open Source paradispositivos móviles.

• Google no lanzará un “Gphone”, basados en Android!

Android - Conceptos 11

Definición

Sistema Operativo y plataforma de desarrollo Open Sourcepara dispositivos móviles.

Android - Conceptos 12

Open Handset Alliance

• Responsables de lanzar y promover Android.

• Alianza de 72 empresas en 5 categorías:

– Operadores móviles.

– Fabricantes de dispositivos.

– Fabricantes de chips.

– Compañías de software.

– Compañías de comercialización.

Android - Conceptos 13

Puedo ejecutar Android

Instalando Android sobre un dispositivo

Comprando un dispositivo

Android

Android - Conceptos 14

Android = Convergencia

Juegos Telefonía

InternetGPS

Multimedia y entretenimiento

Productividad laboral y personalAndroid - Conceptos 15

Otras plataformas para Smartphones

46.9%

52.4%

19.9%

16.6%

14.4%

8.2%

8.7%

11.8%

0.7%

n/a

/09

/08

Android - Conceptos 16

Aplicaciones nativas

Incluye:

• Gmail y GTalk.

• YouTube.

• Google Search.

• Google Maps.

• Navegador Web.

• Android Market.

• Calendario.

• Navegación vehicular.

• Twitter y Facebook.

• Reconocimiento de voz.

Android - Conceptos 17

Arquitectura de Android

Aplicaciones

Armazón de Aplicaciones

Administrador de paquetes

Administrador de telefonía

Administrador de recursos

Administrador de ubicaciones

Administrador de notificaciones

Administrador de actividad

Administrador de ventanas

Proveedor de contenidos

Vista delsistema

Inicio Contactos Teléfono Explorador …

Librerias

SQLite

WebKit

Libc

Armazón de Media

FreeType

SSL

Administrador de superficies

Open GL | ES

SGL

Android RuntimeLibrerias del

nucleo

Dalvik

Kernel de Linux

Controlador de teclado

Controlador de Wifi

Controlador de Audio

Gestión de Energía

Controladores de pantalla

Controladores de la cámara

Controladores de Memoria Flash

Controladores Binder (IPC)

Android - Conceptos 18

Kernel de Linux: GNU GPL

Resto de la pila: Apache v.2

Apache:

Modelo de licenciamiento

o Licencia más permisiva

o Permite generarredistribucionespropietarias

o No requiere que el códigogenerado sea Open Source

Android - Conceptos 19

Reconocimiento entre la comunidad.

Reto de aprender.

Satisfacción personal.

Oportunidad de ingresos extra.

Mejores oportunidades laborales.

Motivaciones Open Source

Android - Conceptos 20

Entre las características principales de Android SDK

encontramos:

Android Emulator

Dalvik Debug Monitor Service (DDMS)

Android Debug Bridge (ADB)

Herramienta de empaquetado (AAPT)

Plugin de Desarrollo para Eclipse (ADT)

Herramientas para desarrollo

Android - Conceptos 21

El emulador tiene como

finalidad ayudarte a

diseñar y depurar tus

aplicaciones en un

ambiente similar al que

existe en un dispositivo

real.

Android Emulator

Android - Conceptos 22

Es un componente

que se integra a la

VM para depurar y

manejar procesos en

el simulador.

Dalvik Debug Monitor Service (DDMS)

Android - Conceptos 23

Gracias a el podemos, de

una manera fácil, hacer

cosas con el teléfono como

enviar/recibir ficheros,

instalar aplicaciones,

reiniciar

Android Debug Bridge (ADB)

Android - Conceptos 24

Esta herramienta nos

permite crear archivos

con la extension .apk,

que contiene los archivos

binarios y fuentes de

aplicaciones Android.

Herramientas de empaquetado (AAPT)

Android - Conceptos 25

Esta herramienta

facilita enormemente la

creación de proyectos,

su implementación,

depuración y ejecución,

por lo que es altamente

recomendable si se

quiere trabajar con

Android.

Plugin de Desarrollo para Eclipse (ADT)

Android - Conceptos 26

• Podemos desarrollar aplicaciones para Android en cualquiera de estas plataformas:

o Windows XP o Vista

o Mac OS X

o Linux

• Bien, vamos a necesitar las siguientes herramientas:

o Java JDK 6

o Android SDK 2.2

o Eclipse 3.4

o Android Development Toolkit (ADT)

o Plugin para Eclipse

Requisitos para el desarrollo

Android - Conceptos 27

Paso 1. Descarga e instalación de Eclipse.

Paso 2. Descargar el SDK de Android.

Paso 3. Descargar el plugin Android para Eclipse.

Se puede descargar mediante las opciones de actualización de Eclipse, accediendo al menú Help / software updates e indicando la URL de descarga

https://dl-ssl.google.com/android/eclipse/.

Entorno de desarrollo

Android - Conceptos 28

Entorno de desarrollo

Android - Conceptos 29

Paso 4: Referenciar el SDK de Android

Tras abrir de nuevo Eclipse, debe indicarse en las preferencias de Eclipse la localización del SDKa utilizar para los proyectos de Android.

Por ultimo falta indicarle a Eclipse donde se encuentra el SDK de Android y para ellopinchamos en el menú “Windows→ Preferences”.

• Marcar la etiqueta de “Android” en el panel izquierdo.

• A continuación pulse el botón Browse y en buscamos y añadimos la dirección dondehabíamos guardado el SDK, la cual se visualizara en el campo “SDK Location”.

• Pulse el botón Apply y después OK.

Llegados a este punto, ya tiene su entorno listo para poder

desarrollar programas para Android.

Entorno de desarrollo

Android - Conceptos 30

Entorno de desarrollo

Android - Conceptos 31

Ahora nos dispondremos a

crear nuestro Proyecto

Android:

Ante ello, vamos a la opción File->New->Project. Entonces, elegimos la opción AndroidProject y hacemos clic en el botón Next.

Creación del primer Proyecto

Android - Conceptos 32

Ahora, debemos de elegir un nombre para

nuestro Proyecto, ejemplo “ComenzandoAndroid”.

Asimismo, debemos de establecer un Build

Target de la lista, donde escogeremos la

plataforma con la cual correrá nuestra Aplicación

Android.

De la misma manera, debemos establecer

Nombres para la Aplicación, el paquete, nuestra Actividad (que estará contenida dentro del paquete). Y el campo Min SDK Version, que especifica el nivel mínimo del API que necesita tu aplicación, el cual se puede dejar en blanco.

Entonces, daremos clic en el botón Finishpara

concluir la creación de nuestro Proyecto Android

Creación del primer Proyecto

Android - Conceptos 33

Creación del primer Proyecto

Android - Conceptos 34

Para ello, seleccionamos la opción Window->Android SDK and AVDManager. A continuación, nos aparecerá una ventana como la siguiente:

Le damos clic en New.

Creación y configuración del Emulador

Android - Conceptos 35

En donde, colocaremos un nombre para nuestro

Dispositivo Virtual de Android o AVD, por

ejemplo avd1.5. Ahora, seleccionamos el Target

(la plataforma o versión de Android que utiliza

nuestra aplicación). En nuestro caso, elegimos

Android 1.5 - API Level 3. Y, por ahora,

obviaremos todos los demás campos, haciendo

clic en el botón Create AVD .

Creación y configuración del Emulador

Android - Conceptos 36

Ahora, cerramos la ventana Android SDK and AVD Manager. Y nos dirigimos a nuestro proyecto Comenzando Android, hacemos clic derecho y vamos a la opciónRun As->Android Application.

Ahora, al correr nuestro Proyecto, se buscará un AVD, que contenga el API necesario para correr nuestra Aplicación. Entonces, se levantará el Emulador

Creación y configuración del Emulador

Android - Conceptos 37

Android - Conceptos 38

Referencias

http://programacion-moviles.blogspot.com/2015/06/desarrollo-de-software-app-para-telefonia-movil.html

http://programacion-moviles.blogspot.com/