Está en la página 1de 36

PRÁCTICA 3. Diseño de la Interfaz de usuario.

Alumno: José Eduardo Cervantes Ortiz


Expediente: 283343

3.1.10. Modifique la aplicación de modo que tenga la vista de una calculadora básica.

3.3.6. Ejecute la aplicación y compruebe que el resultado es similar al que se muestra a


continuación.
3.4.1. Modifique la aplicación de la calculadora, para que se generen diferentes diálogos al
presionar cualquiera de los botones utilizados en la interfaz gráfica de usuario.
3.4.2. Investigue 3 métodos de documentación de software.

Pruebas unitarias

Las pruebas unitarias suelen ser de mucha utilidad para documentar la forma en que debería
funcionar las diversas partes de un sistema. Ayuda a verificar que el sistema cumpla con los
requerimientos y que los resultados son los esperados. Por otro lado ayuda a probar el código sin
tener que ensamblarlo con el resto del sistema.

API DOCS

La finalidad de los api docs consiste en resumir las interfaces en el código fuente sin tener que
visualizar directamente todo el código. Es el hecho de realizar documentación en el código fuente,
en aquellos métodos que realicen operaciones complejas. Javadoc es una utilidad de Oracle para
la generación de documentación de APIs en formato HTML a partir de código fuente Java. Javadoc
es el estándar de la industria para documentar clases de Java. La mayoría de los IDEs los generan
automáticamente.

Documentación de usuario

Para la documentación de usuario, la documentación markdown es de utilidad ya que puede


posteriormente convertirse a diversos formatos. Sin embargo, para este tipo de documentación tal
vez sería útil separarlo en un repositorio diferente en el que se pueda actualizar constantemente
sin arruinar por accidente alguna confirmación.
3.4.3. Código

APP INTERFAZ USUARIO

Activity_main.xml

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context=".MainActivity">

<TextView

android:id="@+id/textView2"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginStart="20dp"

android:layout_marginTop="20dp"

android:layout_marginEnd="20dp"

android:layout_marginBottom="20dp"

android:fontFamily="monospace"

android:text="TextView"

android:textAlignment="textEnd"

android:textAllCaps="true"

android:textColor="#673AB7"

android:textSize="24sp"

android:textStyle="bold" />

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">
<Button

android:id="@+id/btnPorcentaje"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClickPorcentaje"

android:text="%" />

<Button

android:id="@+id/btnAC"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClickAC"

android:text="AC" />

<Button

android:id="@+id/btnC"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClickC"

android:text="C" />

<Button

android:id="@+id/btnSuma"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClickSum"

android:text="+" />

</LinearLayout>

<TableLayout

android:layout_width="match_parent"

android:layout_height="match_parent">

<TableRow

android:layout_width="match_parent"

android:layout_height="match_parent" >

<Button
android:id="@+id/btnSiete"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClick7"

android:text="7" />

<Button

android:id="@+id/btnOcho"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClick8"

android:text="8" />

<Button

android:id="@+id/btnNueve"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClick9"

android:text="9" />

<Button

android:id="@+id/btnResta"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClickRes"

android:text="-" />

</TableRow>

<TableRow

android:layout_width="match_parent"

android:layout_height="match_parent">

<Button

android:id="@+id/btnCuatro"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClick4"

android:text="4" />

<Button

android:id="@+id/btnCinco"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClick5"

android:text="5" />

<Button

android:id="@+id/btnSeis"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClick6"

android:text="6" />

<Button
android:id="@+id/btnMulti"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClickMult"

android:text="*" />

</TableRow>

<TableRow

android:layout_width="match_parent"

android:layout_height="match_parent">

<Button

android:id="@+id/btnUno"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClick1"

android:text="1" />

<Button
android:id="@+id/btnDos"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClick2"

android:text="2" />

<Button

android:id="@+id/btnTres"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClick3"

android:text="3" />

<Button

