University - ISolutions

Programación Orientada a Objetos (Tower defense - kingdom rush)

Moderator: julianmartinez16

User avatar
JuanZuluaga02
Posts: 33
Joined: Tue Jan 22, 2019 12:12 pm

Re: University - ISolutions

Post by JuanZuluaga02 » Tue May 07, 2019 6:57 pm

Sprint # 13 - Semana 14
Fecha de Inicio 2/05/2019
Fecha de Finalización 9/05/2019


Actividad #13

Corrección de errores.


Tarea Dificultad
  • 1. Implementación de la clase Elección para borrar el bugg con el AlertDialog. 4
    2. Creación de XML de la clase Elección. 3
    3. Ligar la clase Elección con Agenda, Profesores y Asignaturas. 4


Seguimiento del martes:
Fecha: 7/05/2019

1. ¿ Qué se ha hecho ?

Se implementó el XML de Elección y su respectiva clase.




XML de la clase Elección

Code: Select all


  

  <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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=".Eleccion">



    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <Button
            android:id="@+id/eliminartodo"
            android:layout_width="200dp"
            android:layout_height="80dp"
            android:layout_marginTop="150dp"
            android:layout_marginLeft="90dp"
            android:text="ELIMINAR TODO"
            android:textSize="20dp"/>


        <Button
            android:id="@+id/eliminar"
            android:layout_width="200dp"
            android:layout_height="80dp"
            android:layout_marginTop="50dp"
            android:layout_marginLeft="90dp"
            android:text="ELIMINAR NOTA"
            android:textSize="20dp"/>

        <Button
            android:id="@+id/editar"
            android:layout_width="200dp"
            android:layout_height="80dp"
            android:layout_marginTop="50dp"
            android:layout_marginLeft="90dp"
            android:text="EDITAR NOTA"
            android:textSize="20dp"/>
    </LinearLayout>

</android.support.constraint.ConstraintLayout>

Image


Clase Elección

Code: Select all

package com.example.university4;

import android.content.DialogInterface;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Eleccion extends AppCompatActivity implements View.OnClickListener {

    Button bot1,bot2,bot3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_eleccion);

        bot1 = (Button)findViewById(R.id.eliminartodo);
        bot2 = (Button)findViewById(R.id.eliminar);
        bot3 = (Button)findViewById(R.id.editar);

        bot1.setOnClickListener(this);
        bot2.setOnClickListener(this);
        bot3.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        String retorno;
        switch(v.getId()){
            case R.id.eliminartodo:
                retorno = "eliminato";
                Intent intent = new Intent(Eleccion.this,Agenda.class);
                intent.putExtra("mensaje",retorno);
                break;
            case R.id.eliminar:
                retorno = "elimina";
                Intent intent2 = new Intent(Eleccion.this,Agenda.class);
                intent2.putExtra("mensaje",retorno);
                break;
            case R.id.editar:

                Intent intent3 = new Intent(Eleccion.this,EditarNota.class);
                startActivity(intent3);
                break;

        }
    }

}
2. ¿ Qué se va a hacer ?

Se ligará Elección con Agenda

3. ¿Qué dificultades hemos tenido?

Hasta ahora ninguna.
Juan Manuel Zuluaga
POO1

User avatar
xacarana
Site Admin
Posts: 1140
Joined: Fri Jan 15, 2016 6:13 pm

Re: University - ISolutions

Post by xacarana » Thu May 09, 2019 12:25 pm

Image

¡Muy bien!
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

User avatar
JuanZuluaga02
Posts: 33
Joined: Tue Jan 22, 2019 12:12 pm

Re: University - ISolutions

Post by JuanZuluaga02 » Thu May 09, 2019 8:41 pm

Seguimiento del jueves:
Fecha: 9/05/2019

1. ¿ Qué se ha hecho ?

Se implementó la conexión entre la clase Elección y las clases Agenda y Profesores




Método para saber la elección del usuario

