Está en la página 1de 51

ESTRUCTURA Y COMPONENTES

DE UNA APLICACIÓN ANDROID


1 • Introducción al Desarrollo Móvil

2 • Introducción a Android

3 • Instalación del SDK

4 • Primera aplicación

5 • Proyecto: Lector de RSS

6 • Guías de diseño

7 • Publicación en Google Play


¿Qué es un dispositivo móvil?

Un dispositivo móvil es un
aparato electrónico con
capacidades limitadas, de
tamaño reducido, fácil de
transportar y el cual otorga
funcionalidades de
almacenamiento,
procesamiento y/o red en
cualquier momento.
¿Cómo se clasifican?

• Teléfonos Móviles

• PDA’s

• SmartPhones

• Tablet PC

• Tablet
¿Por qué desarrollar para dispositivos móviles?

• Se han convertido en una


herramienta indispensable para
todas las personas

• Y más que una herramienta de


comunicación, son considerados
una herramienta de productividad

• Necesidad de acceso a la
información 24 horas al día

• La oferta de servicios móviles


basados en datos es cada vez mayor
¿TENDENCIA TECNOLOGICA?

FUENTE: INEI
¿TENDENCIA TECNOLOGICA?
¿TENDENCIA TECNOLOGICA?

• El número de usuarios de telefonía móvil va en


constante aumento

• El aumento en la adquisición de dispositivos


móviles va de acuerdo a los nuevos servicios que
se ofrecen: correo, mensajería instantánea, TV,
etc.
¿Qué tipos de aplicaciones se pueden desarrollar?

Desarrollo Web
Requieren un navegador y acceso a Internet.

Desarrollo hibrido (smart-client)


Aplicaciones instaladas en el dispositivo móvil
con conexión a Internet.

Desarrollo stand-alone
Aplicaciones instaladas en el dispositivo que
no requieren Internet.
¿Cuáles son las plataformas de desarrollo?

Compañía Apple Google Microsoft Firefox

Lenguaje de
Objective-C Java C# C++, Rust
programación

Firefox APP
IDE de Manager
XCode Eclipse Visual Studio
desarrollo

Distribución Android Firefox Market


App Store Market Place
de Apps Market* Place
¿Qué es Android?

• Es una plataforma para


dispositivos móviles que
incluye:
• Sistema operativo
• Middleware
• Aplicaciones clave
Este sistema operativo está basado en Linux y la idea era tener un nuevo software para dispositivos
móviles con pantalla táctil como son los teléfonos inteligentes y las tablets. El sistema fue desarrollado
por Android, Inc., que Google respaldó económicamente en su momento y que más tarde compró en el
2005. La compañía original era de Palo Alto, California (fundada en 2003). Entre los cofundadores de
Android que se fueron a trabajar a Google están Andy Rubin (co-fundador de Danger), Rich Miner
(co-fundador de Wildfire Communications, Inc.), Nick Sears (alguna vez VP en T-Mobile), y Chris
White (quien encabezó el diseño y el desarrollo de la interfaz en WebTV). Android se presentó en el
2007 junto con la Open Handset Alliance, un consorcio de compañías de hardware, software y
telecomunicaciones, con la intención de avanzar en los estándares de los sistemas abiertos. El primer
teléfono con Android fue el HTC Dream, que empezó a venderse en octubre del 2008

: Apple Pie (v1.0), Tarta de manzana B: Banana Bread (v1.1), Pan de plátano C: Cupcake
(v1.5), Panque. D: Donut (v1.6), Rosquilla. E: Éclair (v2.0/v2.1), Pastel francés. F:
Froyo (v2.2), (Abreviatura de «frozen yogurt») Yogur helado. G: Gingerbread (v2.3), Pan
de jengibre. H: Honeycomb (v3.0/v3.1/v3.2), Panal de miel. I: Ice Cream Sandwich
(v4.0), Sándwich de helado. J: Jelly Bean/Gummy Bear (v4.1/v4.2/v4.3), K: KitKat
(v4.4).

El logotipo de la palabra Android fue diseñado con la fuente Droid, hecha por Ascender Corporation. El
verde es el color del robot de Android que distingue al sistema operativo. El color print es PMS 376C y
color GBN en hexadecimal es #A4C639, como se específica en la Android Brand Guidelines. La tipografía
de Android se llama Norad, solo usado en el texto del logo. Para Ice Cream Sandwich se introduce una
tipografía llamada Roboto, que, según los propios creadores, está pensada para aprovechar mejor la
legibilidad en los dispositivos de alta resolución.
Características

