estructura y componentes de una aplicaciÓn...

Post on 30-Jan-2018

225 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ESTRUCTURA Y COMPONENTES DE UNA APLICACIÓN ANDROID

• Introducción al Desarrollo Móvil1

• Introducción a Android2

• Instalación del SDK3

• Primera aplicación4

• Proyecto: Lector de RSS5

• Guías de diseño6

• Publicación en Google Play7

¿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 stand-alone

Aplicaciones instaladas en el dispositivo que

no requieren Internet.

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.

¿Cuáles son las plataformas de desarrollo?

Compañía Apple Google Microsoft Firefox

Lenguaje de programación

Objective-C Java C# C++, Rust

IDE de desarrollo

XCode Eclipse Visual Studio

Firefox APP Manager

Distribución de Apps

App StoreAndroid Market*

Market PlaceFirefox MarketPlace

¿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

Linux Kernel

Android Runtime

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 Activityrepresenta 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/index.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 generadosassets/

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

menuAndroidManifest.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 IndependentPixel”.

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

top related