Code: Select all


  


    public void Elegir(String f){
        DB = new AdaptadorDB(this);
        if(f.equals("elimina")){
            DB.deleteNote(getTitle);
        }else{
            if(f.equals("eliminato")){
                DB.DeleteNotes();

            }else{
                if(f.equals("editame")){

                }else{
                    if(f.equals("ver")){
                        verNota("list");
                    }
                }
            }
        }


    }






Uso de Bundle para poder recibir una variable desde otra clase

Code: Select all

 Bundle bundle = this.getIntent().getExtras();
        retorno = bundle.getString("mensaje");

En profesores se usa un código similar:

Code: Select all

public void Elegir(String f){
        DB = new AdaptadorDB(this);
        if(f.equals("elimina")){
            DB.deleteNote(getTitle);
        }else{
            if(f.equals("eliminato")){
                DB.DeleteNotes();

            }else{
                if(f.equals("editame")){

                }else{
                    if(f.equals("ver")){
                        verNota("list");
                    }
                }
            }
        }


    }


2. ¿ Qué se va a hacer ?

Se implementará el código necesario para editar el mensaje

3. ¿Qué dificultades hemos tenido?

Hasta ahora ninguna.
Juan Manuel Zuluaga
POO1

User avatar
JuanZuluaga02
Posts: 33
Joined: Tue Jan 22, 2019 12:12 pm

Re: University - ISolutions

Post by JuanZuluaga02 » Tue May 14, 2019 9:19 pm

Sprint # 14 - Semana 15
Fecha de Inicio 9/05/2019
Fecha de Finalización 16/05/2019


Actividad #14

Finalización de detalles.


Tarea Dificultad
  • 1. Se cambia la clase Elección por algo más eficiente pero estéticamente menos bello.
    2. Botón eliminar funcional.
    3. Botón editar funcional.


Seguimiento del martes:
Fecha: 14/05/2019

1. ¿ Qué se ha hecho ?

Se implementó el código necesario para poder eliminar y editar los datos de la base de datos.




Actividad Agenda, Botones de opciones

Code: Select all


  
 botelim.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              Elegir("eliminato");
          }
      });

      botelim2.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
             Elegir("elimina");
          }
      });

      botedit.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              Elegir("editame");
          }
      });

      botver.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              Elegir("ver");
          }
      });

        bot1.setOnClickListener(
                new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showNotes();
                addUpdateNotes();
            }
        });
Image


Método para toma de decisión.

Code: Select all

public void Elegir(String f){
        DB = new AdaptadorDB(this);

        if(f.equals("elimina")){
            DB.deleteNote(getTitle);
        }else{
            if(f.equals("eliminato")){
                DB.DeleteNotes();

            }else{
                if(f.equals("editame")){

                   Intent intent = new Intent(Agenda.this,EditarNota.class);
                    startActivity(intent);
                    intent.putExtra("titulo",getTitle);

                }else{
                   {
                        verNota();
                    }
                }
            }
        }


    }

2. ¿ Qué se va a hacer ?

Terminar de mejorar el rendimiento al editar una nota

3. ¿Qué dificultades hemos tenido?

La clase tiene problemas con el método editar.
Juan Manuel Zuluaga
POO1

User avatar
JuanZuluaga02
Posts: 33
Joined: Tue Jan 22, 2019 12:12 pm

Re: University - ISolutions

Post by JuanZuluaga02 » Thu May 16, 2019 11:30 am

Entrega FInal


Juan Manuel Zuluaga
POO1

User avatar
JuanZuluaga02
Posts: 33
Joined: Tue Jan 22, 2019 12:12 pm

Re: University - ISolutions

Post by JuanZuluaga02 » Tue May 21, 2019 9:28 pm

Sprint # 15 - Semana 16
Fecha de Inicio 16/05/2019
Fecha de Finalización 23/05/2019


Actividad #15

Arreglar interfaz gráfica para ser más agradable a la vista (Especialmente los botones).


