Você está na página 1de 28

Android Quick Start

Jess Fontecha Diezma

University of Castilla-La Mancha, Spain MAmI Research Lab

INTRODUCCIN A ANDROID
SSOO de Google
Diseado para ser ejecutado en dispositivos mviles. Origen: 2007 Open Handset Alliance (OHA)

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

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


2

ELEMENTOS
Activity
El ms importante Representa una pantalla individual Presenta una interfaz grfica al usuario
Listado de nombres y telfonos
public class Activity extends ApplicationContext { protected void onCreate(Bundle savedInstanceState); protected void onStart();

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Agenda telefnica

protected void onRestart(); protected void onResume(); protected void onPause(); protected void onStop(); protected void onDestroy(); }

Informacin detallada del contacto

ELEMENTOS
Ciclo de vida
Primera vez Cuando es visible

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Asignacin de memoria

Otra actividad en primer plano Cuando se oculta Finaliza


4

(Clases que extienden de Activity)

ELEMENTOS
Services
No tiene interfaz grfica Puede ejecutarse en background (= demonio Linux)
Tiempo

Capturar posicin GPS


Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Amigo Cerca

Capturar datos acelermetro

Tiempo

Objetivo n. pasos

ELEMENTOS
Broadcast receivers
Detecta y reacciona ante mensajes o eventos del sistema Notificaciones broadcast.
Cambio zona horaria Llamada Tarjeta SD

SMS
Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Otras aplicaciones

Batera baja

No tienen interfaz grfica Heredan de la clase BroadcastReceiver


6

ELEMENTOS
Intents
Elemento bsico de comunicacin Mensajes entre componentes Definen qu se debe hacer
Mostrar una actividad desde otra Enviar mensaje broadcast Iniciar otra aplicacin

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Iniciar un servicio

Cualquier activity puede reutilizar funciones de otros componentes Mediante solicitud en la forma de Intent
(invocacin)
7

ELEMENTOS
Views
Componentes bsicos para la construccin de la UI Anlogo a los controles de Java o .NET
Cuadros de texto
Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Botones Barras de desplazamiento

Listas desplegables

Imgenes

Es posible extender la funcionalidad de los controles bsicos Permite la creacin de controles personalizados
8

ELEMENTOS
Content providers
Mecanismos para compartir datos entre aplicaciones. No se muestran detalles del almacenamiento interno de los datos, su estructura o su implementacin. Podemos acceder a datos de otras aplicaciones
Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Agenda del sistema Mi Agenda

Almacenamiento (BBDD) SQLite


9

ELEMENTOS
Widgets
Elementos visuales e interactivos Se muestran en la pantalla principal del terminal Pueden recibir actualizaciones peridicas Muestran informacin de la aplicacin al usuario desde la pantalla principal.
Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

10

PROCESOS
Una aplicacin Android se ejecuta dentro de un proceso. El sistema administra la memoria para ese proceso Su tiempo de vida es controlado por el sistema Android prioriza los procesos jerarqua de procesos Foreground Process Primer plano Aloja una activity en pantalla con la que se interacta
onResume() llamado IntentReceiver ejecutndose

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Eliminados como ltimo recurso por el sistema


11

PROCESOS
Visible Process Aloja una activity No est en primer plano Ejemplo: Cuadro de dilogo
Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

onPause() llamado

Service Process Aloja un service No son visibles Son importantes para el usuario
Conexin a servidor Reproducir msica

Iniciado con startService()

12

PROCESOS
Background Process Aloja una activity no visible
onStop() llamado

Su eliminacin no repercute en la actividad del usuario Numerosos en el sistema Lista de eliminacin


Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Empty Process No aloja ningn componente Por qu existen? Mantienen una cach de la aplicacin para su prxima activacin. Eliminados con frecuencia para obtener memoria
13

DESARROLLO CON ANDROID


Qu necesitamos?

PC

Conocimientos de Java

IDE

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Plugin (ADT)

Libreras SDK Emulador DVM

14

SDK ANDROID
Instalar NetBeans Instalar SDK Android Configuramos el SDK de Android Men Settings
Seleccionar

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

15

SDK ANDROID
Creamos el emulador Virtual Device New Seleccionamos sus funcionalidades

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Aadimos el plugin de Android en NetBeans Tools/Plugins/Settings/Add


http://kenai.com/downloads/nbandroid/updates.xml

Insertar la URL

https://dl-ssl.google.com/android/eclipse/

Para Eclipse
16

IDE + PLUGIN
Instalamos el plugin Available plugins Search text field: android Chekear e instalar

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Comprobar que se ha instalado el servicio Android

Servicio Android

17

IDE + PLUGIN
Aadimos la plataforma de Java Tools/Java Platform/Add Platform Aadimos una de Google Android Buscamos la carpeta del SDK Finalizamos
Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

18

CREAR UN PROYECTO
Creamos un proyecto Android en el IDE File/New Project

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText( Hola Mundo ); setContentView(tv); } }
19

Hola Mundo

ESTRUCTURA
Estructura de directorios
/src Actividades, clases y archivo R.java
R.java: Autogenerado por Android (vbles. sistema)

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

/res/drawable Imgenes de la aplicacin /res/layout Vistas de la aplicacin en XML /res/values Archivos XML con las variables de la aplicacin Libraries El IDE referencia al SDK de Android AndroidManifest.xml Archivo de manifiesto
Define todas las actividades Define la configuracin del proyecto

Ejecucin y emulacin: Dalvik Virtual Machine (DVM)

20

INTERFACES GRFICAS
Son recursos de nuestra aplicacin Se almacenan en /res Archivos XML Layouts y componentes La separacin de lgica e interfaz favorece la aplicacin del patrn Modelo-Vista-Controlador (MVC)
Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

-Responsable de eventos - Lgica tras la interaccin del usuario Controlador

- Interfaz de usuario Vista

-Representacin de la informacin Modelo


21

COMPONENTES GRFICOS
Layouts. Distribucin 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" />

Linear Layout

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

</LinearLayout> <?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
22

COMPONENTES GRFICOS
<?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=

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

<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

23

COMPONENTES GRFICOS
<?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>

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Frame Layout

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

COMPONENTES GRFICOS
Controles.
EditText RadioGroup DatePicker
Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

AnalogClock TimePicker List View AutoComplete Textview

DigitalClock RadioButton Spinner Grid View

Button TextView CheckBox

ProgressBar Gallery ImageButton

ImageView

Eventos. Se gestionan a travs de Listeners Se implementa el mtodo que captura el evento


25

DROID DRAW
No integrado en el IDE ni en el SDK Eclipse integra un Graphical Layout Diseo visual de la UI Arrastrar componentes Generar XML Copiar XML
Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

26

ALGUNAS LIBRERAS
Set de libreras escritas en C/C++ Usadas por el desarrollador a travs del framework Java de Android

Implementacin biblioteca C estndar

Bibliotecas de medios

Introduccin a Android Elementos Ciclo de vida: Activity Procesos Desarrollo con Android Entorno de trabajo SDK Android IDE + Plugin Crear un proyecto Estructura Interfaces grficas Componentes grficos DroidDraw Algunas libreras

Bibliotecas de grficos

Bibliotecas OpenGL 3D

Biblioteca SQLite

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

27

Android Quick Start

Jess Fontecha Diezma

28

Você também pode gostar