Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Activities
Clases pblicas, que heredan de android.app.Activity El mtodo onCreate() debe ser implementado
OnCreate() recibe como parmetro un objeto de la clase Bundle con la informacin del estado anterior de la actividad, si se tiene
package com.wirbi.activities; package com.wirbi.activities; import import import import android.app.Activity; android.app.Activity; android.os.Bundle; android.os.Bundle;
public class ActivityPrincipal extends Activity { public class ActivityPrincipal extends Activity { @Override @Override public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.onCreate(savedInstanceState); setContentView(R.layout.principal); setContentView(R.layout.principal); } }
} }
Agregar al Manifest
<application <application android:icon="@drawable/ic_launcher" android:icon="@drawable/ic_launcher" android:label="@string/app_name" > android:label="@string/app_name" > <activity <activity android:name=".ActivityPrincipal" android:name=".ActivityPrincipal" android:label="@string/app_name" > android:label="@string/app_name" > <intent-filter> <intent-filter> <action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </intent-filter> </activity> </activity> <activity <activity android:label="@string/app_name" android:label="@string/app_name" android:name=".ActivitySecundaria"></activity> android:name=".ActivitySecundaria"></activity> </application> </application>
Intents
Objetos de la clase android.content.Intent Manejan informacin desde y hacia otras activities Explcitos
Nombran al componente que los necesita Preguntan que componente o servicio es el adecuado para realizar la peticin
Implcitos
Crear el Intent asignndole el contexto de la aplicacin y la Activity que queremos mostrar Asignar datos a enviar a la siguiente Activity Iniciar la Activity por medio del mtodo startActivity()
public void btnSiguienteOnClick(View button){ public void btnSiguienteOnClick(View button){ Intent intent = new Intent(this, ActivitySecundaria.class); Intent intent = new Intent(this, ActivitySecundaria.class); intent.putExtra("aplicacion", "Manejo de activities"); intent.putExtra("aplicacion", "Manejo de activities"); intent.putExtra("empresa", "Wirbi"); intent.putExtra("empresa", "Wirbi"); } } startActivity(intent); startActivity(intent);
Obtener el conjunto de extras del Intent que invoc esta Activity por medio de un Bundle
@Override @Override public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.onCreate(savedInstanceState); setContentView(R.layout.secundaria); setContentView(R.layout.secundaria); initLayout(); initLayout(); Bundle extras = getIntent().getExtras(); Bundle extras = getIntent().getExtras(); if(extras != null){ if(extras != null){ String aplicacion = extras.getString("aplicacion"); String aplicacion = extras.getString("aplicacion"); String empresa = extras.getString("empresa"); String empresa = extras.getString("empresa"); txtAplicacion.setText(aplicacion); txtAplicacion.setText(aplicacion); txtEmpresa.setText(empresa); txtEmpresa.setText(empresa);
} }
} }
public void initLayout(){ public void initLayout(){ txtAplicacion = (EditText) findViewById(R.id.txtAplicacion); txtAplicacion = (EditText) findViewById(R.id.txtAplicacion); txtEmpresa = (EditText) findViewById(R.id.txtEmpresa); txtEmpresa = (EditText) findViewById(R.id.txtEmpresa); } }
Para saber algun resultado cuando una Activity termina Por medio del mtodo startActivityForResult() Pasndole como parmetros un Intent y un cdigo que identifique a la Activity de la cual vamos a recibir la respuesta
En la Activity inicial declarar el mtodo onActivityResult(int requestCode, int resultCode, Intent data)
int requestCode
El cdigo con el que identificamos a la activity que mostraremos El cdigo resultado de ejecutar la activity
int resultCode
RESULT_OK o RESULT_CANCELED
Intent data
private final int REQUEST_CODE_ACTIVITY_SECUNDARAIA = 1; private final int REQUEST_CODE_ACTIVITY_SECUNDARAIA = 1; ... ... public void btnSiguienteResultOnClick(View button){ public void btnSiguienteResultOnClick(View button){ Intent intent = new Intent(this, ActivitySecundaria.class); Intent intent = new Intent(this, ActivitySecundaria.class); intent.putExtra("aplicacion", "Manejo de activities"); intent.putExtra("aplicacion", "Manejo de activities"); intent.putExtra("empresa", "Wirbi"); intent.putExtra("empresa", "Wirbi"); } } startActivityForResult(intent, REQUEST_CODE_ACTIVITY_SECUNDARAIA); startActivityForResult(intent, REQUEST_CODE_ACTIVITY_SECUNDARAIA);
@Override @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) { if( requestCode == REQUEST_CODE_ACTIVITY_SECUNDARAIA && resultCode == if( requestCode == REQUEST_CODE_ACTIVITY_SECUNDARAIA && resultCode == RESULT_OK ){ RESULT_OK ){ if(data.hasExtra("mensaje")) if(data.hasExtra("mensaje")) Toast.makeText(this, data.getExtras().getString("mensaje"), Toast.makeText(this, data.getExtras().getString("mensaje"), Toast.LENGTH_SHORT).show(); Toast.LENGTH_SHORT).show(); } } } }
Enviando desde ActivitiyPrincipal.class a ActivitySecundaria.class Enviando desde ActivitiyPrincipal.class a ActivitySecundaria.class y recibiendo de ActivitySecudaria.class y recibiendo de ActivitySecudaria.class
public void btnAtrasOnClick(View button){ public void btnAtrasOnClick(View button){ finish(); finish(); } } @Override @Override public void finish() { public void finish() { Intent dataResult = new Intent (this, ActivityPrincipal.class); Intent dataResult = new Intent (this, ActivityPrincipal.class); dataResult.putExtra("mensaje", "De regreso a ActivityPrincipal"); dataResult.putExtra("mensaje", "De regreso a ActivityPrincipal"); setResult(RESULT_OK, dataResult); setResult(RESULT_OK, dataResult); } } super.finish(); super.finish();
Intents Implcitos
public void onClickImplicit(View button){ public void onClickImplicit(View button){ Intent intent = new Intent(Intent.ACTION_DIAL, Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:928-76-34-26")); Uri.parse("tel:928-76-34-26")); startActivity(intent); startActivity(intent); } }