2. Índice 1. ¿Qué es Android? 2. ¿Qué promete Android? 3. Arquitectura de Android 4. SDK y desarrollo 5. Antes de programar 5.1. Entorno IDE 5.2. Información de referencia 6. Ejemplos prácticos 6.1. Crear un programa 6.2. Hello, Android vs. Hello Psem 6.3. Otras aplicaciones 7. Futuro
3. 1. ¿Qué es Android? Proyecto GPL para integración de software en disp. móviles. Open hanset Alliance (+30 compañías tecnología) - Operadores (Sprint, T-Mobile, Telefonica,...) - Constructores (TI, Intel, Motorola, Nvidia, Qualcomm,...) Set de software para dispositivos móviles: - Completo : OS, middleware y aplicaciones - Abierto : construido sobrel el Kernel de Linux (en Java) - Gratuito : SDK disponible en internet Compromiso tecnológico para optimizar recursos en entornos móviles
4. 2. ¿Qué promete Android? LIBERTAD: - Todas las aplicaciones están construidas igual (todo es customizable) - Desarrollo aplicaciones vs. Instalación aplicaciones MOVILIDAD: - Aplicaciones provistas de localización - Mejora de comunicaciones P2P DESARROLLO FÁCIL Y RÁPIDO + SOPORTE - SDK con emulador y debugger - Comunidad de desarrolladores / grupos de discusión
6. 3. Arquitectura de Android Construido desde la base (Kernel) hacia capas superiores: - Linux Kernel: Núcleo Linux 2.6. Control drivers, periféricos. Servicios : seguridad, gestión de memoria, procesos - Bibliotecas: Escritas en C/C++ Gráficos (2D, 3D), reproducción/grabación archivos media, mapa de bits, BBDD. - Runtime: Sobre la máquina virtual de Dalvik Archivos .dex optimizan necesidades de memoria, batería y procesado - Application Framework: Acceso completo a API's Vistas (Listas, Grids, botones, etc), Content Provider (gestión acceso) y varios Managers (Resource, Notification, Activity) - Aplicaciones: Set of Core applications Email, SMS, calendario, mapas, navegador internet, contactos
7.
8. 5. Antes de programar PACKAGE EXPLORER 5.1. Entorno IDE NAVIGATOR HIERARCHY En el entorno del IDE de eclipse existen 3 vistas: HIERARCHY -> TIPOS, SUBTIPOS y SUPERTIPOS NAVIGATOR -> Navegación en el workspace (navegación en recursos) PACK. EXPLORER-> Navegación en el proyecto (navegacón en java)
9.
10. 6. Ejemplos Prácticos File -> New -> Project (Android - > Android Project) Project Name: Carpeta donde se almacena el proyecto Properties Package name: Namespace donde residirá el código Activity name: Clase generada Application name: Nombre de la aplicación creada 6.1. Crear un Proyecto com.google.android Es un paquete de predefinido de google donde almacena sus aplicaciones Si deseasemos crear una nueva aplicación, p.ej. pondríamos: psem.android.hello Project Name: Hello android / Hello psem Package name: com.google.android.hello psem.android.hello Activity name: HelloAndroid / HelloPsem Application name: Hello_Android / Hello_Psem 6.2. Hello, Android vs. Hello Psem
11. 6. Ejemplos Prácticos 6.2. Hello, Android vs. Hello Psem public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); TextView tv = new TextView( this ); tv.setText("Hello, Android"); setContentView(tv); } } public class HelloPsem extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView( R.layout.main ); } } Programatic UI layout Crear aplicaciones en código fuente xml. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello, Android!" /> </LinearLayout> com.google.android.hello ya contiene una aplicación con el siguiente código
12. 6. Ejemplos Prácticos Motivar al desarrollador a crear aplicaciones. Existe un tutorial con aplicaciones guiadas. Consta de 3 ejercicios más uno que es una guía de utilización del debugger. Ejercicio 1 Permite crear notas y editarlas. También demuestra las opciones básicas del ListActivities y la creación y edición de un menú de opciones Ejercicio 2 Explica como crear una segunda actividad y adjuntarla al proyecto, añadirla al Manifest. También como invocar una actividad de forma asíncrona con startSubActivity() . Ejercicio 3 Trata los life-cycle events y callbacks y las técnicas para almacenar y mantener la información del estado de aplicación. Ejercicio Debugger Uso del debugger. Cómo poner breakpoints y observar variables, cómo ejecutar la aplicación en modo debug. 6.3. Otras aplicaciones guiadas