Android Basics v2.0

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

description

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

Transcript of Android Basics v2.0

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