Uso de Intents Con Android Studio4
-
Upload
ania-milagros -
Category
Documents
-
view
249 -
download
0
Transcript of Uso de Intents Con Android Studio4
-
7/29/2019 Uso de Intents Con Android Studio4
1/16
Uso de Intents con Android Studio, paso a paso
En Android, los intents se usan para llamar a las Activity y as mismo enviarle
variables a este Activity; esto nos permite trabajar con una o mas ventanas
(Activitys) en nuestra aplicacin para android.
Para nuestro ejemplo, usaremos un modelo de Matricula bsica, donde semostrarn los datos finales (Activity 4) de acuerdo a las opciones elegidas:
Para eso crearemos un nuevo Proyecto con Android Studio, el cual se llamar
"UsoDeIntents" donde nuestro Activity principal se llamar "Activity1" y su Layout
"layout_uno", as trabajaremos con los 4 activity respectivamente.
Una vez creado nuestro proyecto, vamos aadiendo los 3 Activity restantes, para
eso nos vamos a nuestro paquete java y creamos un nuevo Activity, de esta manera
se crea tambin su respectivo Layout.
As tendremos las 4 clases java con sus respectivos archivos .xml
http://1.bp.blogspot.com/-xGjryyV3d8E/UgtFnvIrQMI/AAAAAAAAADY/1gnIFsQbSDo/s1600/java.jpghttp://4.bp.blogspot.com/-hgegY8lfBh4/UgtEQc4ffmI/AAAAAAAAADI/AwmZXLA4uZI/s1600/1.jpghttp://4.bp.blogspot.com/-NSaWYWozm08/UgtBWrBDyfI/AAAAAAAAAC4/gzGn0DUUBog/s1600/PracticaCalificada01.png -
7/29/2019 Uso de Intents Con Android Studio4
2/16
PRIMER ACTIVITY
Tenemos el layout_uno, donde encontramos los controles para "Codigo, Nombre,
Apellidos, Sexo, Facultad" adems del Botn "Siguiente" donde la
propiedad onClicktrabajar con la funcin llamar.
Ahora al cdigo java puro, en el Activity1 (ojo: el cdigo es de mi proyecto que se
llama "practicacalificada"):
http://4.bp.blogspot.com/-06YqjYDxp88/UgtJ1r39pKI/AAAAAAAAAD4/DBsn6dO6SvI/s1600/a1.jpghttp://1.bp.blogspot.com/-AKXvmTzm3IU/UgtGx3nq_5I/AAAAAAAAADs/8SaZ1gGAbDU/s1600/asd.jpg -
7/29/2019 Uso de Intents Con Android Studio4
3/16
package com.kmv.practicacalificada;
import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
//Declaracin de variables de los objetos
EditText edtcodigo;
EditText edtnombre;
EditText edtapellidos;
EditText edtsexo;
EditText edtfacultad;
Button btnsiguiente;
//Declaracin de variable pblica para verificar que opcin se eligi cuando estemos en
//el activity4
public static String facu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
-
7/29/2019 Uso de Intents Con Android Studio4
4/16
//Asignacin de los objetos a las variables
edtcodigo=(EditText)findViewById(R.id.edtCodigo);
edtnombre=(EditText)findViewById(R.id.edtNombre);
edtapellidos=(EditText)findViewById(R.id.edtApellidos);
edtsexo=(EditText)findViewById(R.id.edtSexo);
edtfacultad=(EditText) findViewById(R.id.edtFacultad);
btnsiguiente=(Button) findViewById(R.id.btnSiguiente);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
//Implementando la funcin "llamar" del botn siguiente
public void llamar(View v)
{
//Declaracin de variables
String codigo;
String nombre;
String apellidos;
String sexo;
String facultad;
-
7/29/2019 Uso de Intents Con Android Studio4
5/16
//Asignacin de valores a las variables
codigo = edtcodigo.getText().toString();
nombre = edtnombre.getText().toString();
apellidos = edtapellidos.getText().toString();
sexo = edtsexo.getText().toString();
facultad = edtfacultad.getText().toString();
//Para el primer caso, si facultad es "Faing" nos enviar al Activity2
if (facultad.equalsIgnoreCase("Faing"))
{
facu="faing";
//Declaracin del Intent, llamando al Activity2
Intent i= new Intent(getApplicationContext(),com.kmv.practicacalificada.Activity2.class);
//Enviando valores al intent
i.putExtra("codigo",codigo);
i.putExtra("nombre",nombre);
i.putExtra("apellidos",apellidos);
i.putExtra("sexo",sexo);
i.putExtra("facultad",facultad);
startActivity(i);
}
//Para el segundo caso, si facultad es "Facem" nos enviar al Activity3
else if(facultad.equalsIgnoreCase("Facem"))
{
facu="facem";
-
7/29/2019 Uso de Intents Con Android Studio4
6/16
//Declaracin del Intent, llamando al Activity3
Intent j= new Intent(getApplicationContext(),com.kmv.practicacalificada.Activity3.class);
j.putExtra("codigo",codigo);
j.putExtra("nombre",nombre);
j.putExtra("apellidos",apellidos);
j.putExtra("sexo",sexo);
j.putExtra("facultad",facultad);
startActivity(j);
}
}
}
SEGUNDO ACTIVITY
Tenemos el layout_dos, donde encontramos los controles para "Escuela, Num.
Cursos, Total Crditos" adems del Botn "Siguiente" donde la
propiedad onClicktrabajar con la funcin llamar.
http://2.bp.blogspot.com/-LlumIL4kqK8/UgtSOCgA2VI/AAAAAAAAAEQ/XIRF03YAy2Y/s1600/a2.jpg -
7/29/2019 Uso de Intents Con Android Studio4
7/16
Ahora a su respectiva clase java, en este caso el intent se "reenviar" hacia el
activity 4 pero en un nuevo Activity (en este caso Activity4) para que no se pierdan
los datos.
package com.kmv.practicacalificada;
import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Activity2 extends Activity {
//Declaracin de variables de los objetos
EditText edtescuela;
EditText edtnumcursos;
EditText edttotalcreditos;
Button btnsiguiente;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.faing_main);
//Asignacin de los objetos a las variables
-
7/29/2019 Uso de Intents Con Android Studio4
8/16
edtescuela=(EditText)findViewById(R.id.edtEscuela);
edtnumcursos=(EditText)findViewById(R.id.edtNumCursos);
edttotalcreditos=(EditText)findViewById(R.id.edtTotalCreditos);
btnsiguiente=(Button) findViewById(R.id.btnSiguiente);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity2, menu);
return true;
}
//Implementando la funcin "llamar" del botn siguiente
public void llamar(View v)
{
//Declaracin de variables que se van a almacenar
String escuela;
String numcursos;
int totalcreditos;
escuela = edtescuela.getText().toString();
numcursos = edtnumcursos.getText().toString();
totalcreditos = Integer.parseInt(edttotalcreditos.getText().toString());
//Almacenamos las variables que obtuvimos del intent1 para reenviarlo al
//Activity4 con otro intent
-
7/29/2019 Uso de Intents Con Android Studio4
9/16
String codigo; String nombre; String apellidos; String sexo; String facultad;
Bundle b=getIntent().getExtras();
codigo= b.getString("codigo");
nombre= b.getString("nombre");
apellidos= b.getString("apellidos");
sexo= b.getString("sexo");
facultad= b.getString("facultad");
if(totalcreditos>12)
{
//Declaramos el intent y le agregamos los valores obtenidos
Intent k= new Intent(getApplicationContext(),com.kmv.practicacalificada.Activity4.class);
k.putExtra("escuela",escuela);
k.putExtra("numcursos", numcursos);
k.putExtra("totalcreditos", totalcreditos);
//Agregamos los valores que se van a reenviar del primer intent a nuestro
//intent actual que llamar al Activity4
k.putExtra("codigo",codigo);
k.putExtra("nombre",nombre);
k.putExtra("apellidos",apellidos);
k.putExtra("sexo",sexo);
k.putExtra("facultad",facultad);
startActivity(k);
}
else{
//Si la condicin no se cumple mostrar un Toast con el mensaje de error
Toast t=Toast.makeText(getApplicationContext(),"Se necesita una cantidad mayor a 12 creditos
-
7/29/2019 Uso de Intents Con Android Studio4
10/16
t.show();
}
}
}
TERCER ACTIVITY
Tenemos el layout_tres, donde encontramos los controles para "Docente, Curso,
Semestre, Edad" adems del Botn "Siguiente" donde la
propiedad onClicktrabajar con la funcin llamar, es el mismo caso que el
segundo Activity, solo cambian los campos.
Ahora a su respectiva clase java, al igual que el Activity2, los datos obtenidos del
Intent del Activity1 se"reenviarn" hacia el Activity4 para que no se pierdan los
datos.
http://1.bp.blogspot.com/-Mg6nMGIkHZw/UgtXYxMFUfI/AAAAAAAAAEg/Nt7zmM3uBmo/s1600/a3.jpg -
7/29/2019 Uso de Intents Con Android Studio4
11/16
package com.kmv.practicacalificada;
import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Activity3 extends Activity {
//Declaracin de variables de los objetos
EditText edtdocente;
EditText edtcurso;
EditText edtsemestre;
EditText edtedad;
Button btnsiguiente;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.facem_main);
//Asignacin de los objetos a las variables
edtdocente=(EditText)findViewById(R.id.edtDocente);
edtcurso=(EditText)findViewById(R.id.edtCurso);
edtsemestre=(EditText)findViewById(R.id.edtSemestre);
edtedad=(EditText)findViewById(R.id.edtEdad);
-
7/29/2019 Uso de Intents Con Android Studio4
12/16
btnsiguiente=(Button) findViewById(R.id.btnSiguiente);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity3, menu);
return true;
}
public void llamar(View v)
{
String docente;
String curso;
String semestre;
int edad;
docente = edtdocente.getText().toString();
curso = edtcurso.getText().toString();
semestre = edtsemestre.getText().toString();
edad = Integer.parseInt(edtedad.getText().toString());
//Almacenamos las variables que obtuvimos del intent1 para reenviarlo al
//Activity4 con otro intent
String codigo; String nombre; String apellidos; String sexo; String facultad;
-
7/29/2019 Uso de Intents Con Android Studio4
13/16
Bundle b=getIntent().getExtras();
codigo= b.getString("codigo");
nombre= b.getString("nombre");
apellidos= b.getString("apellidos");
sexo= b.getString("sexo");
facultad= b.getString("facultad");
if(edad>40)
{
Intent j= new Intent(getApplicationContext(),com.kmv.practicacalificada.Activity4.class);
j.putExtra("docente",docente);
j.putExtra("curso", curso);
j.putExtra("semestre", semestre);
j.putExtra("edad",edad);
//Agregamos los valores que se van a reenviar del primer intent a nuestro
//intent actual que llamar al Activity4
j.putExtra("codigo",codigo);
j.putExtra("nombre",nombre);
j.putExtra("apellidos",apellidos);
j.putExtra("sexo",sexo);
j.putExtra("facultad",facultad);
startActivity(j);
}
else{
Toast t=Toast.makeText(getApplicationContext(),"Usted debe ser mayor de 40 anios",Toast.L
t.show();
}
}
-
7/29/2019 Uso de Intents Con Android Studio4
14/16
}
CUARTO ACTIVITY
En nuestro ltimo layout se mostrar toda la informacin que hemos recolectado
del Activity1 y Activity2 Activity1 y Activity3 respectivamente, slo trabajaremos
con un TextView para poder visualizar todos estos datos de manera concatenada, y
tambin tenemos una imagen para adornar la interfaz final.
En nuestro archivo java, recibiremos el intent con todos los datos recopilados segn
la opcin elegida en el camino, para esto serva la variable pblica declarada en el
primer intent.
package com.kmv.practicacalificada;
import android.os.Bundle;
import android.app.Activity;
http://1.bp.blogspot.com/-KMD52k8mR6s/Ugtaglh7x-I/AAAAAAAAAEw/9hLobh8_RUs/s1600/a4.jpg -
7/29/2019 Uso de Intents Con Android Studio4
15/16
import android.view.Menu;
import android.widget.TextView;
public class Activity4 extends Activity {
//Solo declaramos nuestro TextView donde concatenaremos la informacin obtenida
TextView textofinal;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.final_main);
textofinal = (TextView) findViewById(R.id.tvFinal);
//Si nuestra variable pblica es faing ya sabemos que camino hemos tomado
if(MainActivity.facu.equals("faing"))
{
Bundle b=getIntent().getExtras();
textofinal.setText("Codigo: "+b.getString("codigo")+"\n" +
"Nombre: "+b.getString("nombre")+"\n" +
"Apellidos: "+b.getString("apellidos")+"\n" +
"Sexo: "+b.getString("sexo")+"\n" +
"Facultad: "+b.getString("facultad")+"\n" +
"-----------------------\n" +
"Escuela: "+b.getString("escuela")+"\n" +
"Num. Cursos: "+b.getString("numcursos")+"\n" +
"Total Creditos: "+b.getInt("totalcreditos"));
-
7/29/2019 Uso de Intents Con Android Studio4
16/16
}
//Si nuestra variable pblica es facem los datos a mostrar cambian
else if(MainActivity.facu.equals("facem"))
{
Bundle b=getIntent().getExtras();
textofinal.setText("Codigo: "+b.getString("codigo")+"\n" +
"Nombre: "+b.getString("nombre")+"\n" +
"Apellidos: "+b.getString("apellidos")+"\n" +
"Sexo: "+b.getString("sexo")+"\n" +
"Facultad: "+b.getString("facultad")+"\n" +
"-----------------------\n" +
"Docente: "+b.getString("docente")+"\n" +
"Curso: "+b.getString("curso")+"\n" +
"Semestre: "+b.getString("semestre")+"\n" +
"Edad: "+b.getInt("edad"));
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity4, menu);
return true;
}
}