Вы находитесь на странице: 1из 18

Android Bolivia - Comunidad La Paz

15/03/2013

Comunidad Android Bolivia

Desarrollo de Aplicaciones Android

Creacin y depuracin
de aplicaciones
Sesin 3
Gustavo Lizrraga
http://about.me/lizgux

Agenda
Componen
tes de una
aplicacin
Activities
Services
Content
providers
Broadcast
receivers

Desarrollo de Aplicaciones Android

Activities

Intents

Logging

Implementaci
n
Funcionamie
nto
Ciclo de vida

Ejecutar
Activities
Adjuntar
datos
Intents
implcitos

Registro de
mensajes
LogCat

Android Bolivia - Comunidad La Paz

15/03/2013

Componentes de una
aplicacin

Activities
Una activity representa una pantalla con una
interfaz de usuario.

Desarrollo de Aplicaciones Android

Android Bolivia - Comunidad La Paz

15/03/2013

Services
Un servicio es un componente que se ejecuta en
segundo plano para realizar operaciones de
larga duracin.
Un servicio no proporciona una interfaz de
usuario.

Ejemplos
Reproducir msica.
Obtener datos de la red.

Content providers
Un proveedor de contenido gestiona un conjunto
compartido de datos de la aplicacin.
Se puede almacenar los datos en un sistema de
archivos, una base de datos SQLite, en la web, o
cualquier otro lugar persistente.
Ejemplos
Contactos del usuario.
Registro de llamadas.

Desarrollo de Aplicaciones Android

Android Bolivia - Comunidad La Paz

15/03/2013

Broadcast receivers
Un receptor de transmisiones es un componente
que responde a las notificaciones de todo el
sistema.
Ejemplos
Cuando la pantalla de apaga.
La batera esta baja.
Una imagen fue capturada.

Activities

Desarrollo de Aplicaciones Android

Android Bolivia - Comunidad La Paz

15/03/2013

Activity
Una activity representa una pantalla con una
interfaz de usuario.

PrincipalActivity
.java

activity_principal
.xml

Implementacin
Es implementada como una subclase de Activity,
dentro de la carpeta src.
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
}
}

Es buena practica poner la terminacin Activity


al nombre de la clase.

Desarrollo de Aplicaciones Android

Android Bolivia - Comunidad La Paz

15/03/2013

Interfaz de usuario
La manera mas comn y recomendada es
utilizando un archivo XML almacenado en
res/layout, as se tiene el diseo separado del
cdigo fuente.
Colocar un diseo
setContentView()
Dentro del mtodo onCreate() de la activity.

Funcionamiento
Cada activity con su layout o diseo.

PrimeraActivity
.java

SegundaActivity
.java

TerceraActivity
.java

activity_primera
.xml

activity_segunda
.xml

activity_tercera
.xml

Desarrollo de Aplicaciones Android

Android Bolivia - Comunidad La Paz

15/03/2013

Funcionamiento
Activities con el mismo layout o diseo.

PrimeraActivity
.java

SegundaActivity
.java

activity_primera
.xml

TerceraActivity
.java

activity_segunda
.xml

Funcionamiento
Una activity con mas de un layout.

PrimeraActivity
.java

activity_primera
.xml

Desarrollo de Aplicaciones Android

SegundaActivity
.java

TerceraActivity
.java
Con diseo definido
en Java

activity_segunda activity_tercera
.xml
.xml

Android Bolivia - Comunidad La Paz

15/03/2013

Declaracin en el manifest
Se debe registrar todas las activities que usara la
aplicacin en el AndroidManifest.xml.
Aadir un elemento <activity> como hijo del
elemento <application>.
<manifest ... >

<application ... >


<activity android:name=".MiActivity" />
...
</application ... >
...
</manifest >

Ciclo de vida

Desarrollo de Aplicaciones Android

Android Bolivia - Comunidad La Paz

15/03/2013

Estados
Una activity puede quedar en uno de estos
estados.
Estado
Resumido
Pausado
Detenido

Descripcin
La activity esta en primer plano y el
usuario puede interactuar con ella.
La activity esta parcialmente oculta
por otra actividad.
La activity esta completamente
oculta y no es visible para el usuario.

Crear una
nueva Activity
Ejercicio 1
Crear una nueva
Activity con su
respectivo diseo XML.

Desarrollo de Aplicaciones Android

Android Bolivia - Comunidad La Paz

15/03/2013

Intents

Intent
Mensaje que provoca cambio de estado entre
activities o servicios y broadcast receivers.
Tres de los cuatro componentes bsicos se
activan a travs de Intents.

