Diferencia entre revisiones de «Usuario:ManuelRomero/PrimeraAplicación»

De WikiEducator
Saltar a: navegación, buscar
(Página reemplazada por '{{:Usuario:ManuelRomero/Android/nav}} <br>')
Línea 1: Línea 1:
 
{{:Usuario:ManuelRomero/Android/nav}}
 
{{:Usuario:ManuelRomero/Android/nav}}
<br>
+
<br>
 
+
===Actividades, fragmentos e Intens===
+
<br/>
+
{{Definicion|'''''Actividad''''' es una ventana que contiene la interfaz de usuario de una aplicacion}}
+
*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
+
#toda actividad deriva de la clase '''''Activity'''''
+
===Ciclo de vida de una actividad===
+
#Creacion de la actividad
+
onCreate()
+
#Actividad visible
+
onStart()
+
#Actividad interactuando con el usuario
+
onResume()
+
#Actividad se detiene y otra  se reanuda
+
onPause()
+
#Actividad ya no es visible para el usuario
+
onStop()
+
#Actividad se destruyeya no es visible para el usuario
+
onDestroy()
+
#Actividad detenida se reanuda
+
onRestart()
+
[[Imagen:CicloVidaActividad.png]]
+
===Código de ejemplo===
+
#Creamos un nuevo proyecto llamado Actividad1
+
#Aceptamos por defecto las opciones
+
#Y vamos al fuente (src... MainActivity.java)
+
El sistema nos ha creado el siguiente contendio
+
<Source lang=java>
+
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>
+
 
+
</source>
+
<Source lang=java>
+
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()");
+
    }   
+
 
+
}
+
 
+
</Source>
+

Revisión de 03:12 2 nov 2012