La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Desarrollo con Android

Presentaciones similares


Presentación del tema: "Desarrollo con Android"— Transcripción de la presentación:

1 Desarrollo con Android
Sergio Aguado González

2 Índice ¿Qué es Android? Requisitos para programar
Estructura de una aplicación Activities, intents y ciclo de vida

3 ¿Qué es Android? Un sistema operativo basado en Linux para dispositivos móviles Una máquina virtual Java (Dalvik) Un SDK y un framework de aplicación con diversas librerías: 2D y 3D SQLite Media, Bluetooth, Cámara, GPS, brújula, acelerómetro,…

4 ¿Qué se puede hacer con Android?
Programar aplicaciones utilizando su framework de desarrollo Personalizar el sistema operativo o realizar aplicaciones nativas… (CyanogenMod)

5 ¿Qué se necesita para programar en Android?
Eclipse Plugin ADT (Android Developer Tools) Android SDK Lenguaje de programación Java o C y C++!!!

6 Arquitectura de Android

7 Arquitectura de Android
Aplicaciones Todas las aplicaciones tienen los mismos permisos y las mismas restricciones Framework de aplicación Infraestructura que ofrece Android para no reinventar la rueda: Componentes visuales Gestión del ciclo de vida de la aplicación

8 Arquitectura de Android
Librerías Escritas en C y C++. Se acceden a través del framework de aplicación Kernel

9 Hello Android!!!

10 Hello Android!!!

11 Hello Android!!!

12 Estructura básica de una aplicación
Activities Recursos Layout Imágenes Strings Otros: animaciones, colores, menus, estilo, raw AndroidManifest.xml

13 Activity Cada una de las pantallas de una aplicación
Para mostrar componentes visuales se utilizan los layouts public class HelloActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }

14 Layout Una jerarquía de vistas Componentes visuales (View)
Contentedores (ViewGroup)

15 Layout Componentes visuales Label Button Image Date y Time Picker Map
WebView

16 Layout Contenedores: LinearLayout TableLayout RelativeLayout TabLayout
AbsoluteLayout (NO!!)

17 Flujo de navegación El flujo de una aplicación se define como una sucesión de Activities De la misma aplicación o entre diferentes aplicaciones (colaborar!!!!!!) Las actividades comunican lo que quieren a través de Intents

18 Flujo de navegación. Intent
Descripción de una acción a realizar Dos tipos de Intents: Explícitos: Se indica la actividad concreta Implícitos: Se indica lo que se quiere (mostrar un navegador, enviar un correo,…) Se compone de: Acción: Qué se quiere hacer Uri: El dato principal (teléfono, id de un contacto) Categoría: Información adicional de la acción Extras (Bundle): un hash donde incluir más datos

19 Flujo de navegación. Intent
Ejemplos de acciones: ACTION_MAIN ACTION_VIEW ACTION_PICK ACTION_SEND ACTION_CALL String uri = "tel: "; Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse(uri)); startActivity(intent); String asunto = "Asunto"; String texto = "Algo de texto"; Intent Intent = new Intent(android.content.Intent.ACTION_SEND); Intent.setType("plain/text"); Intent.putExtra(android.content.Intent.EXTRA_ , new Intent.putExtra(android.content.Intent.EXTRA_SUBJECT, asunto); Intent.putExtra(android.content.Intent.EXTRA_TEXT, texto); startActivity(Intent.createChooser( Intent, "Send your in:")); //startActivity( Intent);

20 Flujo de navegación. Intent
Una aplicación puede registrarse mediante filtros a cualquier Intent. No hay aplicación más importante que otra

21 Flujo de navegación. Intent
La activity inicial también se inicia con un Intent <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="es.uji.decharlas.android" android:versionCode="1" android:versionName="1.0"> <application <activity android:name=".HelloActivity” <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MailActivity” <!– Otras actividades -- > </application> </manifest>

22 AndroidManifest.xml El paquete de la aplicación (nombre único)
Componentes de la aplicación (actividades, servicios, …) Qué Intents pueden pueden gestionar Permisos que necesita la aplicación para funcionar: acceder a la posicion, utilizar la cámara, recibir smss,… Librerías necesarias (p.e. Google Maps)

23 Ciclo de vida de una actividad
Idea principal: minimizar consumo de recursos Se divide el flujo de navegación mediante Activities Las activities: se inician se paran se destruyen si ya no se necesitan

24 Ciclo de vida de una actividad
Básicamente hay tres estados: Activo: Se está ejecutando y está visible en pantalla Pausada: Está todavía visible en pantalla pero no tiene el foco Parada: No está visible en pantalla y ya no se está ejecutando

25 Ciclo de vida de una actividad
Vida completa

26 Ciclo de vida de una actividad
Vida visible

27 Ciclo de vida de una actividad
Vida con foco

28 Ciclo de vida de una actividad
onCreate: Crear vistas, popular listas. Recuperar estado previo si lo hay onRestart: onStart: onResume: si hay algo parado volverlo a ejecutar. Recuparar onPause: pausar todo aquello que requiera de mucha CPU. Por ejemplo animaciones. Guardar información necesaria pues pueden matar el proceso sin previo aviso onStop: onDestroy:

29 Diferentes tamaños de pantalla
Android cuenta con dispositivos con Tamaños de pantalla Resoluciones de pantalla Relaciones de aspecto Densidad de píxels (píxels por pulgada) Ejemplo: Una imagen de 200x200 pixels no se ve igual de grande en todos los dispositivos

30 Diferentes tamaños de pantalla

31 Diferentes tamaños de pantalla
Density Independent Pixel: Unidad de píxel “virtual” para poder definir una interfaz de usuario de forma independiente 1dip = 1 pixel en una pantalla de 160 dpi (punto por pulgada) pixels = dips * (density / 160)

32 Diferentes tamaños de pantalla
No trabajar con Absolute Layout Tener recursos para distintas densidades (low, medium, high) Usar dips y nunca pixels


Descargar ppt "Desarrollo con Android"

Presentaciones similares


Anuncios Google