Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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(); }
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
ELEMENTOS
Services
No tiene interfaz grfica Puede ejecutarse en background (= demonio Linux)
Tiempo
Amigo Cerca
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
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
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
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
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
12
PROCESOS
Background Process Aloja una activity no visible
onStop() llamado
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
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)
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
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
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
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
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
ImageView
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
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
28