android:id="@+id/btnDiv"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClickDiv"

android:text="/" />

</TableRow>

<TableRow

android:layout_width="match_parent"

android:layout_height="match_parent" >

<Button

android:id="@+id/btnSQR"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClickSQR"

android:text="SQR" />

<Button

android:id="@+id/btnCero"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClick0"

android:text="0" />

<Button

android:id="@+id/btnPunto"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClickPunto"

android:text="." />

<Button

android:id="@+id/btnIgual"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:layout_marginTop="5dp"

android:layout_marginEnd="5dp"

android:layout_marginRight="5dp"

android:layout_marginBottom="5dp"

android:layout_weight="1"

android:onClick="onClickIgual"

android:text="=" />

</TableRow>
</TableLayout>

</LinearLayout>

AndroidManifest.xml

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

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

package="com.example.interfazusuario">

<application

android:allowBackup="true"

android:dataExtractionRules="@xml/data_extraction_rules"

android:fullBackupContent="@xml/backup_rules"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/Theme.Material3.DynamicColors.Dark"

tools:targetApi="31">

<activity

android:name=".MainActivity"

android:exported="true">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>
</manifest>

MainActivity.java

package com.example.interfazusuario;

import androidx.appcompat.app.AppCompatActivity;

import android.view.Window;

import android.os.Bundle;

import android.app.AlertDialog;

import android.app.Dialog;

import android.content.DialogInterface;

import android.view.View;

import android.widget.Toast;

import android.app.ProgressDialog;

/**

* This is the main activity

*/

public class MainActivity extends AppCompatActivity {

CharSequence[] items = {"Raiz Cuadrada", "Raiz Cubica"};

CharSequence[] items2 = {"Modulo", "Porcentaje"};

boolean[] itemsChecked = new boolean[items.length];

boolean[] items2Checked = new boolean[items2.length];

ProgressDialog progressDialog;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);
}