Tarea Dificultad
  • 1. Agregar la implementación de Edición y Eliminación a la clase de Profesor y Asignatura.
    2. Arreglar los botones para que se vean mejor estéticamente y más coloridos.


Seguimiento del martes:
Fecha: 21/05/2019

1. ¿ Qué se ha hecho ?

Se implementó el código definitivo para eliminar y editar datos de las tablas en Asignatura y Profesor.




Actividad Profesores

Code: Select all


   ListView listap;
    EditText edit1, edit2, edit3;
    String getTitle;
    List<String> item = null;
    AdaptadorP DB2;
    Button bot2,botonelim,botonelimtodo,botonedit1,botonedit2,botonver;
    TextView textico;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_profesores);
        listap = (ListView) findViewById(R.id.listap);
        edit1 = (EditText) findViewById(R.id.campo1);
        edit2 = (EditText) findViewById(R.id.campo2);
        edit3 = (EditText) findViewById(R.id.campo3);
        bot2 = (Button)findViewById(R.id.agregar);
        botonelimtodo = (Button)findViewById(R.id.botonelim3);
        botonelim = (Button)findViewById(R.id.botonelim4) ;
        botonedit1 = (Button)findViewById(R.id.editar2);
        botonedit2 = (Button)findViewById(R.id.editaresto);
        botonver = (Button)findViewById(R.id.vernota2);

        textico = (TextView) findViewById(R.id.textico);

        showNotes();

        botonelim.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
             Elegir("elimina");
                addUpdateNotes();
                showNotes();
            }
        });

        botonelimtodo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Elegir("eliminato");
                addUpdateNotes();
                showNotes();
            }
        });

        botonver.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Elegir("ver");
                addUpdateNotes();
                showNotes();
            }
        });

        botonedit1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                botonedit2.setVisibility(View.VISIBLE);
                bot2.setVisibility(View.GONE);
            }
        });

        botonedit2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Elegir("editame");
                addUpdateNotes();
                showNotes();
            }
        });


        listap.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                getTitle = (String) listap.getItemAtPosition(position);


            }
        });

        bot2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textico.setText("");
                addUpdateNotes();
                showNotes();
            }
        });

    }


    private void addUpdateNotes() {
        DB2 = new AdaptadorP(this);
        String nombre, telefono, materia, msj;
        nombre = edit1.getText().toString();
        materia = edit2.getText().toString();
        telefono = edit3.getText().toString();
        if (nombre.equals("")) {
            msj = "Ingrese el nombre";
            edit1.requestFocus();
            Mensaje(msj);
        } else {
            if (materia.equals("")) {
                msj = "Ingrese la materia";
                edit2.requestFocus();
                Mensaje(msj);

            } else {
                if (telefono.equals("")) {
                    msj = "Ingrese el telefono";
                    edit2.requestFocus();
                    Mensaje(msj);

                } else {


                    Cursor c = DB2.getProfe(nombre);
                    getTitle = "";
                    //Se asegura de que existe al menos una condición
                    if (c.moveToFirst()) {
                        //Se recorre el cursor hasta que no hayan registros
                        do {
                            getTitle = c.getString(1); //Las columnas cuentan desde 0
                        } while (c.moveToNext());
                    }
                    if (getTitle.equals(nombre)) {
                        edit1.requestFocus();
                        msj = "El profesor ya existe";
                    } else {
                        DB2.addProfe(nombre, materia, telefono);
                        msj = "Datos agregados";
                        Toast.makeText(this, msj, Toast.LENGTH_SHORT).show();
                        //actividad(title,content);
                    }

                }

            }
        }

    }


    public void Mensaje(String msj) {
        Toast toast = Toast.makeText(this, msj, Toast.LENGTH_SHORT);
        toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
        toast.show();
    }

    public void showNotes() {
        DB2 = new AdaptadorP(this);
        Cursor c = DB2.getProfes();
        item = new ArrayList<String>();
        String nombre = "";
        String tel = "";
        //Nos aseguramos de que existe al menos un registro
        if (c.moveToFirst() == false) {
            textico.setText("No hay profes añadidos");
        } else {
            do {
                nombre = c.getString(1);
                item.add(nombre);


            } while (c.moveToNext());
        }

        ArrayAdapter<String> adaptador = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, item);

        listap.setAdapter(adaptador);

    }

    public String getNote() {
        String type = "";
        String materia = "";

        DB2 = new AdaptadorP(this);
        Cursor c = DB2.getProfe(getTitle);
        if (c.moveToFirst() == true) {

            do {
                materia = c.getString(2);
                item.add(materia);

            } while (c.moveToNext());
        }
        return materia;
    }


    public String getNote2() {
        String type = "";
        String telefono = "";

        DB2 = new AdaptadorP(this);
        Cursor c = DB2.getProfe(getTitle);
        if (c.moveToFirst() == true) {

            do {
                telefono = c.getString(3);
                item.add(telefono);

            } while (c.moveToNext());
        }
        return telefono;
    }


    public void actividad(String nombre, String materia, String telefono) {
        Intent intent = new Intent(Profesores.this, VerProfesores.class);
        intent.putExtra("nombre", nombre);
        intent.putExtra("materia", materia);
        intent.putExtra("telefono", telefono);
        startActivity(intent);
    }


    public void verNota() {

        String nombre, materia, telefono;


        materia = getNote();
        telefono = getNote2();
        nombre = getTitle;
        //Toast.makeText(this ,telefono,Toast.LENGTH_LONG).show();
        actividad(nombre, materia, telefono);


    }

    public void Elegir(String f) {
        AdaptadorP DB = new AdaptadorP(this);

        if (f.equals("elimina")) {
            DB.deleteNote(getTitle);
        } else {
            if (f.equals("eliminato")) {
                DB.DeleteNotes();

            } else {
                if (f.equals("editame")) {

                    DB.UpdateNote(edit1.getText().toString(), edit2.getText().toString(), edit3.getText().toString(), getTitle);
                    actividad(edit1.getText().toString(), edit2.getText().toString(), edit3.getText().toString());

                } else {
                    {
                        verNota();
                    }
                }
            }
        }
    }
}