• Framework de aplicaciones

• Maquina Virtual (Dalvik Virtual Machine)


optimizada para dispositivos móviles

• Navegador Web integrado basado en el motor


WebKit

• SQLite para el almacenamiento de datos.

• Soporte de medios audio, video, imágenes.

• Gráficos optimizados 2D/3D

• Completo entorno de desarrollo


Arquitectura del Sistema

Applications

Application
Framework

Libraries Android
Runtime

Linux Kernel
Fundamentos de aplicaciones

• Las aplicaciones son escritas en


Java

• El código y los recursos de una


aplicación se compilan en un
archivo con extensión *.apk

• Los archivos *.apk son aplicaciones


listas para instalar en dispositivos
Android

• Android es un sistema multi-


usuario en el que cada aplicación
es un usuario.
Fundamentos de aplicaciones

• El sistema le asigna a cada aplicación un ID


de usuario y permisos de acceso

• Solo el ID de usuario asignado a la aplicación


puede acceder a los recursos y archivos de la
misma.

• Si es necesario, una aplicación puede


solicitar permisos de acceso a datos y
componentes del dispositivo como: Cámara,
Bluetooth, Contactos, etc.
Componentes de una aplicación

• Activities: Son componentes de la


interfaz de usuario, cada Activity
representa una pantalla para el
usuario

• Services: Se ejecutan en segundo


plano y realizan operaciones de larga
duración o procesos remotos

• Content Providers: Son proveedores


de contenido. Administran el
accesos a un conjunto de datos de la
aplicación

• Broadcast Receivers: Responde a los


avisos del sistema y de otras
aplicaciones.
Componentes de una aplicación

• Views: Son los componentes de la


interfaz de usuario como botones,
cuadros de texto, listas, etc.

• Intents: Son mensajes de notificaciones


entre actividades y servicios. Es la forma
de comunicación entre los
componentes de una aplicación y entre
distintas aplicaciones

• Manifest: El archivo
AndroidManifest.xml es donde se
configura la aplicación, se agregan
actividades, permisos, etc.
Requerimientos previos

• Sistema Operativo:
• Windows XP (32 bit), Vista (32 ó 64 bit), Windows 7 (32 ó 64 bit)
• Mac OS X 10.5.8 o superior (x86 únicamente)
• Linux

Hardware:
• 10 GB en disco
• 2 GB en RAM (mínimo)
• Procesador Dual-Core 2Ghz o superior (Recomendado 3Ghz)*

Entorno de desarrollo:
• Kit de Desarrollo de Java ( JDK 5 o JDK 6 )
• Eclipse IDE 3.6 (Helios) o superior
Instalación del SDK de Android

• Descargar el SDK de la pagina de


Android Developers:
http://developer.android.com/sdk/ind
ex.html

• Instalar el SDK en una carpeta segura.

• Instalar herramientas y plataformas


Instalación del plug-in para Eclipse

1. Desde la ventana “Install New


Software”, hacer clic en el boton “Add”

2. En el cuadro de diálogo que aparece


agregar la URL: https://dl-
ssl.google.com/android/eclipse/

3. De la lista de software disponibles,


seleccionar “Developer Tools” y clic en
“Next”

4. Aparecera la lista de elementos a


descargar, clic en “Next”

5. Leer y aceptar los terminos de licencia y


clic en “Finish”
Configuración del plug-in para Eclipse

• Desde Eclipse seleccionar el


menu “Windows > Preferences”

• Seleccionar la sección “Android”


en el panel de la izquierda.

• En el cuadro “SDK Location”, clic


en “Browse” y seleccionar la
carpeta en donde esta instalado
el SDK.

• Clic en “Apply” y luego “OK”.


IDE
Primera aplicación

Creación del
proyecto

Creación de
emulador

Pruebas en
emulador

Pruebas en
dispositivo real
Estructura de un proyecto

src/
Código fuente de la aplicación (.java)
gen/
Binarios de recursos generados
assets/
Recursos externos de la aplicación:
Audio, Video, Documentos de texto
bin/
Archivos compilados y el ejecutable
(.apk)
libs/
Librerías externas (.jar)
Estructura de un proyecto

res/

Recursos de la aplicación
layout
drawable
values
menu
AndroidManifest.Xml

Permisos, componentes, versión de la app,


y versión del S.O.
Proceso de desarrollo
Acceso a
contenido web

