42
University of Castilla-La Mancha, Spain MAmI Research Lab Android Quick Start v2.0 Jesús Fontecha Diezma

Android Basics v2.0

Embed Size (px)

DESCRIPTION

Second edition of Android Basics with more concepts, approaches and more.

Citation preview

Page 1: Android Basics v2.0

1

University of Castilla-La Mancha, SpainMAmI Research Lab

AndroidQuick Start v2.0

Jesús Fontecha Diezma

Page 2: Android Basics v2.0

2

Introducción

• SSOO de Google• Diseñado para ser ejecutado en dispositivos móviles.• Origen: 2007 Open Handset Alliance (OHA)

• Basado en el Kernel de Linux• Permite ejecutar aplicaciones en Java + XML

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 3: Android Basics v2.0

3

Actividades

• Activity• El más importante• Representa una pantalla individual• Presenta una interfaz gráfica al usuario

Agenda telefónica

public class Activity extends ApplicationContext {     protected void onCreate(Bundle savedInstanceState);

     protected void onStart();          protected void onRestart();

     protected void onResume();

     protected void onPause();

     protected void onStop();

     protected void onDestroy(); }

Activity 1

Activity 2

Información detallada del contacto

Listado de nombres y teléfonos

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 4: Android Basics v2.0

4

Ciclo de vida

(Clases que exti

enden de Activit

y)

Cuando es visible

Primera vez

Cuando se oculta

Asignación de memoria

Finaliza

Otra actividad en primer plano

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 5: Android Basics v2.0

5

Services y Broadcast Receivers

• Services• No tiene interfaz gráfica• Puede ejecutarse en background (= demonio Linux)

• Broadcast receivers• No tienen interfaz gráfica• Detecta y reacciona ante mensajes o eventos del

sistema Notificaciones broadcast.

Capturar posición GPSCapturar datos acelerómetro

Batería Baja Llamada Cambio zona horariaTarjeta SD Otras aplicaciones

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 6: Android Basics v2.0

6

Intents y Views

• Intents• Elemento básico de comunicación

• Variables/objetos entre componentes• Definen “qué se debe hacer”

Mostrar una actividad desde otra

Iniciar un servicio

Enviar mensaje broadcast Iniciar otra aplicación

• Views• Componentes básicos para la construcción de la UI• Análogo a los controles de Java o .NET

Cuadros de texto BotonesListas

desplegables ImágenesBarras de desplazamiento

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 7: Android Basics v2.0

7

Content Providers y Widgets

• Content providers• Mecanismos para compartir

datos entre aplicaciones.• Podemos acceder a datos de

otras aplicacionesMi

Agenda

Agenda del sistema

•Widgets• Elementos visuales e

interactivos• Se muestran en la pantalla

principal del terminal

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 8: Android Basics v2.0

8

Fragmentos

• Y a partir de Android 3.0 ¡Fragments!• Solución a la “fragmentación mala”.

Más de 4000 dispositivos Android: “muchas resoluciones, muchos tamaños” Argh!!

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 9: Android Basics v2.0

9

Fragmentos

• ¿Qué supone?• En aplicaciones antiguas:

• Uso de librerías de apoyo a la compatibilidad (support libraries).

• Reescritura de clases • En aplicaciones nuevas:

• Versatilidad: Misma app compatible para cualquier dispositivo.

• Aumentar la importancia del diseño de las actividades. Más difícil diseñar una buena app.

• Reutilización de fragmentos.• Cambian “un poco” aspectos iniciales de las actividades.

Actividades compuestas por componentes vs Actividades compuestas por fragmentos

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 10: Android Basics v2.0

10

Patrones de Diseño

• Objetivo• Unificar y mejorar la apariencia de la interfaz gráfica• http://www.androidpatterns.com/• Dashboards, listas, pestañas, menús, etc.

“No es una obligación, pero sí una recomendación”

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 11: Android Basics v2.0

11

