Sei sulla pagina 1di 29

Asignatura Datos del alumno Fecha

Plataformas de Apellidos: CUENCA BEJAR


Desarrollo de
Software Nombre: JORGE CUENCA

UNIR – UNIVERSIDAD INTERNACIONAL DE LA RIOJA

MÁSTER UNIVERSITARIO EN INGENIERÍA DE SOFTWARE Y SISTEMAS


INFORMÁTICOS

PLATAFORMAS DE DESARROLLO DE SOFTWARE

ACTIVIDAD:
Práctica #2: Desarrollo de aplicaciones en Android

PRESENTADO POR:
Jorge Henry Cuenca Bejar

Contenido:

1. Instalación de Android Studio …………………………………………………… 1


2. Aplicación en Android Studio ……………………………………………………. 6
2.1. Pantallas de Aplicación Android Studio ………………………………. 6
2.2. Pantallas de Advertencia ……………………………………………………. 12
2.3. Pantallas de Diseño de App ………………………………………………… 16
3. Funcionamiento de App en Equipo Físico …………………………………. 18
4. Detalle de código ………………………………………………………………………. 19
4.1. Código para validar campos ……………………………………………….. 19
4.2. Código para borrar formulario ……………………………………………. 20
4.3. Código Fuente PedidoActivity.java y Activity_pedido.xml …… 21
4.4. Código Fuente ConfirmacionActivity.java y
Activity_Confirmacion.xml …………………………………………………… 26

TEMA 9 –Actividades -0- © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

1. INSTALACIÓN DE ANDROID STUDIO:


Para instalar Android Studio se debe seguir los siguientes pasos:

Ingresar a la página de Android Studio y descargar el instalador. La página es


https://developer.android.com/studio/?hl=es-419.

Seleccionar la opción correcta, de acuerdo al sistema operativo.

Una vez descargado el archivo, iniciar el instalador.

TEMA 9 –Actividades -1- © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

Se abrirá el asistente para la instalación. Dar siguiente:

Dar siguiente.

TEMA 9 –Actividades -2- © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

Seleccionar los componentes que se desean instalar. En este caso es necesario instalar
Android Virtual Device.

Seleccionamos la carpeta donde se instalará el programa.

TEMA 9 –Actividades -3- © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

Presionamos el botón Install.

Se muestra el progreso de la instalación.

TEMA 9 –Actividades -4- © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

Una vez finalizada la instalación, presionar Next.

Finalizamos la instalación y abrimos Android Studio.

TEMA 9 –Actividades -5- © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

2. APLICACIÓN EN ANDROID STUDIO:

2.1. Pantallas de Aplicación en Android Studio:


Pantalla principal: cuando se ingresa al aplicativo se muestra los campos y el usuario llena
los valores.

TEMA 9 –Actividades -6- © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

TEMA 9 –Actividades -7- © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

Acción al presionar el botón “Enviar Pedido”: se muestra una ventana para que el
usuario confirme el pedido. Si presiona “Cancelar” se regresa a la ventana anterior. Si se
presiona “Enviar” se confirma el pedido con un mensaje.

TEMA 9 –Actividades -8- © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

TEMA 9 –Actividades -9- © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

Acción al presionar el botón “Enviar”: se confirma el pedido con un mensaje.

TEMA 9 –Actividades - 10 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

TEMA 9 –Actividades - 11 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

2.2. Pantallas de Advertencia:


Si el usuario no ingresa los valores solicitado, se muestra un mensaje de advertencia.

TEMA 9 –Actividades - 12 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

TEMA 9 –Actividades - 13 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

Se ha configurado el campo “Cantidad Requerida” para que sólo acepte números positivos
mayores a cero.

TEMA 9 –Actividades - 14 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

Para probar el aplicativo, se ha usado el equipo virtual Nexus 5X.

TEMA 9 –Actividades - 15 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

2.3. Pantallas de Diseño de App:

Pantalla de Pedido

TEMA 9 –Actividades - 16 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

Pantalla de Confirmación

TEMA 9 –Actividades - 17 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

3. Funcionamiento de App en Equipo Físico:


El App desarrollada se ha probado en un equipo físico de la Marca Samsung Galaxy. Se
adjunta las pantallas.

TEMA 9 –Actividades - 18 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

4. Detalle código:

4.1. Código para validar campos:


Se realiza las siguientes validaciones:
- Nombre medicamento: que se haya llenado el campo.
- Tipo de medicamento: que se seleccione una opción.
- Cantidad requerida: que se haya llenado el campo, con un número y que sea mayor a
cero (la cantidad no puede ser cero o negativo).
- Proveedor: que se haya seleccionado un proveedor.
- Sucursal receptora: que se seleccione al menos una sucursal.

Después de validar la información, se envía al formulario de confirmación.


El código es el siguiente (copiado desde Android Studio):

1. //metodo para enviar formulario


2. public void fnEnviar(View view){
3. //borrar datos
4. etNombreMedicamento = (EditText)findViewById(R.id.txtNombreMedicamento);
5. etCantidad = (EditText)findViewById(R.id.txtCantidadRequerida);
6. spTipoMedimanteo = (Spinner)findViewById(R.id.cboTipoMedicamento);
7. rbCofarma = (RadioButton)findViewById(R.id.rbuCofarma);
8. rbEmpseoha = (RadioButton)findViewById(R.id.rbuEmpsepha);
9. rbComefar = (RadioButton)findViewById(R.id.rbuCemefar);
10. chPrincipal = (CheckBox)findViewById(R.id.chkFarmaciaPrincipal);
11. chSecundaria = (CheckBox)findViewById(R.id.chkFarmaciaSecundaria);
12.
13. strError = "";
14. strError += (!etNombreMedicamento.getText().toString().trim().isEmpty()) ? ""
: "Ingrese el nombre del medicamento.\n";
15. strError += (spTipoMedimanteo.getSelectedItem().toString().equals("---
Seleccione Tipo---")) ? "Seleccione el tipo de medicamento.\n" : "";
16. strError += (!etCantidad.getText().toString().trim().isEmpty()) ? "" : "Ingres
e la cantidad.\n";
17. strError += (!rbCofarma.isChecked() && !rbEmpseoha.isChecked() && !rbComefar.i
sChecked()) ? "Debe seleccionar un distribuidor.\n" : "";
18. strError += !chPrincipal.isChecked() && !chSecundaria.isChecked() ? "Debe
seleccionar al menos una sucursal receptora.\n" : "";
19.
20. //si hay error => mostrar mensaje
21. if(!strError.isEmpty())
22. {
23. //mostrar mensaje de advertencia
24. AlertDialog.Builder builder = new AlertDialog.Builder(this);
25. builder.setMessage(strError);
26. builder.setTitle("Advertencia");
27. builder.setPositiveButton("Aceptar", new DialogInterface.OnClickListener()
{
28. @Override
29. public void onClick(DialogInterface dialog, int which) {
30. dialog.cancel();
31. }
32. });
33.
34. AlertDialog dialogoAdvertencia = builder.create();
35. dialogoAdvertencia.show();
36.

TEMA 9 –Actividades - 19 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

37. return;
38. }
39.
40. //enviar datos al otro formulario
41. String strFarmaPrincipal = "Calle de la Rosa Nro. 28 (Farmacia Principal)";
42. String strFarmaSecundaria = "Calle Alcazabilla Nro. 3 (Farmacia Segundaria)";
43.
44. String strMedicamentoMensaje = etCantidad.getText().toString().trim() + " del
" + spTipoMedimanteo.getSelectedItem().toString() + "
" + etNombreMedicamento.getText().toString().trim();
45.
46. String strDireccion = "";
47. strDireccion += chPrincipal.isChecked() ? strFarmaPrincipal : "";
48. strDireccion += chSecundaria.isChecked() ? (strDireccion.isEmpty() ? strFarmaS
ecundaria : " y para la situada en " + strFarmaSecundaria) : "";
49. strDireccion = "Para la farmacia situada en " + strDireccion;
50.
51. String strDistribuidor = "";
52. strDistribuidor = rbCofarma.isChecked() ? rbCofarma.getText().toString() : str
Distribuidor;
53. strDistribuidor = rbEmpseoha.isChecked() ? rbEmpseoha.getText().toString() : s
trDistribuidor;
54. strDistribuidor = rbComefar.isChecked() ? rbComefar.getText().toString() : str
Distribuidor;
55. strDistribuidor = "Pedido al distribuidor \n" + strDistribuidor;
56.
57. //crear un Intent para enviar información
58. Intent intentConfirmacion = new Intent(this, ConfirmacionActivity.class);
59.
60. //enviar la informacion con putExtra
61. intentConfirmacion.putExtra("Medicamento", strMedicamentoMensaje);
62. intentConfirmacion.putExtra("Direccion", strDireccion);
63. intentConfirmacion.putExtra("Distribuidor", strDistribuidor);
64.
65. startActivity(intentConfirmacion);
66. }

4.2. Código para Borrar Formulario:


El código para borrar o limpiar el formulario es el siguiente (Copiado desde Android Studio):

1. //metodo para borrar formulario


2. public void metodoBorrar(View view){
3. //borrar datos
4. etNombreMedicamento = (EditText)findViewById(R.id.txtNombreMedicamento);
5. etCantidad = (EditText)findViewById(R.id.txtCantidadRequerida);
6. spTipoMedimanteo = (Spinner)findViewById(R.id.cboTipoMedicamento);
7. rbCofarma = (RadioButton)findViewById(R.id.rbuCofarma);
8. rbEmpseoha = (RadioButton)findViewById(R.id.rbuEmpsepha);
9. rbComefar = (RadioButton)findViewById(R.id.rbuCemefar);
10. chPrincipal = (CheckBox)findViewById(R.id.chkFarmaciaPrincipal);
11. chSecundaria = (CheckBox)findViewById(R.id.chkFarmaciaSecundaria);
12.
13. etNombreMedicamento.setText("");
14. etCantidad.setText("");
15. spTipoMedimanteo.setSelection(0);
16. rbCofarma.setChecked(false);
17. rbEmpseoha.setChecked(false);
18. rbComefar.setChecked(false);
19. chPrincipal.setChecked(false);
20. chSecundaria.setChecked(false);
21. }

TEMA 9 –Actividades - 20 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

4.3. Código Fuente Pedido.java y Activity_pedido.xml

Pedido.java

1. package com.jorgecuenca.farmacia;
2.
3. import android.content.DialogInterface;
4. import android.content.Intent;
5. import android.hardware.display.DisplayManager;
6. import android.support.v7.app.AlertDialog;
7. import android.support.v7.app.AppCompatActivity;
8. import android.os.Bundle;
9. import android.view.View;
10. import android.widget.ArrayAdapter;
11. import android.widget.Button;
12. import android.widget.CheckBox;
13. import android.widget.EditText;
14. import android.widget.RadioButton;
15. import android.widget.Spinner;
16. import android.widget.TextView;
17.
18. import javax.xml.transform.stream.StreamResult;
19.
20. public class Pedido extends AppCompatActivity {
21.
22. //crear una varibale para almacenar los datos del combobox Tipo Medicamento
23. Spinner opciones;
24.
25. //public final static String EXTRA_MESSAGE = "com.jorgecuenca.MESSAGE";
26.
27. //variables para obtener los datos del formulario
28. EditText etNombreMedicamento, etCantidad;
29. Spinner spTipoMedimanteo;
30. RadioButton rbCofarma, rbEmpseoha, rbComefar;
31. CheckBox chPrincipal, chSecundaria;
32.
33. //variable para obttener error
34. public static String strError;
35.
36. @Override
37. protected void onCreate(Bundle savedInstanceState) {
38. super.onCreate(savedInstanceState);
39. setContentView(R.layout.activity_pedido);
40.
41. //recuperar el ComboBox
42. opciones = (Spinner)findViewById(R.id.cboTipoMedicamento);
43.
44. //Recuperar los datos de Tipo Medicamento en un ArrayAdapter
45. ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.opcionesTipoMedicamento, android.R.layout.simple_spinner_item);
46. //Agregar los elementos del adapter al ComboBox
47. opciones.setAdapter(adapter);
48. }
49.
50.
51. //metodo para borrar formulario
52. public void metodoBorrar(View view){
53. //borrar datos
54. etNombreMedicamento = (EditText)findViewById(R.id.txtNombreMedicamento);
55. etCantidad = (EditText)findViewById(R.id.txtCantidadRequerida);
56. spTipoMedimanteo = (Spinner)findViewById(R.id.cboTipoMedicamento);
57. rbCofarma = (RadioButton)findViewById(R.id.rbuCofarma);
58. rbEmpseoha = (RadioButton)findViewById(R.id.rbuEmpsepha);
59. rbComefar = (RadioButton)findViewById(R.id.rbuCemefar);
60. chPrincipal = (CheckBox)findViewById(R.id.chkFarmaciaPrincipal);
61. chSecundaria = (CheckBox)findViewById(R.id.chkFarmaciaSecundaria);
62.
63. etNombreMedicamento.setText("");
64. etCantidad.setText("");

TEMA 9 –Actividades - 21 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

65. spTipoMedimanteo.setSelection(0);
66. rbCofarma.setChecked(false);
67. rbEmpseoha.setChecked(false);
68. rbComefar.setChecked(false);
69. chPrincipal.setChecked(false);
70. chSecundaria.setChecked(false);
71. }
72.
73. //metodo para enviar formulario
74. public void fnEnviar(View view){
75. //borrar datos
76. etNombreMedicamento = (EditText)findViewById(R.id.txtNombreMedicamento);
77. etCantidad = (EditText)findViewById(R.id.txtCantidadRequerida);
78. spTipoMedimanteo = (Spinner)findViewById(R.id.cboTipoMedicamento);
79. rbCofarma = (RadioButton)findViewById(R.id.rbuCofarma);
80. rbEmpseoha = (RadioButton)findViewById(R.id.rbuEmpsepha);
81. rbComefar = (RadioButton)findViewById(R.id.rbuCemefar);
82. chPrincipal = (CheckBox)findViewById(R.id.chkFarmaciaPrincipal);
83. chSecundaria = (CheckBox)findViewById(R.id.chkFarmaciaSecundaria);
84.
85. strError = "";
86. strError += (!etNombreMedicamento.getText().toString().trim().isEmpty()) ? ""
: "Ingrese el nombre del medicamento.\n";
87. strError += (spTipoMedimanteo.getSelectedItem().toString().equals("---
Seleccione Tipo---")) ? "Seleccione el tipo de medicamento.\n" : "";
88. strError += (!etCantidad.getText().toString().trim().isEmpty()) ? "" : "Ingres
e la cantidad.\n";
89. strError += (!rbCofarma.isChecked() && !rbEmpseoha.isChecked() && !rbComefar.i
sChecked()) ? "Debe seleccionar un distribuidor.\n" : "";
90. strError += !chPrincipal.isChecked() && !chSecundaria.isChecked() ? "Debe
seleccionar al menos una sucursal receptora.\n" : "";
91.
92. //si hay error => mostrar mensaje
93. if(!strError.isEmpty())
94. {
95. //mostrar mensaje de advertencia
96. AlertDialog.Builder builder = new AlertDialog.Builder(this);
97. builder.setMessage(strError);
98. builder.setTitle("Advertencia");
99. builder.setPositiveButton("Aceptar", new DialogInterface.OnClickListener()
{
100. @Override
101. public void onClick(DialogInterface dialog, int which) {
102. dialog.cancel();
103. }
104. });
105.
106. AlertDialog dialogoAdvertencia = builder.create();
107. dialogoAdvertencia.show();
108.
109. return;
110. }
111.
112. //enviar datos al otro formulario
113. String strFarmaPrincipal = "Calle de la Rosa Nro. 28 (Farmacia
Principal)";
114. String strFarmaSecundaria = "Calle Alcazabilla Nro. 3 (Farmacia
Segundaria)";
115.
116. String strMedicamentoMensaje = etCantidad.getText().toString().trim() +
" del " + spTipoMedimanteo.getSelectedItem().toString() + "
" + etNombreMedicamento.getText().toString().trim();
117.
118. String strDireccion = "";
119. strDireccion += chPrincipal.isChecked() ? strFarmaPrincipal : "";
120. strDireccion += chSecundaria.isChecked() ? (strDireccion.isEmpty() ? st
rFarmaSecundaria : " y para la situada en " + strFarmaSecundaria) : "";
121. strDireccion = "Para la farmacia situada en " + strDireccion;
122.
123. String strDistribuidor = "";
124. strDistribuidor = rbCofarma.isChecked() ? rbCofarma.getText().toString(
) : strDistribuidor;

TEMA 9 –Actividades - 22 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

125. strDistribuidor = rbEmpseoha.isChecked() ? rbEmpseoha.getText().toStrin


g() : strDistribuidor;
126. strDistribuidor = rbComefar.isChecked() ? rbComefar.getText().toString(
) : strDistribuidor;
127. strDistribuidor = "Pedido al distribuidor \n" + strDistribuidor;
128.
129. //crear un Intent para enviar información
130. Intent intentConfirmacion = new Intent(this,
ConfirmacionActivity.class);
131.
132. //enviar la informacion con putExtra
133. intentConfirmacion.putExtra("Medicamento", strMedicamentoMensaje);
134. intentConfirmacion.putExtra("Direccion", strDireccion);
135. intentConfirmacion.putExtra("Distribuidor", strDistribuidor);
136.
137. startActivity(intentConfirmacion);
138. }
139. }

Activity_pedido.xml

1. <?xml version="1.0" encoding="utf-8"?>


2. <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com
/apk/res/android"
3. xmlns:app="http://schemas.android.com/apk/res-auto"
4. xmlns:tools="http://schemas.android.com/tools"
5. android:layout_width="match_parent"
6. android:layout_height="match_parent"
7. tools:context=".Pedido">
8.
9. <TextView
10. android:id="@+id/lblTitulo"
11. android:layout_width="253dp"
12. android:layout_height="29dp"
13. android:layout_marginLeft="16dp"
14. android:layout_marginRight="16dp"
15. android:text="PEDIDO DE MEDICAMENTO"
16. android:textAppearance="@style/TextAppearance.AppCompat.Title"
17. app:layout_constraintBottom_toBottomOf="parent"
18. app:layout_constraintHorizontal_bias="0.554"
19. app:layout_constraintLeft_toLeftOf="parent"
20. app:layout_constraintRight_toRightOf="parent"
21. app:layout_constraintTop_toTopOf="parent"
22. app:layout_constraintVertical_bias="0.0" />
23.
24. <TextView
25. android:id="@+id/lblNombreMedicamento"
26. android:layout_width="wrap_content"
27. android:layout_height="19dp"
28. android:layout_marginStart="16dp"
29. android:layout_marginLeft="16dp"
30. android:layout_marginTop="7dp"
31. android:text="Nombre Medicamento:"
32. android:textStyle="bold"
33. app:layout_constraintStart_toStartOf="parent"
34. app:layout_constraintTop_toBottomOf="@+id/lblTitulo" />
35.
36. <EditText
37. android:id="@+id/txtNombreMedicamento"
38. android:layout_width="346dp"
39. android:layout_height="41dp"
40. android:layout_marginStart="16dp"
41. android:layout_marginLeft="16dp"
42. android:layout_marginTop="7dp"
43. android:layout_marginEnd="16dp"
44. android:layout_marginRight="16dp"
45. android:ems="10"
46. android:hint="@string/nombre_medicamento"
47. android:inputType="textPersonName"

TEMA 9 –Actividades - 23 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

48. android:text=""
49. app:layout_constraintEnd_toEndOf="parent"
50. app:layout_constraintStart_toStartOf="parent"
51. app:layout_constraintTop_toBottomOf="@+id/lblNombreMedicamento" />
52.
53. <TextView
54. android:id="@+id/lblTipoMedicamento"
55. android:layout_width="wrap_content"
56. android:layout_height="wrap_content"
57. android:layout_marginStart="16dp"
58. android:layout_marginLeft="16dp"
59. android:layout_marginTop="7dp"
60. android:text="Tipo Medicamento:"
61. android:textStyle="bold"
62. app:layout_constraintStart_toStartOf="parent"
63. app:layout_constraintTop_toBottomOf="@+id/txtNombreMedicamento" />
64.
65. <Spinner
66. android:id="@+id/cboTipoMedicamento"
67. android:layout_width="356dp"
68. android:layout_height="39dp"
69. android:layout_marginStart="16dp"
70. android:layout_marginLeft="16dp"
71. android:layout_marginTop="7dp"
72. android:layout_marginEnd="16dp"
73. android:layout_marginRight="16dp"
74. app:layout_constraintEnd_toEndOf="parent"
75. app:layout_constraintStart_toStartOf="parent"
76. app:layout_constraintTop_toBottomOf="@+id/lblTipoMedicamento" />
77.
78. <TextView
79. android:id="@+id/lblCantidadRequerida"
80. android:layout_width="wrap_content"
81. android:layout_height="wrap_content"
82. android:layout_marginStart="16dp"
83. android:layout_marginLeft="16dp"
84. android:layout_marginTop="7dp"
85. android:text="Cantidad Requerida:"
86. android:textStyle="bold"
87. app:layout_constraintStart_toStartOf="parent"
88. app:layout_constraintTop_toBottomOf="@+id/cboTipoMedicamento" />
89.
90. <EditText
91. android:id="@+id/txtCantidadRequerida"
92. android:layout_width="346dp"
93. android:layout_height="39dp"
94. android:layout_marginStart="16dp"
95. android:layout_marginLeft="16dp"
96. android:layout_marginTop="7dp"
97. android:layout_marginEnd="16dp"
98. android:layout_marginRight="16dp"
99. android:ems="10"
100. android:hint="@string/cantidad_medicamento"
101. android:inputType="number|numberDecimal"
102. app:layout_constraintEnd_toEndOf="parent"
103. app:layout_constraintStart_toStartOf="parent"
104. app:layout_constraintTop_toBottomOf="@+id/lblCantidadRequerida" />
105.
106. <TextView
107. android:id="@+id/lblDistribuidor"
108. android:layout_width="wrap_content"
109. android:layout_height="wrap_content"
110. android:layout_marginStart="16dp"
111. android:layout_marginLeft="16dp"
112. android:layout_marginTop="7dp"
113. android:text="Distribuidor:"
114. android:textStyle="bold"
115. app:layout_constraintStart_toStartOf="parent"
116. app:layout_constraintTop_toBottomOf="@+id/txtCantidadRequerida" />
117.
118. <RadioGroup
119. android:id="@+id/radioGroup"
120. android:layout_width="wrap_content"

TEMA 9 –Actividades - 24 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

121. android:layout_height="wrap_content"
122. android:layout_marginStart="16dp"
123. android:layout_marginLeft="16dp"
124. android:layout_marginTop="7dp"
125. android:orientation="vertical"
126. app:layout_constraintStart_toStartOf="parent"
127. app:layout_constraintTop_toBottomOf="@+id/lblDistribuidor">
128.
129. <RadioButton
130. android:id="@+id/rbuCofarma"
131. android:layout_width="wrap_content"
132. android:layout_height="wrap_content"
133. android:text="Cofarma" />
134.
135. <RadioButton
136. android:id="@+id/rbuEmpsepha"
137. android:layout_width="wrap_content"
138. android:layout_height="wrap_content"
139. android:text="Empsephar" />
140.
141. <RadioButton
142. android:id="@+id/rbuCemefar"
143. android:layout_width="wrap_content"
144. android:layout_height="wrap_content"
145. android:text="Cemefar" />
146.
147. </RadioGroup>
148.
149. <TextView
150. android:id="@+id/lblSucursalDestino"
151. android:layout_width="wrap_content"
152. android:layout_height="wrap_content"
153. android:layout_marginStart="16dp"
154. android:layout_marginLeft="16dp"
155. android:layout_marginTop="6dp"
156. android:text="Sucursal Receptora:"
157. android:textStyle="bold"
158. app:layout_constraintStart_toStartOf="parent"
159. app:layout_constraintTop_toBottomOf="@+id/radioGroup" />
160.
161.
162. <LinearLayout
163. android:id="@+id/contenedorCheckBox"
164. android:layout_width="wrap_content"
165. android:layout_height="wrap_content"
166. android:layout_marginStart="16dp"
167. android:layout_marginLeft="16dp"
168. android:layout_marginTop="6dp"
169. android:orientation="horizontal"
170. app:layout_constraintStart_toStartOf="parent"
171. app:layout_constraintTop_toBottomOf="@+id/lblSucursalDestino">
172.
173. <CheckBox
174. android:id="@+id/chkFarmaciaPrincipal"
175. android:layout_width="wrap_content"
176. android:layout_height="wrap_content"
177. android:text="Principal"
178. tools:layout_editor_absoluteX="38dp"
179. tools:layout_editor_absoluteY="388dp" />
180.
181. <CheckBox
182. android:id="@+id/chkFarmaciaSecundaria"
183. android:layout_width="wrap_content"
184. android:layout_height="wrap_content"
185. android:text="Secundaria"
186. tools:layout_editor_absoluteX="183dp"
187. tools:layout_editor_absoluteY="368dp" />
188. </LinearLayout>
189.
190.
191. <LinearLayout
192. android:layout_width="wrap_content"
193. android:layout_height="wrap_content"

TEMA 9 –Actividades - 25 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

194. android:layout_marginStart="16dp"
195. android:layout_marginLeft="16dp"
196. android:layout_marginTop="6dp"
197. android:layout_marginEnd="16dp"
198. android:layout_marginRight="16dp"
199. android:orientation="horizontal"
200. app:layout_constraintEnd_toEndOf="parent"
201. app:layout_constraintStart_toStartOf="parent"
202. app:layout_constraintTop_toBottomOf="@+id/contenedorCheckBox">
203.
204. <Button
205. android:id="@+id/btnBorrarFormulario"
206. android:layout_width="wrap_content"
207. android:layout_height="wrap_content"
208. android:onClick="metodoBorrar"
209. android:text="Borrar"
210. tools:layout_editor_absoluteX="108dp"
211. tools:layout_editor_absoluteY="428dp" />
212.
213. <Button
214. android:id="@+id/btnEnviar"
215. android:layout_width="wrap_content"
216. android:layout_height="wrap_content"
217. android:onClick="fnEnviar"
218. android:text="Enviar Pedido"
219. tools:layout_editor_absoluteX="113dp"
220. tools:layout_editor_absoluteY="443dp" />
221.
222.
223. </LinearLayout>
224.
225.
226. </android.support.constraint.ConstraintLayout>

4.4. Código Fuente ConfirmacionActivity.java y Activity_Confirmacion.xml

ConfirmacionActivity.java

1. package com.jorgecuenca.farmacia;
2.
3. import android.content.Intent;
4. import android.support.v7.app.AppCompatActivity;
5. import android.os.Bundle;
6. import android.view.View;
7. import android.widget.EditText;
8. import android.widget.TextView;
9. import android.widget.Toast;
10.
11. public class ConfirmacionActivity extends AppCompatActivity {
12.
13. //variables para obtener campos de formulario
14. TextView tvDistribuidor, tvNombreMedicamento, tvDireccionEnvio;
15.
16. @Override
17. protected void onCreate(Bundle savedInstanceState) {
18. super.onCreate(savedInstanceState);
19. setContentView(R.layout.activity_confirmacion);
20.
21. //obtener datos
22. tvDistribuidor = (TextView) findViewById(R.id.txtPedidoDistribuidor);
23. tvNombreMedicamento = (TextView) findViewById(R.id.txtMedicamentoSolicitado);
24. tvDireccionEnvio = (TextView) findViewById(R.id.txtDireccionEnvio);
25.
26. //crear Bundle para recibir los datos del otro formulario
27. Bundle bundlePedido = getIntent().getExtras();
28.
29. tvDistribuidor.setText(bundlePedido.getString("Distribuidor"));

TEMA 9 –Actividades - 26 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

30. tvNombreMedicamento.setText(bundlePedido.getString("Medicamento"));
31. tvDireccionEnvio.setText(bundlePedido.getString("Direccion"));
32. }
33.
34. //funcion para cancelar y volver al formulario anterior
35. public void fnCancelar(View view) {
36. this.finish();
37. }
38.
39. //funcion para confirmar
40. public void fnConfirmar(View view) {
41. //mostrar mensaje de envío y cerrar
42. Toast.makeText(this, "Pedido enviado correctamente.",
Toast.LENGTH_LONG).show();
43. this.finish();
44.
45. //Intent intentPedido = new Intent(this, Pedido.class);
46. //startActivity(intentPedido);
47.
48. }
49. }

Activity_Confirmacion.xml

1. <?xml version="1.0" encoding="utf-8"?>


2. <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com
/apk/res/android"
3. xmlns:app="http://schemas.android.com/apk/res-auto"
4. xmlns:tools="http://schemas.android.com/tools"
5. android:layout_width="match_parent"
6. android:layout_height="match_parent"
7. tools:context=".ConfirmacionActivity">
8.
9. <TextView
10. android:id="@+id/lblTitulo"
11. android:layout_width="wrap_content"
12. android:layout_height="wrap_content"
13. android:text="RESUMEN DE PEDIDO"
14. android:textAppearance="@style/TextAppearance.AppCompat.Title"
15. app:layout_constraintEnd_toEndOf="parent"
16. app:layout_constraintStart_toStartOf="parent"
17. app:layout_constraintTop_toTopOf="parent" />
18.
19. <TextView
20. android:id="@+id/txtPedidoDistribuidor"
21. android:layout_width="wrap_content"
22. android:layout_height="wrap_content"
23. android:layout_marginStart="16dp"
24. android:layout_marginLeft="16dp"
25. android:layout_marginTop="14dp"
26. android:text="Pedido al distribuidor "
27. android:textAppearance="@style/TextAppearance.AppCompat.Large"
28. app:layout_constraintStart_toStartOf="parent"
29. app:layout_constraintTop_toBottomOf="@+id/lblTitulo" />
30.
31. <TextView
32. android:id="@+id/lblMedicamentoSolicitado"
33. android:layout_width="wrap_content"
34. android:layout_height="wrap_content"
35. android:layout_marginStart="16dp"
36. android:layout_marginLeft="16dp"
37. android:layout_marginTop="15dp"
38. android:text="Medicamento Solicitado:"
39. android:textAppearance="@style/TextAppearance.AppCompat.Large"
40. app:layout_constraintStart_toStartOf="parent"
41. app:layout_constraintTop_toBottomOf="@+id/txtPedidoDistribuidor" />
42.
43. <TextView
44. android:id="@+id/txtMedicamentoSolicitado"

TEMA 9 –Actividades - 27 - © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Plataformas de Apellidos: CUENCA BEJAR
Desarrollo de
Software Nombre: JORGE CUENCA

45. android:layout_width="wrap_content"
46. android:layout_height="wrap_content"
47. android:layout_marginStart="16dp"
48. android:layout_marginLeft="16dp"
49. android:layout_marginTop="7dp"
50. android:text="Medicamento Solicitado"
51. app:layout_constraintStart_toStartOf="parent"
52. app:layout_constraintTop_toBottomOf="@+id/lblMedicamentoSolicitado" />
53.
54. <TextView
55. android:id="@+id/lblDireccionEnvio"
56. android:layout_width="wrap_content"
57. android:layout_height="wrap_content"
58. android:layout_marginStart="16dp"
59. android:layout_marginLeft="16dp"
60. android:layout_marginTop="15dp"
61. android:text="Dirección de Envío:"
62. android:textAppearance="@style/TextAppearance.AppCompat.Large"
63. app:layout_constraintStart_toStartOf="parent"
64. app:layout_constraintTop_toBottomOf="@+id/txtMedicamentoSolicitado" />
65.
66. <TextView
67. android:id="@+id/txtDireccionEnvio"
68. android:layout_width="wrap_content"
69. android:layout_height="wrap_content"
70. android:layout_marginStart="16dp"
71. android:layout_marginLeft="16dp"
72. android:layout_marginTop="7dp"
73. android:text="Direccion Envío"
74. app:layout_constraintStart_toStartOf="parent"
75. app:layout_constraintTop_toBottomOf="@+id/lblDireccionEnvio" />
76.
77.
78. <LinearLayout
79. android:layout_width="wrap_content"
80. android:layout_height="wrap_content"
81. android:layout_marginStart="16dp"
82. android:layout_marginLeft="16dp"
83. android:layout_marginTop="6dp"
84. android:layout_marginEnd="16dp"
85. android:layout_marginRight="16dp"
86. android:orientation="horizontal"
87. app:layout_constraintEnd_toEndOf="parent"
88. app:layout_constraintStart_toStartOf="parent"
89. app:layout_constraintTop_toBottomOf="@+id/txtDireccionEnvio">
90.
91. <Button
92. android:id="@+id/btnCancelar"
93. android:layout_width="wrap_content"
94. android:layout_height="wrap_content"
95. android:onClick="fnCancelar"
96. android:text="Cancelar"
97. tools:layout_editor_absoluteX="108dp"
98. tools:layout_editor_absoluteY="428dp" />
99.
100. <Button
101. android:id="@+id/btnEnviar"
102. android:layout_width="wrap_content"
103. android:layout_height="wrap_content"
104. android:onClick="fnConfirmar"
105. android:text="Enviar"
106. tools:layout_editor_absoluteX="222dp"
107. tools:layout_editor_absoluteY="412dp" />
108.
109. </LinearLayout>
110.
111.
112. </android.support.constraint.ConstraintLayout>

TEMA 9 –Actividades - 28 - © Universidad Internacional de La Rioja (UNIR)

Potrebbero piacerti anche