Parseo de datos
XML

Declaración de
vistas

Mostrar los datos


en pantalla

Navegación entre
pantallas
Estructura de la Aplicación

1. Datos / Objetos: Toda la lógica de


la aplicación: clases, objetos,
accesos a datos, etc.

2. Activities / Fragments: Controlan


la presentación de los datos en
pantalla.

3. Views / Layouts: La parte gráfica


de la aplicación. Definen el diseño
y presentación de los datos.
Guías de diseño: Estructura básica de una App

1. Action Bar: Incluye las principales


“acciones” que se pueden realizar en
una vista e incluye elementos de
navegación.

2. View Control: Permite al usuario


cambiar entre diferentes vistas de la
App.

3. Content Area: El área donde el


contenido es mostrado.

4. Split Action Bar: Permite redistribuir las


“acciones” en la parte inferior de la vista
(Opcional para dispositivos pequeños).
Guías de diseño: Action Bar
Guías de diseño: Action bar

1. App Icon: Regularmente es el icono de la aplicación. Es posible


utilizarlo como apoyo para la navegación entre vistas.

2. View Control: Permite al usuario cambiar entre diferentes vistas de


la App.

3. Action Icons: Las “acciones más importantes” disponibles para esta


vista.

4. Overflow button: Permite incluir más “acciones” que por


cuestiones de espacio no se incluyen en el Action Bar.
Guías de diseño: Split Action Bar and Tab Navigation

1. Main Action Bar

2. Top Bar: Espacio designado para el “View Control” cuando


la navegación es por “Tabs”.

3. Bottom Bar: El área designada para mostrar las “acciones”


cuando se habilita el Split Action Bar.
Guías de diseño: Dispositivos y pantallas

• Flexible: Ajustar el contenido a


diferentes tamaños, altos o anchos.

• Optimizado: Utilizar eficientemente


el espacio disponible, en especial en
pantallas grandes.

• Tamaños y escalas: Proveer recursos


(como imágenes) para diferentes
tamaños y resoluciones de pantalla.
Guías de diseño: Dispositivos y pantallas

• Tamaño de la pantalla: En pulgadas.

• Resolución de la pantalla: En pixeles.

• Orientación: Landscape o Portrait.

• Densidad de la pantalla: En DPI o Puntos por pulgada


“Dots Per Inch”.

• Medida final del recurso: En DIP/DP o Pixel


independiente de la resolución “Density Independent
Pixel”.
Guías de diseño: Iconografía

Action Bar:

• Representa las funciones mas


importantes que el usuario puede
realizar dentro de la App.

• Generalmente son monocromáticos,


sin fondo y planos.

• Medidas: 18x18(ldpi), 24x24(mdpi),


36x36(hdpi), 48x48(xhdpi)
Guías de diseño: Iconografía

Launcher:

• Es la representación de la aplicación en la
pantalla de Home o en la lista de Aplicaciones.

• Medidas: 36x36(ldpi), 48x48(mdpi),


72x72(hdpi), 96x96(xhdpi)
Guías de diseño: Iconografía
Small / Contextual:

• Funcionan como acciones sobre un


elemento de una lista o para indicar
un estado de un elemento.

• Solo utilizan un color neutral y otro


no-neutral para indicar dos
diferentes estados.

• Medidas: 12x12(ldpi), 16x16(mdpi),


24x24(hdpi), 32x32(xhdpi)
Guías de diseño: Iconografía

Notifications:

• Solo si la App lanza notificaciones,


identifica la notificación en la barra
de estado.

• Generalmente deben ser blancos,


sin fondo y planos.

• Medidas: 18x18(ldpi), 24x24(mdpi),


36x36(hdpi), 48x48(xhdpi)
Requisitos para la publicación en Google Play

• Cuenta en Gmail: Diferente a tu cuenta personal.

• Pago único para publicar en Google Play: $ Dolares

• Generar un certificado digital: Utilizando la herramienta “keytool” disponible en el JDK

• Firmar digitalmente del APK: A través de Eclipse o NetBeans

• Contenido: Preparar el apk, los datos y recursos para la publicación.

• Publicación
Recursos  SDK:
http://developer.android.com/sdk/index.html

 Guía de Diseño:
http://developer.android.com/design/index.html

 Eclipse IDE:
http://www.eclipse.org/

 Android Developer Studio


http://developer.android.com/sdk/installing/studio.html

 Android Developers:
 http://developer.android.com/index.html