Desarrollo de Aplicaciones Android

10

Android Bolivia - Comunidad La Paz

15/03/2013

Iniciar una Activity


Intent intent = new Intent(this, NuevaActivity.class);

Para ejecutar
startActivity(intent)

Para ejecutar y obtener un resultado


startActivityForResult(intent)

Adjuntar datos
Colocar datos al intent antes de ejecutarlo.
intent.putExtra("mensaje", msg);

Recibir datos en la nueva activity.


Intent intent = getIntent();
String msg = intent.getStringExtra("mensaje");

Desarrollo de Aplicaciones Android

11

Android Bolivia - Comunidad La Paz

15/03/2013

Iniciar una
Activity
Ejercicio 2
Iniciar una nueva
Activity desde la
principal.

Intents implcitos
No declaran el nombre de la clase a iniciar pero
en su lugar se declara la accin que se desea.
Acciones
Realizar una llamada telefnica, abrir una
pgina web, mostrar un mapa, enviar un
correo, etc.
Iniciar activities de otras aplicaciones que lo
permitan.
http://developer.android.com/reference/android/content/Intent.html

Desarrollo de Aplicaciones Android

12

Android Bolivia - Comunidad La Paz

15/03/2013

Intents implcitos
Abrir la aplicacin de marcado telefnico
Uri numero = Uri.parse("tel:77273483");
Intent intent = new Intent(Intent.ACTION_DIAL, numero);
startActivity(intent);

Llamar a un numero telefnico


Uri numero = Uri.parse("tel:77752810");
Intent intent = new Intent(Intent.ACTION_CALL, numero);
startActivity(intent);

Requiere el permiso android.permission.CALL_PHONE.

Intents implcitos
Abrir una pgina web
Uri web = Uri.parse("http://www.androidbolivia.org");
Intent intent = new Intent(Intent.ACTION_VIEW, web);
startActivity(intent);

Abrir la aplicacin de correo


Intent i = new Intent(Intent.ACTION_SEND);
i.setType(HTTP.PLAIN_TEXT_TYPE);
i.putExtra(Intent.EXTRA_EMAIL,new String[]{"tu@correo.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "Asunto del correo");
i.putExtra(Intent.EXTRA_TEXT, "Mensaje del correo");
startActivity(i);

Tambin se puede adjuntar archivos con Intent.EXTRA_STREAM.

Desarrollo de Aplicaciones Android

13

Android Bolivia - Comunidad La Paz

15/03/2013

Intents implcitos
Mostrar un mapa con Google Maps
Desde un punto geogrfico, z es el nivel de zoom.
Uri ubicacion =
Uri.parse("geo:-16.504677,-68.129987?z=16");
Intent i = new Intent(Intent.ACTION_VIEW, ubicacion);
startActivity(i);

Desde una direccin, q es una query o consulta.


Uri ubicacion =
Uri.parse("geo:0,0?q=Perez+Velasco,+La+Paz,+Bolivia");
Intent i = new Intent(Intent.ACTION_VIEW, ubicacion);
startActivity(i);

Demostracin
Uso de algunos intents implcitos

Desarrollo de Aplicaciones Android

14

Android Bolivia - Comunidad La Paz

15/03/2013

Logging

Registro de mensajes
Se provee de una clase android.util.Log para
mostrar algunos mensajes durante la ejecucin.

Desarrollo de Aplicaciones Android

15

Android Bolivia - Comunidad La Paz

15/03/2013

Mtodos
Mtodo

Propsito

Log.e()
Log.w()
Log.i()

Registrar errores
Registrar advertencias

Registrar mensajes de informacin


Log.d()
Registrar mensajes de depuracin
Log.v()
Registrar mensajes detallados
Log.wtf() What a Terrible Failure.
Registrar mensajes de eventos que
no deberan de pasar nunca.

Sintaxis
Mostrar un registro de informacin.
Log.i("MainActivity", "Esta es una informacin");

Desarrollo de Aplicaciones Android

16

Android Bolivia - Comunidad La Paz

15/03/2013

LogCat
Aparece en la perspectiva Java y DDMS de
Eclipse.

Demostracin
Uso de logging

Desarrollo de Aplicaciones Android

17

Android Bolivia - Comunidad La Paz

15/03/2013

Preguntas y respuestas

Android Bolivia
Comunidad La Paz

Gustavo Lizrraga
http://about.me/lizgux

Desarrollo de Aplicaciones Android

18