Barras de acción

• Action Bar• Similar a una barra de tareas• Permite agrupar acciones• De acceso intuitivo y rápido

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 12: Android Basics v2.0

12

Ejemplo: Comparación (I)

• Misma Aplicación, diferentes dispositivos

Galaxy tab 10”

Galaxy S

Activ

idad

Frag

men

tos

Posibles transiciones

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 13: Android Basics v2.0

13

Ejemplo: Comparación (II)

• Misma Aplicación, mismo dispositivo, diferente orientación

Más trabajo de diseño, pero… • ¡Reutilizamos código!• ¡La aplicación se adapta a cualquier dispositivo Android!

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 14: Android Basics v2.0

14

Desarrollo con Android

• ¿Qué necesitamos?

DVM

Librerías

EmuladorSDK

IDE

Conocimientos Java

PC

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 15: Android Basics v2.0

15

SDK ANDROID (sobre Eclipse)

1. Instalar Eclipse2. Instalar SDK Android

http://developer.android.com/sdk/index.html• Instalar las librerías necesarias

3. Añadir un AVD – SDK Manager• Tools > Manage AVDs > New• Definir características y crear

4. Configurar Plugin ADT - Eclipse• Help > Install New Software• Introducir url proveedor: https://dl-ssl.google.com/android/eclipse/

5. ¡Ya podemos crear nuestro primer proyecto!

También se puede instalar en otros IDEs - Netbeans (ver Android Basics v.1)

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 16: Android Basics v2.0

16

Modelo Vista Controlador

• La separación de lógica e interfaz favorece la aplicación del patrón Modelo-Vista-Controlador (MVC)

ModeloVista

Controlador

- Interfaz de usuario

-Representación de la información

-Responsable de eventos- Lógica tras la interacción del usuario

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 17: Android Basics v2.0

17

Primeros Pasos1. New Project > Android Application

Project2. Definir las propiedades iniciales de la

App• Nombre• SDK desarrollo• Mínimo SDK requerido• Icono de aplicación• Actividad inicial (opcional)

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 18: Android Basics v2.0

18

¿Qué es todo esto?

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 19: Android Basics v2.0

19

Estructura de directorios

• /src – Clases java y archivo R.java• R.java: Autogenerado por Android (vbles. sistema)

• /res/drawable – Imágenes de la aplicación y recursos XML• Posibles subdirectorios

• /res/layout – Vistas de la aplicación en XML• Posibles subdirectorios

• /res/values – Archivos XML con las variables de la aplicación

• Libraries – El IDE referencia al SDK de Android• AndroidManifest.xml – Archivo de manifiesto

• Define todas las actividades, servicios,…• Define la configuración del proyecto

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 20: Android Basics v2.0

20

Ejemplo de Manifiesto

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 21: Android Basics v2.0

21

Vista de diseño

Views/Componentes Área de trabajo

Jerarquía Layouts-

Componentes

Propiedades Componente selección

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 22: Android Basics v2.0

22

Layouts (I)

• Layouts. Distribución de componentes en pantalla

<?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">

<Button android:text="Button01" android:id="@+id/Button01" android:layout_width="wrap_content"

android:layout_height="wrap_content" />

<Button android:text="Button02" android:id="@+id/Button02" android:layout_width="wrap_content"

android:layout_height="wrap_content" /> </LinearLayout>

Linear Layout

<?xml version="1.0" encoding="utf-8"?> <TableLayout android:id="@+id/TableLayout01"

android:layout_width="fill_parent" android:layout_height="fill_parent“xmlns:android="http://schemas.android.com/apk/res/android">

<TableRow android:id="@+id/TableRow01"> <TextView android:id="@+id/TextView01" android:text="First Name:" android:width="100px" /> <EditText android:id="@+id/EditText01" android:width="220px" />

…<TableRow android:id="@+id/TableRow03">

