CLASE 02

Componentes de Android

ACTIVITIES

Views

ViewGroups

Activities
Intents

BroadcastReceivers

Services

ContentProviers

Widgets

Views

Interfaz de Usuario

ViewGroups

Organizan Views

Activities

Capa de Presentación

Intents

Mensajes asíncronos para requerir funcionalidad

BroadcastReceivers

Reciben mensajes propios o del sistema

Services

Procesamiento en segundo plano

ContentProvider

Interfaz estructurada para compartir contenido.

Widgets

HomeScreen interface

ACTIVITIES

Context

Interfaz global de información acerca del entorno de la Aplicación

Ciclo de Vida

Sistema de Pila

ESTADOS FUNDAMENTALES

  • Activa
  • Pausada
  • Detenida
  • Finalizada

Iniciar una Actividad

Intent i = new Intent(getApplicationContext(),AnotherActivity.class);
startActivity(i);

Para iniciar una actividad de forma explícita se debe crear un intento con el nombre de la Activity que queremos iniciar

Iniciar una Actividad y Esperar un Resultado

startActivityForResult(i,123456);

Además del intento, se debe proporcionar un código numérico que identificará al resultado:

Intent i = new Intent();
i.putExtra("resulNom", nombreIngresado);
setResult(RESULT_OK, i);
finish();

La segunda Activity devolverá el resultado:

@Override
protected void onActivityResult(int key, int status, Intent data){
    super.onActivityResult(key,status,data);
    
    if (KEY == 123456){
        /* ToDo actions*/
    }
}

Y la Activity padre esperará la respuesta:

Iniciar una Actividad Implicitamente

Intent i = new Intent();
i.setAction(Intent.ACTION_SEND);
i.putExtra(Intent.EXTRA_TEXT, "Texto a Enviar");
i.setType(HTTP.PLAIN_TEXT_TYPE);
startActivity(i)

// Para customizar el chooser
Intent chooser = Intent.createChooser(i, "Como desea enviar?");
startActivity(chooser);

Al iniciar una actividad implicitamente, no le decimos que Activity queremos iniciar, sino que lanzamos una acción y el sistema determina cuáles son los componente sregistrados para ese evento:

Registrar una Actividad para una Acción

// Dentro del TAG <activity> del manifiesto
<intent-filter>
    <action andoid:name="android.intent.action.SEND"/>
    <category andoid:name="android.intent.category.DEFAULT"/>
    <data andoid:mimeType="text/plain"/>
</intent-filter>

Antes vimos como lanzar una acción y que el sistema determine cuáles son las actividades registradas para realizarla. Ahora vamos a ver como registrar nuestra propia actividad:

sebasira@gmail.com

Gracias!

No dejen de consultar cualquier duda que surja

Made with Slides.com