La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sergio Aguado González

Presentaciones similares


Presentación del tema: "Sergio Aguado González"— Transcripción de la presentación:

1 Sergio Aguado González

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

3 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 Programar aplicaciones utilizando su framework de desarrollo Personalizar el sistema operativo o realizar aplicaciones nativas… (CyanogenMod)

5 Eclipse Plugin ADT (Android Developer Tools) Android SDK Lenguaje de programación Java o C y C++!!!

6

7 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 Librerías Escritas en C y C++. Se acceden a través del framework de aplicación Kernel

9

10

11

12 Activities Recursos Layout Imágenes Strings Otros: animaciones, colores, menus, estilo, raw AndroidManifest.xml

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

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

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

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

17 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 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 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 Una aplicación puede registrarse mediante filtros a cualquier Intent. No hay aplicación más importante que otra

21 La activity inicial también se inicia con un Intent

22 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 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 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 Vida completa

26 Vida visible

27 Vida con foco

28 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 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

31 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 No trabajar con Absolute Layout Tener recursos para distintas densidades (low, medium, high) Usar dips y nunca pixels


Descargar ppt "Sergio Aguado González"

Presentaciones similares


Anuncios Google