<Button android:id="@+id/Button01“ … android:layout_height="wrap_content" android:text="Submit" /> <Button android:id="@+id/Button02" android:layout_width="wrap_content" android:layout_...

</TableRow> </TableLayout>

Table Layout

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 23: Android Basics v2.0

23

Layouts (II)<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@+id/RelativeLayout01"

android:layout_width="fill_parent“ android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">

<TextView android:id="@+id/TextView01 … /> <EditText android:id="@+id/EditText01" android:layout_width="220px“ …

android:layout_toRightOf="@+id/TextView01" android:layout_below="@+id/RelativeLayout01" />

<EditText android:id="@+id/EditText02" … android:layout_below="@+id/EditText01" android:layout_alignLeft="@+id/EditText01" />

<TextView android:id="@+id/TextView02" android:layout_width=…

<Button android:text="Submit" android:id="@+id/Button01” …android:layout_below="@id/EditText02" android:layout_alignLeft="@id/EditText02" /> <Button android:text="Reset" android:id="@+id/Button02“ … android:layout_below="@id/EditText02" android:layout_alignRight="@id/EditText02" />

</RelativeLayout>

Relative Layout

<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/AbsoluteLayout01"

android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">

<EditText android:id="@+id/EditText01" android:layout_width="200px" android:layout_height="wrap_content" android:layout_x="12px" android:layout_y="12px" />

<Button android:text="Search" android:id="@+id/Button01" android:layout_width="100px" android:layout_height="wrap_content" android:layout_x="220px" android:layout_y="12px" />

</AbsoluteLayout>

Absolute Layout

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 24: Android Basics v2.0

24

Layouts (III)<?xml version="1.0" encoding="utf-8"?> <FrameLayout android:id="@+id/FrameLayout01" android:layout_width="fill_parent"

android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">

<ImageView android:id="@+id/ImageView01" android:src="@drawable/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaleType="center" />

<TextView android:text="Android Partaker" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="20dip" android:layout_gravity="center_horizontal|bottom" android:padding="10dip" android:textColor="#AA0000" android:textStyle="bold" android:textSize="20px" android:background="#00000000" />

</FrameLayout>

Frame Layout

Source: http://androidpartaker.wordpress.com/2010/07/03/introduction-to-android-ui-layouts/

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 25: Android Basics v2.0

25

Vistas Actividad

MainActivity.javaIntroducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 26: Android Basics v2.0

26

Fragmento en Actividad

Fragmento.java

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 27: Android Basics v2.0

27

Procedural vs Declarativo

Archivo JavaTextView tv= new TextView(this)tv.setWidth(100);tv.setHeight(60);tv.setText("phone"); setContentView(tv);

Archivo XML<TextView android:id="@+id/nameLabel" android:text="phone:" android:layout_width="100" android:layout_height="60"/>

• Ejemplo: Programación de un componente

• Vale, entonces… ¿Cómo lo hago? Depende• Recomendación: Declarar XML siempre que se pueda• ¡En layouts siempre!

¿Seguimos con algo de programación?

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 28: Android Basics v2.0

28

Eventos sobre componentes (I)

• Handlers• Maneja eventos de entrada sin importar dónde está el foco.• No están necesariamente asociados a un view.• Botón atrás, tocar pantalla,…

• Listeners• Maneja eventos generados por un view o viewgroup.

Views

EventosIntroducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 29: Android Basics v2.0

29

Eventos sobre componentes (II)

• Button

“Android recomienda que la actividad implemente la interfaz onXXXListener en lugar de usar clases anónimas”

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 30: Android Basics v2.0

30

Eventos sobre componentes (III)

• EditText

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 31: Android Basics v2.0

31

Eventos sobre componentes (IV)

• ImageView

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 32: Android Basics v2.0

32

Eventos sobre componentes (V)

• CheckBox

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 33: Android Basics v2.0

33

• Más Eventos• onLongClick, onFocusChange, onTouch, onKeyDown, onKeyUp,…

