University - ISolutions

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

Moderator: julianmartinez16

User avatar
JuanZuluaga02
Posts: 34
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: 1170
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: 34
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: 34
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: 34
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: 34
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: 34
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

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

Re: University - ISolutions

Post by JuanZuluaga02 » Fri May 31, 2019 7:49 pm

ENTREGA FINAL PDOO


AFICHE PROMOCIONAL UNIVERSITY

Image

Diagrama de Clases


Image
FOTOS DEL EVENTO


Image

Image


PRESENTACIÓN FINAL




El APK de la aplicación está disponible para ser descargado en el siguiente repositorio:

https://github.com/juan0202/Proyecto-POO
Juan Manuel Zuluaga
POO1

Post Reply