Diferencia entre revisiones de «Usuario:ManuelRomero/Actividades»

De WikiEducator
Saltar a: navegación, buscar
(Actividades, fragmentos e Intens)
(Ciclo de vida de una actividad)
Línea 14: Línea 14:
  
 
===Ciclo de vida de una actividad===
 
===Ciclo de vida de una actividad===
#Creacion de la actividad  
+
;Creacion de la actividad  
 
  onCreate()
 
  onCreate()
 +
:Llamado cuando se crea una actividad por primera vez
 +
:En este método se debe crear e instanciar los objetos  que utiliza la aplicación
 
#Actividad visible
 
#Actividad visible
 
  onStart()  
 
  onStart()  
 +
:Se inicia una actividad (por primera vez o por que vuelve de segundo plano)
 
#Actividad interactuando con el usuario
 
#Actividad interactuando con el usuario
 
  onResume()
 
  onResume()
 +
:Se inicia una actividad (por primera vez o por que vuelve de segundo plano)
 +
:Se debe iniciar cualquier servicio o proceso que necesite que se esté ejecutando cuando mi proceso está en primer plano
 
#Actividad se detiene y otra  se reanuda
 
#Actividad se detiene y otra  se reanuda
 
  onPause()
 
  onPause()
 +
:La actividad deja de estar en primer plano (pasa a segundo plano o se va a destruir).
 +
:Detener cualquier servicio o proceso que no se tiene que ejecutar si mi proceso no está en primer plano
 
#Actividad ya no es visible para el usuario
 
#Actividad ya no es visible para el usuario
 
  onStop()
 
  onStop()
 
#Actividad se destruyeya no es visible para el usuario
 
#Actividad se destruyeya no es visible para el usuario
 
  onDestroy()
 
  onDestroy()
 +
:La actividad se destruye
 +
:Se deben de liberar los recursos antes de que la actividad sea destruida
 
#Actividad detenida se reanuda
 
#Actividad detenida se reanuda
 
  onRestart()
 
  onRestart()
 
[[Imagen:CicloVidaActividad.png]]
 
[[Imagen:CicloVidaActividad.png]]
 +
 
===Código de ejemplo===
 
===Código de ejemplo===
 
#Creamos un nuevo proyecto llamado Actividad1
 
#Creamos un nuevo proyecto llamado Actividad1

Revisión de 03:27 2 nov 2012



Actividades, fragmentos e Intens



Icon define.gif

Definición

Actividad es una ventana que contiene la interfaz de usuario de una aplicacion


  1. Referencia
http://developer.android.com/guide/components/activities.html 
http://developer.android.com/reference/android/app/Activity.html
  • Una aplicación puede tener una o más actividades
  • El objetivo de una actividad es interactuar con el usuario
  • Una actividad tiene vida propia cumpliendo un ciclo de vida
  1. toda actividad deriva de la clase Activity

Ciclo de vida de una actividad

Creacion de la actividad
onCreate()
Llamado cuando se crea una actividad por primera vez
En este método se debe crear e instanciar los objetos que utiliza la aplicación
  1. Actividad visible
onStart() 
Se inicia una actividad (por primera vez o por que vuelve de segundo plano)
  1. Actividad interactuando con el usuario
onResume()
Se inicia una actividad (por primera vez o por que vuelve de segundo plano)
Se debe iniciar cualquier servicio o proceso que necesite que se esté ejecutando cuando mi proceso está en primer plano
  1. Actividad se detiene y otra se reanuda
onPause()
La actividad deja de estar en primer plano (pasa a segundo plano o se va a destruir).
Detener cualquier servicio o proceso que no se tiene que ejecutar si mi proceso no está en primer plano
  1. Actividad ya no es visible para el usuario
onStop()
  1. Actividad se destruyeya no es visible para el usuario
onDestroy()
La actividad se destruye
Se deben de liberar los recursos antes de que la actividad sea destruida
  1. Actividad detenida se reanuda
onRestart()

CicloVidaActividad.png

Código de ejemplo

  1. Creamos un nuevo proyecto llamado Actividad1
  2. Aceptamos por defecto las opciones
  3. Y vamos al fuente (src... MainActivity.java)

El sistema nos ha creado el siguiente contendio

package com.example.ciclovidaactividad;
 
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
 
public class MainActivity extends Activity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}
*La clase de actividad carga su componente de interfaz  de usuario utilizanndo '''''res/layout/activity_main.xml'''''
*Lo podemos ver en modo gráfico y el contenido del fichero
[[image:OpcionesLayout.png]]
<Source lang=java>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world"
        tools:context=".MainActivity" />
 
</RelativeLayout>
*Ahora debemos cargar la actividad en el fichero '''''AndoridManifest.xml'''''
*Si editamos el fichero vemos que ya está cargado
*Existen asistentes para hacer las cosas de manera manual y no tocar el fuente xml
[[image:OpcionesManifest.png]]

</source>

package com.example.activity101;
 
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.util.Log;
 
public class MainActivity extends Activity {
 
	String tag="Ciclo de vida";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d(tag,"Dentro del evento onCreate()");
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    @Override
    public void onStart(){
    	super.onStart();
    	Log.d(tag,"Dentro del evento onStart()");
 
    }
    @Override
    public void onRestart(){
    	super.onRestart();
    	Log.d(tag,"Dentro del evento onReset()");
    }
    @Override
    public void onResume(){
    	super.onResume();
    	Log.d(tag,"Dentro del evento onResume()");
    }
    @Override
    public void onPause(){
    	super.onPause();
    	Log.d(tag,"Dentro del evento onPause()");
    }    
 
    @Override
    public void onStop(){
    	super.onStop();
    	Log.d(tag,"Dentro del evento onStop()");
    }    
    @Override
    public void onDestroy(){
    	super.onDestroy();
    	Log.d(tag,"Dentro del evento onDestroy()");
    }    
 
}