• Más Componentes• Texto TextView, AutocompleteTextView,…• Botón ImageButton, TogleButton, RadioButton,…• Vistas compuestas ExpandableListView, Listview…• Barras ProgressBar, SeekBar, RatinBar,…

ListItem

¿Cómo lleno la lista?

Eventos sobre componentes (VI)

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 34: Android Basics v2.0

34

Adaptadores (I)

• ¿Qué es?• Objeto que proporciona una interfaz común para cada modelo de

datos detrás de un control de selección.

• Tipos• ListAdapter• ArrayAdapter• SpinnerAdapter• SimpleCursorAdapter• CustomAdapters

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 35: Android Basics v2.0

35

Adaptadores (II)

• Ejemplo

//Creamos el adaptador ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.comidas,android.R.layout.simple_spinner_item); //Añadimos el layout para el menú adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //Le indicamos al spinner el adaptador a usar prueba.setAdapter(adapter);

¡Los datos no tienen porque proceder de recursos estáticos!

<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="comidas"> <item>Salchichas</item> <item>Huevos</item> <item>Tomates</item> </string-array> </resources>

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 36: Android Basics v2.0

36

Eventos sobre elementos Hw

• Interfaz SensorEventListener

mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);List<Sensor> listSensors = mSensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER);

http://developer.android.com/reference/android/hardware/Sensor.html

• Sensores

Recuperamos el sensor

onSensorChanged()Método

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 37: Android Basics v2.0

37

Más sobre Actividades y Fragmentos• Tipos de Actividades y Fragmentos

• ListActivity Diseñada especialmente para trabajar con ListViews.• ListFragment Idem.• Alguna más: TabActivity.• ¡Los fragmentos se “inflan” dentro de las actividades!

• Intents• Objetos utilizados para enviar mensajes asíncronos dentro de una

aplicación o entre varias aplicaciones.• Posibilitan la transición entre actividades.• Permiten la comunicación entre componentes.

http://androideity.com/2011/10/17/trabajando-con-intents-en-android-overview/

View view = inflater.inflate(R.layout.fragment_edit_name, container);

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 38: Android Basics v2.0

38

Intents y Bundles (I)

• Bundle• Contenedor para agrupar los datos. • Pueden ser usados conjuntamente con Intents.

• Ejemplo IntentIntent intent = new Intent();intent.setClass(getActivity(), NuevaActividad.class);intent.putExtra("identificador", id);intent.putExtra("nombre", nombre);startActivity(intent);

String id = getActivity().getIntent().getStringExtra("identificador");String nombre = getActivity().getIntent().getStringExtra("nombre");

Actividad 1 Actividad 2

identificador

nombre

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 39: Android Basics v2.0

39

Intents y Bundles (II)

• Ejemplo Bundle

Bundle extras = intent.getExtras();String key = extras.getString("mynkey");

Bundle b=new Bundle();b.putString("myname", nombre);

¡también podemos pasar objetos!

Serializable ParcelableIntroducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

• ¡Hay mucho más! Evolución constante• Nuevos firmwares• Nuevas funciones

¡Esto sólo ha sido el comienzo de una ¿gran? amistad!

Page 40: Android Basics v2.0

40

Ejecución de aplicaciones

Dispositivos conectados

Emuladores

Dalvik Virtual Machine (DVM)

!NO OLVIDES LA DEPURACIÓN!

Poner en modo depuracion

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 41: Android Basics v2.0

41

Uso de Librerías

• Hay librerías para todo y para todos• Almacenamiento de datos (SQLite)• Bibliotecas de medios• Bibliotecas gráficas (2D y 3D –OpenGL)• Servicios Web (Ksoap)• Mapas (API Google Maps)• …¡y muchas más!

REFERENCIA: http://developer.android.com/index.html

Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseñoDesarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración Librerías

Page 42: Android Basics v2.0

42

Jesús Fontecha DiezmaAndroid Quick Start V2.0