Esta vez ya que hemos tenido 5 clases donde hemos aprendido
herramientas básicas de Android studio, ahora realizaremos un proyecto que nos
permitirá mezclar todo lo aprendido en una aplicación, el título de nuestra
aplicación será: “Examen de múltiples
alternativas” entonces nuestra aplicación realizara un examen o cuestionario
con preguntas y al final nos dirá cuanto obtuvimos en el examen.
Describiremos
un poco este examen.
· - Primero para poder visualizar las preguntas del
examen en la aplicación tenemos que identificarnos como estudiantes por lo cual
como primera interfaz tendrá una Actividad de Login, que ya conocemos gracias la clase (#4).
· -Luego tendrá una interfaz para cada pregunta con
alternativas de única respuesta y un botón que nos permita pasar a la siguiente
pregunta.
· -Al final tendremos un formulario con la calificación
o puntaje obtenido.
DISEÑO DE FORMULARIOS DEL PROYECTO.
Nuestras pantallas deberían quedar como las siguientes imágenes
esta vez no especificaremos las herramientas utilizadas por que ya hablamos de
estas en el las 5 clases anteriores.:
Activity 1:
Activity 2:
Activity 3:
Activity 4:
Activity 5:
Muy bien antes de mostrar el programa si alguno no vio las
clases anteriores o hay alguna herramienta que no sabe como se esta utilizando
o como se llama le recomiendo ver el video ilustrativo en el canal de YouTubeel cual estará con el mismo nombre que en el blog.
DESCRIPCIÓN DEL CÓDIGO:
Activity 1: en el activity uno podemos ver una interfaz
correspondiente a un login, el cual dejara acceder al sistema solamente a las
personas que tiene registrado internamente, en este caso hemos registrado a
tres personas con nombres obvios (estudiante1, estudiante2, estudiante3) y cada
uno con contraseña también obvia. Estas personas están almacenadas en una lista
a la cual podemos agregar mas usuarios o quitar los accesos. Para ello teniendo en
cuenta conocimientos de programación, hemos creado una clase llamada
Cestudinate la cual nos ayuda a manejar objetos de tipo estudiante como veremos
en la imagen:
En el pequeño resaltado de rojo podemos ver la clase creada,
y en el resaltado grande las propiedades y el constructor implementada de la
clase, las cuales pueden ser generadas automáticamente por Android studio
haciendo clic izquierdo en el nombre
de clase y luego dirigiéndose a generate constructor, para el constructor de
clase y clic izquierdo en los atributos luego generate propiedades para los
atributos de clase. Puede ver la explicación de ello, siga
este enlace.
Ahora veremos el código de como agregamos Cestudiante, a una
lista de tipo ArrayList, la cual contendrá objetos declarado de la forma como
esta implementado el constructor de nuestra clase.
En este código vemos que en el método cargarestudiantes()
creamos un objeto de tipo estudiante y agregamos a una lista llamada
m_estudiantes, la cual es un ArrayList de Cestudiante.
También podemos ver el método VerificarDatos(), el cual
verifica si el usuario y la contraseña ingresados en el primer Activity son
correctos o están en la lista de estudiantes.
Entonces estos métodos para que funcionen debemos colocarlos
en los lugares que les corresponden, al método cargarestudiantes() lo colocamos
en el main o programa principal y al método VerificarDatos( ), lo vinculamos a
la propiedad onclic del botón ingresar que pusimos en el primer activity. Esto quedaría
de la siguiente forma:
El código completo del proyecto podemos encontrarlo el parte
inferior del blog y además un link de descarga que ayudara a obtener el código fuente
en Android studio.
Activity 2: ahora veremos como hemos implementado el código del
Activity 2 donde se encuentra la primera pregunta y enviaremos en una variable
ArryInt el puntaje obtenido por responder la pregunta para esto utilizaremos la
clase Bundle que ya conocemos.
Vemos en este código que declaramos variables como ya
sabemos para poder utilizar las herramientas colocadas en el layout.
Si analizamos el método OnclicConfirmar(), nos damos cuenta
que este método envía al siguiente formulario un arreglo de tipo int[], llamado
puntos, luego creamos un p1 de tipo Bundle el cual como ya sabes nos ayudara aenviar el mensaje.
En la parte condicional del método verificamos si la
respuesta seleccionada es la correcta, como vemos en caso lo sea actualizamos
uno de los valores del arreglo puntos con el valor 1. Por ultimo simplemente
utilizamos la clase Intent , enviamos y llamamos al siguiente formulario.
Este método debemos vincularlo a la propiedad onclic y del botón
confirmar del segundo Activity.
Activity 3: en el código de este Activity recepcionamos el
mensaje en otra variable de tipo Int[], y luego seguimos la misma mecánica para
enviar el nuevo Array a la siguiente actividad.
Vemos que para recibir el mensaje volvemos a utilizar la
clase Bundle ya explicada en anteriores clases y le damos el valor recibido a
una variable llamada aPuntos.
Activity 4: este activity tiene la misma mecánica que el
Activity 3 por tanto solo copiaremos el código y cambiaremos algunos valores
esto lo podrá ver mejor en el video ilustrativo.
Activity 5: en este activity recibimos el arreglo int[] con
todo los valores actualizados y sumamos los puntos o valores del arreglo para saber
el puntaje obtenido por el estudiante.
Como ya sabemos declaramos e inicializamos las variables,
recibimos el mensaje que nos enviaron, sumamos los valores del arreglo puntos y
lo almacenamos en la variable resultado, por ultimo le decimos a nuestro TextView
que muestre el resultado.
CÓDIGO FUENTE DE LA APLICACIÓN:
ACTIVITY 1 (main)
<LinearLayout 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" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:orientation="vertical"
android:gravity="center_horizontal"
android:weightSum="1"
android:background="#ffbfffaf">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="EXAMEN DE APTITUD"
android:id="@+id/textView"
android:textSize="30dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textColor="#ff2858ff"
android:textStyle="bold"
android:layout_gravity="center_horizontal" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="300dp"
android:layout_weight="0.70"
android:gravity="center_horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Usuario:"
android:id="@+id/textView2"
android:layout_marginTop="119dp"
android:textColor="#ff040404"
android:textSize="25dp"
android:layout_alignParentTop="true"
android:layout_alignLeft="@+id/textView3"
android:layout_alignStart="@+id/textView3"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Contraseña:"
android:id="@+id/textView3"
android:layout_below="@+id/textView2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="42dp"
android:textColor="#ff030303"
android:textSize="20dp"
android:textStyle="bold" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/et_usuario"
android:layout_alignBottom="@+id/textView2"
android:layout_toRightOf="@+id/textView3"
android:layout_toEndOf="@+id/textView3"
android:text="estudiante1" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/et_contraseña"
android:text="123456"
android:layout_alignBottom="@+id/textView3"
android:layout_alignLeft="@+id/et_usuario"
android:layout_alignStart="@+id/et_usuario" />
</RelativeLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ingresar"
android:id="@+id/btn_ingresar"
android:textColor="#ff060606"
android:onClick="OnclicIngresar" />
</LinearLayout>
ACTIVITY 2: (pregunta1)
<LinearLayout 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" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.dgafz.clase6_primeroproyecto.pregunta1"
android:orientation="vertical"
android:weightSum="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PREGUNTA Nº 1- LAYOUT"
android:id="@+id/textView4"
android:textStyle="bold"
android:textSize="27dp"
android:textColor="#ff4249ff"
android:layout_weight="0.07" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1.- En android Studio: ¿Que layout nos facilita la posibilidad de colocar las herrammientas como si tuvieramos una matriz de NxM?"
android:id="@+id/textView5"
android:textSize="25dp"
android:layout_weight="0.32" />
<RadioGroup
android:layout_width="315dp"
android:layout_height="wrap_content"
android:layout_weight="0.16">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="a) Linear Layout (vertival)"
android:id="@+id/rb_a"
android:checked="false"
android:textSize="20dp" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="b) TableLayout"
android:id="@+id/rb_b"
android:checked="false"
android:textSize="20dp" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="c) FrameLayout"
android:id="@+id/rb_c"
android:checked="false"
android:textSize="20dp" />
</RadioGroup>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Confirmar Respuesta"
android:id="@+id/btn_confirmar1"
android:layout_gravity="center_horizontal"
android:onClick="OnclicConfirmar1" />
</LinearLayout>
ACTIVITY 3: (pregunta2)
<LinearLayout 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" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.dgafz.clase6_primeroproyecto.pregunta2"
android:orientation="vertical"
android:weightSum="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PREGUNTA Nº 2 - EDITTEXT"
android:id="@+id/textView6"
android:layout_gravity="center_horizontal"
android:textColor="#ff4e62ff"
android:textSize="27dp"
android:textStyle="bold"
android:layout_weight="0.03" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1.- Acerca de las propiedades de los EditText: ¿Que propiedad nos permite mostrar simbolos como(*)en vez del texto que escribimos al ingresar datos por un EditText?"
android:id="@+id/textView7"
android:layout_weight="0.14"
android:textSize="25dp" />
<RadioGroup
android:layout_width="265dp"
android:layout_height="wrap_content"
android:layout_weight="0.15">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="a) textAppearance"
android:id="@+id/rb_a2"
android:checked="false"
android:textSize="20dp" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="b) textpassword"
android:id="@+id/rb_b2"
android:checked="false"
android:textSize="20dp" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="c) Password"
android:id="@+id/rb_c2"
android:checked="false"
android:textSize="20dp" />
</RadioGroup>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cinfirmar Respuesta"
android:id="@+id/btn_confirmar2"
android:layout_gravity="center_horizontal"
android:onClick="onclicconfirmar2" />
</LinearLayout>
ACTIVITY 4 (pregunta4)
<LinearLayout 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" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.dgafz.clase6_primeroproyecto.pregunta3"
android:orientation="vertical"
android:weightSum="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="44dp"
android:text="PREGUNTA Nº2 - METODOS DE CLASE"
android:id="@+id/textView8"
android:textColor="#ff4258ff"
android:textSize="19dp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3.- ¿Que clase interna del android studio nos permite enviar mensajes en variables a otra actividad mediante la clase intent?"
android:id="@+id/textView9"
android:textSize="20dp"
android:layout_weight="0.12"
android:textStyle="bold" />
<RadioGroup
android:layout_width="272dp"
android:layout_height="wrap_content"
android:layout_weight="0.21">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="a) Intent"
android:id="@+id/rb_a3"
android:checked="false"
android:textSize="20dp" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="b) Bundle"
android:id="@+id/rb_b3"
android:checked="false"
android:textSize="20dp" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="c) startactivity()"
android:id="@+id/rb_c3"
android:checked="false"
android:textSize="20dp" />
</RadioGroup>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CONFIRMAR RESPUESTA"
android:id="@+id/btn_confirmar3"
android:layout_gravity="center_horizontal"
android:onClick="oncilciconfirmar3" />
</LinearLayout>
ACTIVITY 4 (pregunta4)
<LinearLayout 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" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.dgafz.clase6_primeroproyecto.pregunta3"
android:orientation="vertical"
android:weightSum="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="44dp"
android:text="PREGUNTA Nº2 - METODOS DE CLASE"
android:id="@+id/textView8"
android:textColor="#ff4258ff"
android:textSize="19dp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3.- ¿Que clase interna del android studio nos permite enviar mensajes en variables a otra actividad mediante la clase intent?"
android:id="@+id/textView9"
android:textSize="20dp"
android:layout_weight="0.12"
android:textStyle="bold" />
<RadioGroup
android:layout_width="272dp"
android:layout_height="wrap_content"
android:layout_weight="0.21">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="a) Intent"
android:id="@+id/rb_a3"
android:checked="false"
android:textSize="20dp" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="b) Bundle"
android:id="@+id/rb_b3"
android:checked="false"
android:textSize="20dp" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="c) startactivity()"
android:id="@+id/rb_c3"
android:checked="false"
android:textSize="20dp" />
</RadioGroup>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CONFIRMAR RESPUESTA"
android:id="@+id/btn_confirmar3"
android:layout_gravity="center_horizontal"
android:onClick="oncilciconfirmar3" />
</LinearLayout>
ACTIVITY 5 (resultados)
<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" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.dgafz.clase6_primeroproyecto.resultado">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RESULTADOS"
android:id="@+id/textView10"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textColor="#ff2b39ff"
android:textSize="30dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Puntaje Obtenido"
android:id="@+id/textView12"
android:textSize="25dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="59dp"
android:textStyle="bold"
android:layout_below="@+id/textView10" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:id="@+id/tv_puntaje"
android:layout_below="@+id/textView12"
android:layout_toRightOf="@+id/textView12"
android:layout_toEndOf="@+id/textView12"
android:textSize="30dp" />
</RelativeLayout>
CODIGO EN JAVA:
CODIGO DE Cestudiante
package com.dgafz.clase6_primeroproyecto;
/**
* Created by dgafz on 24/01/2015.
*/
public class Cestudiante {
private String a_usuario;
private String a_contraseña;
//constructor *********************************
public Cestudiante(String a_usuario, String a_contraseña) {
this.a_usuario = a_usuario;
this.a_contraseña = a_contraseña;
}
//propiedades********************************
public String getA_usuario() {
return a_usuario;
}
public void setA_usuario(String a_usuario) {
this.a_usuario = a_usuario;
}
public String getA_contraseña() {
return a_contraseña;
}
public void setA_contraseña(String a_contraseña) {
this.a_contraseña = a_contraseña;
}
}
Codigo java Main:
package com.dgafz.clase6_primeroproyecto;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends ActionBarActivity {
//declaramos nuestras variables de clase
private EditText m_et_usuario, m_et_contraseña;
private Button m_btn_ingresar;
private ArrayList<Cestudiante> m_estudiantes;
//fin variables
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//inicializamos las variables
m_et_usuario=(EditText)findViewById(R.id.et_usuario);
m_et_contraseña=(EditText) findViewById(R.id.et_contraseña);
m_btn_ingresar=(Button)findViewById(R.id.btn_confirmar1);
m_estudiantes=new ArrayList<Cestudiante>();
//fin inicializar las variables
CargaEstudiantes();
}
//*********************** otros metodos ********************
public void CargaEstudiantes()
{
//creamos estudiantes con contraseña y usuario
Cestudiante e1= new Cestudiante("estudiante1","1111");
m_estudiantes.add(e1);
Cestudiante e2= new Cestudiante("estudiante2","2222");
m_estudiantes.add(e2);
Cestudiante e3= new Cestudiante("estudiante3","3333");
m_estudiantes.add(e3);
//hasta aqui tnemos tres estudiantes almacenados en una lista de nombre m_estudinate
}
//metodo que verifica si el usuario o contraseña son correctos
public boolean VerificarDatos(String p_Usuario, String p_contraseña)
{
//crearemos una variable boleana la que nos devolver el resultado
boolean aux=false;
int i=0;
while (i<m_estudiantes.size())
{
//verificamos que el usuairo y contraseña sean iguales al de la lisat en pisicion i
//primero recuperaos el primer elemento
String usuario=m_estudiantes.get(i).getA_usuario();
String contraseña=m_estudiantes.get(i).getA_contraseña();
if ((usuario.equals(p_Usuario))&&(contraseña.equals(p_contraseña)))
{
aux= true;
}
i++;
}
return aux;
}
//metodo que llama la interfaz de preguntas
public void OnclicIngresar(View view)
{
if (VerificarDatos(m_et_usuario.getText().toString(),m_et_contraseña.getText().toString()))
{
Intent preguntas=new Intent(this,pregunta1.class);
startActivity(preguntas);
}
else
{
Toast.makeText(getApplicationContext(),"datos incorrectos",Toast.LENGTH_LONG).show();
}
}
//********************** fin otros metodos *****************
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
codigo java pregunta1
package com.dgafz.clase6_primeroproyecto;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
public class pregunta1 extends ActionBarActivity {
private RadioButton m_rb_alternativa2;
private Button m_btn_confirmar1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pregunta1);
//inicializamos los valores
m_rb_alternativa2=(RadioButton) findViewById(R.id.rb_b);
}
//metodo que verifica si la respuesta es correcta
public void OnclicConfirmar1(View view)
{
int[] puntos={0,0,0};//este arreglo cambiara sus valores a uno si las respuestas son correctas
//creamos la clase que enviara nuestro emsaje
Bundle p1=new Bundle();
p1.putIntArray("puntos",puntos);
//sabemos que la respuesta es la alternativa b
if (m_rb_alternativa2.isChecked())
{
//enviamos datos al siguiente formulario mediante un arreglo de tamaño 3
puntos[0]=1;
}
Intent i=new Intent(this,pregunta2.class);
i.putExtras(p1);
startActivity(i);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_pregunta1, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
codigo java pregunta2
package com.dgafz.clase6_primeroproyecto;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
public class pregunta2 extends ActionBarActivity {
private RadioButton m_alternativacorrecta;
private Button m_btn_confirmar2;
private int[] aPuntos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pregunta2);
//inicializamos la variables
m_alternativacorrecta=(RadioButton) findViewById(R.id.rb_c2);
m_btn_confirmar2=(Button) findViewById(R.id.btn_confirmar2);
//recibimos el mensaje
Bundle p1r=this.getIntent().getExtras();
aPuntos=p1r.getIntArray("puntos");
}
//********************otros metodos *********************
public void onclicconfirmar2(View view)
{
//creamos la calses que nos ayudaran a enviar los nuevos resultados
Bundle p2=new Bundle();
if (m_alternativacorrecta.isChecked())
{
aPuntos[1]=1;
}
p2.putIntArray("puntos",aPuntos);
Intent i=new Intent(this,pregunta3.class);
i.putExtras(p2);
startActivity(i);
}
//***************fin otros metodos********************+
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_pregunta2, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Codigo java pregunta3
package com.dgafz.clase6_primeroproyecto;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
public class pregunta3 extends ActionBarActivity {
private RadioButton m_alternativacorrecta;
private Button m_btn_confirmar3;
private int[] apuntos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pregunta3);
//inicializamos las variables
m_alternativacorrecta=(RadioButton) findViewById(R.id.rb_b3);
m_btn_confirmar3=(Button) findViewById(R.id.btn_confirmar3);
//recibimos le mensaje
Bundle p2r=this.getIntent().getExtras();
apuntos=p2r.getIntArray("puntos");
}
//verificamos la respuesta
public void oncilciconfirmar3(View view)
{
//creamos la clase para enviar le mensaje
Bundle p3=new Bundle();
if (m_alternativacorrecta.isChecked())
{
apuntos[2]=1;
}
p3.putIntArray("puntos",apuntos);
Intent i=new Intent(this,resultado.class);
i.putExtras(p3);
startActivity(i);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_pregunta3, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
codigo java resultado:
package com.dgafz.clase6_primeroproyecto;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
public class resultado extends ActionBarActivity {
//declaramos las variables
private TextView m_tv_puntajes;
int[] puntos;
// fin de las variables
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_resultado);
//inicializamos las variables
m_tv_puntajes=(TextView) findViewById(R.id.tv_puntaje);
//resivimos los datos y mostrams los resultados
Bundle p3r=this.getIntent().getExtras();
//almacenmos ls recivido en la variable puntos
puntos=p3r.getIntArray("puntos");
//mostramos los resultados
int resultado=puntos[0]+puntos[1]+puntos[2];
m_tv_puntajes.setText(""+resultado);
}
//*********************otros metodo **************************
//********************* fin otros metodos ********************
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_resultado, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
No hay comentarios.:
Publicar un comentario