Actividad Asignatura

Code: Select all

 ListView list;
    EditText edit1,edit2;
    Button botton2,botomelimtodo,botonelim,botonedit1,botonedit2,botonver;
    ImageButton botton;
    List<String> item;
    String getTitle;
    String nota;
    AdaptadorA DB3;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_asignaturas);


        list = (ListView)findViewById(R.id.listic);
        edit1 = (EditText)findViewById(R.id.cam1);
        edit2 = (EditText)findViewById(R.id.cam2);
        botton2 = (Button)findViewById(R.id.datos);
        botomelimtodo = (Button)findViewById(R.id.botonelim5);
        botonelim = (Button)findViewById(R.id.botonelim6);
        botonedit1 = (Button)findViewById(R.id.editameesta);
        botonedit2 = (Button)findViewById(R.id.editar3);
        botonver = (Button)findViewById(R.id.vernota3);

        showNotes();

        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                getTitle = (String) list.getItemAtPosition(position);


            }
        });

        botonedit1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Elegir("editame");
                addUpdateNotes();
                showNotes();
            }
        });

        botonelim.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Elegir("elimina");
                addUpdateNotes();
                showNotes();
            }
        });

        botomelimtodo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Elegir("eliminato");
                addUpdateNotes();
                showNotes();
            }
        });

        botonedit2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               botonedit1.setVisibility(View.VISIBLE);
               botton2.setVisibility(View.GONE);

            }
        });

        botonver.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Elegir("ver");

            }
        });





       botton2.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               addUpdateNotes();
               showNotes();

           }
       });

    }


    private void addUpdateNotes(){
        DB3 = new AdaptadorA(this);
        String materia,msj;
        materia = edit1.getText().toString();

        nota = edit2.getText().toString();

        if(materia.equals("")){
            msj = "Ingrese el nombre la materia";
            edit1.requestFocus();
            Mensaje(msj);
        }else{
            if(nota.equals("")){
                msj = "no ha ingresado la nota";
                edit2.requestFocus();
                Mensaje(msj);
            }else{
                Cursor c = DB3.getNote(materia);
                getTitle = "";
                //Se asegura de que existe al menos una condición
                if(c.moveToFirst()){
                    //Se recorre el cursor hasta que no hayan registros
                    do{
                        getTitle = c.getString(1); //Las columnas cuentan desde 0
                    }while (c.moveToNext());
                }
                if(getTitle.equals(materia)){
                    edit1.requestFocus();
                    msj = "La materia ya ha sido ingresada";
                }else{

                    DB3.addNotes(materia,nota);
                    msj = "Datos agregados";
                    Toast.makeText(this, msj , Toast.LENGTH_SHORT).show();
                    actividad(materia,nota);
                }
            }
        }

    }

    public void Mensaje(String msj){
        Toast toast = Toast.makeText(this, msj,Toast.LENGTH_SHORT);
        toast.setGravity(Gravity.CENTER_VERTICAL,0,0);
        toast.show();
    }

    public void showNotes(){
        DB3 = new AdaptadorA(this);
        Cursor c = DB3.getNotes();
        item = new ArrayList<String>();
        String materia = "";
        //Nos aseguramos de que existe al menos un registro
        if(c.moveToFirst() == false){
            Toast.makeText(this, "No hay materias ingresadas hasta ahora",Toast.LENGTH_SHORT).show();
        }else{
            do{
                materia = c.getString(1);
                item.add(materia);

            }while(c.moveToNext());
        }

        ArrayAdapter<String> adaptador = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,item);
        list.setAdapter(adaptador);

    }

    public String getNote(){


        DB3 = new AdaptadorA(this);
        Cursor c = DB3.getNote(getTitle);
        if(c.moveToFirst() == true){

            do{
                nota = c.getString(2);
                item.add(nota);

            }while(c.moveToNext());
        }
        return nota;
    }


    public void actividad(String materia,String nota){
        Intent intent = new Intent(Asignaturas.this, VisualizarNota.class);
        intent.putExtra("materia",materia);
        intent.putExtra("nota",nota);
        startActivity(intent);
    }


    public void verNota(){


        String materia;


        nota = getNote();

        materia = getTitle;
        //Toast.makeText(this ,content,Toast.LENGTH_LONG).show();
        actividad(materia,nota);





    }


    public void Elegir(String f) {
        AdaptadorA DB = new AdaptadorA(this);

        if (f.equals("elimina")) {
            DB.deleteNote(getTitle);
        } else {
            if (f.equals("eliminato")) {
                DB.DeleteNotes();

            } else {
                if (f.equals("editame")) {

                    DB.UpdateNote(edit1.getText().toString(), edit2.getText().toString(), getTitle);
                    actividad(edit1.getText().toString(), edit2.getText().toString());

                } else {
                    {
                        verNota();
                    }
                }
            }
        }
    }
}
2. ¿ Qué se va a hacer ?

Mejorar los botones, poniéndolos más ordenados y más coloridos.

3. ¿Qué dificultades hemos tenido?

Hasta ahora ninguna.
Juan Manuel Zuluaga
POO1

User avatar
JuanZuluaga02
Posts: 33
Joined: Tue Jan 22, 2019 12:12 pm

Re: University - ISolutions

Post by JuanZuluaga02 » Thu May 23, 2019 9:38 pm

Seguimiento del jueves:
Fecha: 23/05/2019

1. ¿ Qué se ha hecho ?

Se mejoraron detalles de la interfaz gráfica.




Spinner para escoger opción

Code: Select all


   spinner.setAdapter(adapter);

      
 spinner.setAdapter(adapter);

        bothacer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        })










2. ¿ Qué se va a hacer ?

Preparar todo para la presentación final.

3. ¿Qué dificultades hemos tenido?

Hasta ahora ninguna.
Juan Manuel Zuluaga
POO1

Post Reply