public void onClick0(View v) {

showDialog(0);

public void onClick1(View v) {

showDialog(1);

public void onClick2(View v) {

showDialog(2);

public void onClick3(View v) {

showDialog(3);

public void onClick4(View v) {

showDialog(4);

public void onClick5(View v) {

showDialog(5);

public void onClick6(View v) {

showDialog(6);

public void onClick7(View v) {

showDialog(7);
}

public void onClick8(View v) {

showDialog(8);

public void onClick9(View v) {

showDialog(9);

public void onClickSQR(View v){

showDialog(10);

public void onClickPunto(View v){

showDialog(11);

public void onClickIgual(View v){

showDialog(12);

progressDialog.setProgress(0);

new Thread(new Runnable() {

public void run() {

for (int i = 1; i <= 15; i++) {

try {

Thread.sleep(1000);

progressDialog.incrementProgressBy((int) (100 / 15));

} catch (InterruptedException e) {

e.printStackTrace();

progressDialog.dismiss();
}

}).start();

public void onClickDiv(View v){

showDialog(13);

public void onClickMult(View v){

showDialog(14);

public void onClickRes(View v){

showDialog(15);

public void onClickSum(View v){

showDialog(16);

public void onClickC(View v){

final ProgressDialog dialog = ProgressDialog.show(

this, "Borrando Operacion", "Please wait...", true);

new Thread(new Runnable(){

public void run(){

try {

//---simulate doing something lengthy---

Thread.sleep(5000);

//---dismiss the dialog---

dialog.dismiss();

} catch (InterruptedException e) {

e.printStackTrace();
}

}).start();

public void onClickAC(View v){

showDialog(18);

progressDialog.setProgress(0);

new Thread(new Runnable() {

public void run() {

for (int i = 1; i <= 15; i++) {

try {

Thread.sleep(1000);

progressDialog.incrementProgressBy((int) (100 / 15));

} catch (InterruptedException e) {

e.printStackTrace();

progressDialog.dismiss();

}).start();

public void onClickPorcentaje(View v){

showDialog(19);

@Override

protected Dialog onCreateDialog(int id) {

switch (id) {

case 0:

return new AlertDialog.Builder(this)


.setTitle("Presionaste la tecla 0")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 1:

return new AlertDialog.Builder(this)

.setTitle("Presionaste la tecla 1")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 2:

return new AlertDialog.Builder(this)

.setTitle("Presionaste la tecla 2")

.setPositiveButton("OK",
new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 3:

return new AlertDialog.Builder(this)

.setTitle("Presionaste la tecla 3")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 4:

return new AlertDialog.Builder(this)

.setTitle("Presionaste la tecla 4")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)


{}

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 5:

return new AlertDialog.Builder(this)

.setTitle("Presionaste la tecla 5")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 6:

return new AlertDialog.Builder(this)

.setTitle("Presionaste la tecla 6")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

}
)

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 7:

return new AlertDialog.Builder(this)

.setTitle("Presionaste la tecla 7")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 8:

return new AlertDialog.Builder(this)

.setTitle("Presionaste la tecla 8")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 9:

return new AlertDialog.Builder(this)

.setTitle("Presionaste la tecla 9")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 10:

return new AlertDialog.Builder(this)

.setTitle("Tipo de Operacion")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

Toast.makeText(getBaseContext(),

"OK clicked!", Toast.LENGTH_SHORT).show();

}
)

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

Toast.makeText(getBaseContext(),

"Cancel clicked!", Toast.LENGTH_SHORT).show();

.setMultiChoiceItems(items, itemsChecked,

new DialogInterface.OnMultiChoiceClickListener() {

public void onClick(DialogInterface dialog,

int which, boolean isChecked) {

Toast.makeText(getBaseContext(),

items[which] + (isChecked ? " checked!":" unchecked!"),

Toast.LENGTH_SHORT).show();

).create();

case 12:

progressDialog = new ProgressDialog(this);

progressDialog.setTitle("Calculando el resultado ...");

progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int whichButton)

Toast.makeText(getBaseContext(),

"OK clicked!", Toast.LENGTH_SHORT).show();


}

});

progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int whichButton)

Toast.makeText(getBaseContext(),

"Cancel clicked!", Toast.LENGTH_SHORT).show();

});

return progressDialog;

case 13:

return new AlertDialog.Builder(this)

.setTitle("Operacion Division Seleccionada")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 14:

return new AlertDialog.Builder(this)

.setTitle("Operacion Multiplicacion Seleccionada")


.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 15:

return new AlertDialog.Builder(this)

.setTitle("Operacion Resta Seleccionada")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 16:

return new AlertDialog.Builder(this)

.setTitle("Operacion Suma Seleccionada")


.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

{}

).create();

case 18:

progressDialog = new ProgressDialog(this);

progressDialog.setTitle("Borrando la memoria ...");

progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int whichButton)

Toast.makeText(getBaseContext(),

"OK clicked!", Toast.LENGTH_SHORT).show();

});

progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int whichButton)

{
Toast.makeText(getBaseContext(),

"Cancel clicked!", Toast.LENGTH_SHORT).show();

});

return progressDialog;

case 19:

return new AlertDialog.Builder(this)

.setTitle("Tipo de Operacion")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

Toast.makeText(getBaseContext(),

"OK clicked!", Toast.LENGTH_SHORT).show();

.setNegativeButton("Cancel",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

Toast.makeText(getBaseContext(),

"Cancel clicked!", Toast.LENGTH_SHORT).show();

.setMultiChoiceItems(items2, items2Checked,

new DialogInterface.OnMultiChoiceClickListener() {

public void onClick(DialogInterface dialog,

int which, boolean isChecked) {

Toast.makeText(getBaseContext(),
items2[which] + (isChecked ? " checked!":" unchecked!"),

Toast.LENGTH_SHORT).show();

).create();

return null;

APP MIDIALOGO

Activity_main.xml

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

<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity">

<TextView

android:id="@+id/textView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Hello World!"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/btn_dialog"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:onClick="onClick"

android:text="Click to display a dialog"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.0"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintVertical_bias="0.058" />

<Button

android:id="@+id/btn_dialog2"

android:layout_width="fill_parent"

android:layout_height="49dp"

android:onClick="onClick2"

android:text="Click to display a progress dialog"

app:layout_constraintBottom_toTopOf="@+id/textView"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.0"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/btn_dialog"

app:layout_constraintVertical_bias="0.109" />

<Button

android:id="@+id/btn_dialog3"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginTop="24dp"

android:onClick="onClick3"

android:text="Click to display a detailed progress dialog"


app:layout_constraintBottom_toTopOf="@+id/textView"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.0"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/btn_dialog2"

app:layout_constraintVertical_bias="0.0" />

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

package com.example.midialogo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.app.AlertDialog;

import android.app.Dialog;

import android.content.DialogInterface;

import android.view.View;

import android.widget.Toast;

import android.widget.Toast;

import android.app.ProgressDialog;

/**

* This is the main activity

*/

public class MainActivity extends AppCompatActivity {

CharSequence[] items = {"Google", "Apple", "Microsoft"};

boolean[] itemsChecked = new boolean[items.length];

ProgressDialog progressDialog;

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

public void onClick (View v)

showDialog(0);

public void onClick2(View v) {

//---show the dialog---

final ProgressDialog dialog = ProgressDialog.show(

this, "Doing something", "Please wait...", true);

new Thread(new Runnable(){

public void run(){

try {

//---simulate doing something lengthy---

Thread.sleep(5000);

//---dismiss the dialog---

dialog.dismiss();

} catch (InterruptedException e) {

e.printStackTrace();

}).start();

public void onClick3(View v) {

showDialog(1);

progressDialog.setProgress(0);

new Thread(new Runnable() {


public void run() {

for (int i = 1; i <= 15; i++) {

try {

//---simulate doing something lengthy---

Thread.sleep(1000);

//---update the dialog---

progressDialog.incrementProgressBy((int) (100 / 15));

} catch (InterruptedException e) {

e.printStackTrace();

progressDialog.dismiss();

}).start();

@Override

protected Dialog onCreateDialog(int id) {

switch (id) {

case 0:

return new AlertDialog.Builder(this)

.setTitle("This is a dialog with some simple text...")

.setPositiveButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

Toast.makeText(getBaseContext(),

"OK clicked!", Toast.LENGTH_SHORT).show();

.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton)

Toast.makeText(getBaseContext(),

"Cancel clicked!", Toast.LENGTH_SHORT).show();

.setMultiChoiceItems(items, itemsChecked,

new DialogInterface.OnMultiChoiceClickListener() {

public void onClick(DialogInterface dialog,

int which, boolean isChecked) {

Toast.makeText(getBaseContext(),

items[which] + (isChecked ? " checked!":" unchecked!"),

Toast.LENGTH_SHORT).show();

).create();

case 1:

progressDialog = new ProgressDialog(this);

progressDialog.setTitle("Downloading files...");

progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int whichButton)

Toast.makeText(getBaseContext(),

"OK clicked!", Toast.LENGTH_SHORT).show();

});

progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",
new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int whichButton)

Toast.makeText(getBaseContext(),

"Cancel clicked!", Toast.LENGTH_SHORT).show();

});

return progressDialog;

return null;

3.5. EVALUACIÓN.

Nombre del alumno: José Eduardo Cervantes Ortiz

Punto Observaciones Fecha de entrega Días atraso Calificación / Firma

3.1.10 17/08/2022

3.3.6 17/08/2022

3.4.1 17/08/2022

3.4.2 17/08/2022

3.4.3 17/08/2022

Calificación de la Práctica:

También podría gustarte