University - ISolutions

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

Moderator: julianmartinez16

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

Re: University - ISolutions

Post by JuanZuluaga02 » Mon Mar 04, 2019 7:39 pm

Sprint # 5- Semana 5
Fecha de Inicio 28/02/2019
Fecha de Finalización 7/03/2019


Actividad #5

Realización actividad de agenda


Tarea Encargado Dificultad
  • 1. Corrección XML (Carolina) 3
    2. Realización de la clase DBHelper (Carolina) 4
    3. Realización clase DBManager (modificable)(Juan Manuel) 5

Seguimiento del martes:
Fecha: 5/03/2019

1. ¿ Qué hemos hecho ?

Realizamos algunos de los métodos necesarios para implementar la clase DBManager y DBHelper y sus diferentes llamados en la clase Agenda.


Clase DBManager:

Code: Select all

package com.example.juanc.university;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class DBManagerAG {

public static  final String TABLE_NAME = "agenda";

public static final String ID = "id";
public static final String CN_TITULO = "Titulo";
public static final String CN_CONTENIDO = "nota";

public static final String CREATE_TABLE = "create table " + TABLE_NAME + "("
        + ID + "integer primary key autoincrement, "
        + CN_TITULO + " text not null,"
        + CN_CONTENIDO + " text;";

    private DBAgenda agenda;
    private SQLiteDatabase db;
    public DBManagerAG(Context context) {

        agenda = new DBAgenda(context); //Se crea una instancia de la clase DBAgenda
        db = agenda.getWritableDatabase(); //Devuelve la base de datos en caso de existir y sino existe, la crea

    }

    public ContentValues generarContentValues(String titulo, String nota){
        ContentValues valores = new ContentValues();
        valores.put(CN_TITULO,titulo);
        valores.put(CN_CONTENIDO,nota);
        return  valores;
    }

    public void insertar(String titulo, String nota){
        db.insert(TABLE_NAME,null,generarContentValues(titulo,nota));
    }

   public void eliminar(String titulo){
        db.delete(TABLE_NAME,CN_TITULO + "=?",new String[]{titulo});
   }

   public Cursor cargarCursorNotas(){
        String[] columnas = new String[]{ID,CN_TITULO,CN_CONTENIDO};
        return db.query(TABLE_NAME,columnas,null,null,null,null,null);

   }



}
Clase DBHelper:

Code: Select all

package com.example.juanc.university;

import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBAgenda extends SQLiteOpenHelper {
    private static final String DB_NAME = "agenda.sqlite";
    private static final int DB_SCHEME_VERSION = 1;

    public DBAgenda(Context context) {
        super(context,DB_NAME,null,DB_SCHEME_VERSION);

    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(DBManagerAG.CREATE_TABLE);

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}


Llamados a las clases, en la actividad de Agenda

Code: Select all

package com.example.juanc.university;

import android.database.Cursor;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class Agenda extends AppCompatActivity {

    private DBManagerAG manager;
    private Cursor cursor;
    private ListView lista;
    private SimpleCursorAdapter adapter;

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

        DBManagerAG manager = new DBManagerAG(this);
        lista = findViewById(R.id.listview);
        cursor = manager.cargarCursorNotas();
    }
}


2. ¿ Qué vamos a hacer ?

Continuaremos con la implementación de la actividad Agenda, la cual requiere muchos elementos.

3. ¿Qué dificultades hemos tenido?

Aún la nota en la actividad Cálculo Rápido no está siendo calculada de la manera correcta, al parecer el string está siendo tomado automáticamente como uno y por ende el retorno de la función siempre será 3.
Last edited by JuanZuluaga02 on Sun Mar 31, 2019 5:00 pm, edited 3 times in total.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Thu Mar 07, 2019 9:51 pm

Seguimiento del Jueves:
Fecha: 7/03/2019

1. ¿ Qué hemos hecho ?

Se implementó el bloque de código necesario para hacer uso de Listviews empleando bases de datos.


Clase Agenda Principal:

Code: Select all

  private ListView lista_lisv;
  //  ArrayList<String> lista_array_id;
    ArrayList<String> lista_array_nom;
    ArrayAdapter adaptador;
    SQLiteDatabase db;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_listausuarios);
        //llenado de lisview
        lista_lisv = (ListView) findViewById(R.id.lista_lisv);
        UsuariosSQLiteHelper usu = new UsuariosSQLiteHelper(getApplicationContext());
        db = usu.getWritableDatabase();

      //  lista_array_id = llenar_lista_lisv_id();
        lista_array_nom= llenar_lista_lisv_nomb();
      //  SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.formato_fila, cursor, from, to);
        adaptador = new ArrayAdapter(this, android.R.layout.simple_list_item_1,lista_array_nom);
        lista_lisv.setAdapter(adaptador);

        lista_lisv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {

                String pos = String.valueOf(position);
                // String pos2 = String.valueOf(id);
                String  itemValue    = (String)   lista_lisv.getItemAtPosition(position);

                Toast.makeText(getApplicationContext(), "valor 1 = "+
                        pos+" valor 3 = "+itemValue, Toast.LENGTH_LONG).show();


            }
        });

    }
    public ArrayList llenar_lista_lisv_nomb(){
        ArrayList<String> lista_nom = new ArrayList<>();

        Cursor registros = db.rawQuery("SELECT codigo,nombre,edad FROM Usuarios",
                                        null);
        if(registros.moveToFirst()){
            do{
                lista_nom.add(registros.getString(1));
            }while(registros.moveToNext());
        }
        return lista_nom;

    }
    public ArrayList llenar_lista_lisv_id(){
        ArrayList<String> lista_id = new ArrayList<>();

        Cursor registros = db.rawQuery("SELECT codigo,nombre,edad FROM Usuarios", null);
        if(registros.moveToFirst()){
            do{
                lista_id.add(registros.getString(0));
            }while(registros.moveToNext());
        }
        return lista_id;

    }





}


Clase de apoyo para métodos básicos en una base de datos

Code: Select all

  private Button bInsertar, bActualizar, bEliminar, bConsultar;
    private EditText eCodigo, eNombre, eEdad;
    private TextView Resultado;
    private Button blista;


    SQLiteDatabase db;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        blista = (Button) findViewById(R.id.blista);
        bInsertar = (Button) findViewById(R.id.bInsertar);
        bActualizar = (Button) findViewById(R.id.bActualizar);
        bEliminar = (Button) findViewById(R.id.bEliminar);
        bConsultar = (Button) findViewById(R.id.bConsultar);
        eCodigo = (EditText) findViewById(R.id.eCod);
        eNombre = (EditText) findViewById(R.id.eNom);
        eEdad = (EditText) findViewById(R.id.eEdad);
        Resultado = (TextView) findViewById(R.id.txtResultado);


        //Abrimos la base de datos 'UsuariosBD' en modo escritura
        UsuariosSQLiteHelper usuario = new UsuariosSQLiteHelper(this);
        //UsuariosSQLiteHelper usuario = new UsuariosSQLiteHelper(this, "UsuariosBD", null, 1);

        db = usuario.getWritableDatabase();
        // SQLiteDatabase db = usdbh.getWritableDatabase();

        //Si hemos abierto correctamente la base de datos
        if (db != null) {

            for (int i = 1; i <= 2; i++) {
                String nombre = "usuario"+i;
                int edad = 20 + i;

                db.execSQL("INSERT INTO Usuarios(nombre,edad)"
                        + "VALUES('" + nombre + "','" + edad + "')");
            }
        }

        Ver_Tabla();

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

                String nombre=eNombre.getText().toString();
                String  edad= eEdad.getText().toString();

                ContentValues nuevoRegistro = new ContentValues();
                nuevoRegistro.put("nombre", nombre);
                nuevoRegistro.put("edad", edad);
                db.insert("Usuarios", null, nuevoRegistro);
                Ver_Tabla();
            }
        });

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

                String codigo=eCodigo.getText().toString();
                String nombre=eNombre.getText().toString();
                String edad=eEdad.getText().toString();

                ContentValues nuevoValor = new ContentValues();
                nuevoValor.put("nombre",nombre);
                nuevoValor.put("edad",edad);
                db.update("Usuarios", nuevoValor, "codigo=" + codigo, null);
                Ver_Tabla();
            }
        });

    


   


2. ¿ Qué vamos a hacer ?

Solucionaremos los errores aún presentes en la clase Agenda y Calculo.

3. ¿Qué dificultades hemos tenido?

La base de datos no está haciendo la búsqueda de manera correcta y aún está presente el problema con la clase CálculoRapido
Last edited by JuanZuluaga02 on Tue Mar 12, 2019 10:12 pm, edited 1 time in total.
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 » Tue Mar 12, 2019 12:16 pm

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

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

Re: University - ISolutions

Post by JuanZuluaga02 » Tue Mar 12, 2019 10:10 pm

Sprint # 6 - Semana 6
Fecha de Inicio 7/03/2019
Fecha de Finalización 14/03/2019


Actividad #6

Implementación de Métodos Básicos de una base de datos


Tarea Encargado Dificultad
  • 1. Método Eliminación (Carolina) 3
    2. Método de Consulta(Juan Manuel) 4

Seguimiento del martes:
Fecha: 12/03/2019

1. ¿ Qué hemos hecho ?

Implementamos algunos de los métodos básicos para la implementación de una bases de datos básica.

Clase DBManager:

Code: Select all

private Button bInsertar, bActualizar, bEliminar, bConsultar;
    private EditText eCodigo, eNombre, eEdad;
    private TextView Resultado;
    private Button blista;


    SQLiteDatabase db;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        blista = (Button) findViewById(R.id.blista);
        bInsertar = (Button) findViewById(R.id.bInsertar);
        bActualizar = (Button) findViewById(R.id.bActualizar);
        bEliminar = (Button) findViewById(R.id.bEliminar);
        bConsultar = (Button) findViewById(R.id.bConsultar);
        eCodigo = (EditText) findViewById(R.id.eCod);
        eNombre = (EditText) findViewById(R.id.eNom);
        eEdad = (EditText) findViewById(R.id.eEdad);
        Resultado = (TextView) findViewById(R.id.txtResultado);


        //Abrimos la base de datos 'UsuariosBD' en modo escritura
        UsuariosSQLiteHelper usuario = new UsuariosSQLiteHelper(this);
        //UsuariosSQLiteHelper usuario = new UsuariosSQLiteHelper(this, "UsuariosBD", null, 1);

        db = usuario.getWritableDatabase();
        // SQLiteDatabase db = usdbh.getWritableDatabase();

        //Si hemos abierto correctamente la base de datos
        if (db != null) {

            for (int i = 1; i <= 2; i++) {
                String nombre = "usuario"+i;
                int edad = 20 + i;

                db.execSQL("INSERT INTO Usuarios(nombre,edad)"
                        + "VALUES('" + nombre + "','" + edad + "')");
            }
        }

        Ver_Tabla();

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

                String nombre=eNombre.getText().toString();
                String  edad= eEdad.getText().toString();

                ContentValues nuevoRegistro = new ContentValues();
                nuevoRegistro.put("nombre", nombre);
                nuevoRegistro.put("edad", edad);
                db.insert("Usuarios", null, nuevoRegistro);
                Ver_Tabla();
            }
        });

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

                String codigo=eCodigo.getText().toString();
                String nombre=eNombre.getText().toString();
                String edad=eEdad.getText().toString();

                ContentValues nuevoValor = new ContentValues();
                nuevoValor.put("nombre",nombre);
                nuevoValor.put("edad",edad);
                db.update("Usuarios", nuevoValor, "codigo=" + codigo, null);
                Ver_Tabla();
            }
        });

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

                String codigo=eCodigo.getText().toString();

                db.delete("Usuarios", "codigo="+codigo, null);
                Ver_Tabla();
            }
        });

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

                String id = eCodigo.getText().toString();
                String[] campos = new String[]{"codigo", "nombre", "edad"};
                String[] args = new String[]{id};

                Cursor c = db.query("Usuarios", campos, "codigo=?", args, null, null, null);



                //Nos aseguramos de que existe al menos un registro
                if (c.moveToFirst()) {
                    Resultado.setText("");
                    //Recorremos el cursor hasta que no encontrar mas registros
                    do {
                        String codigo = c.getString(0);
                        String nombre = c.getString(1);
                        int edad = c.getInt(2);

                        Resultado.append(" " + codigo + " - " + nombre + " - " + edad + "\n");
                    } while (c.moveToNext());
                }
            }
        });

        blista.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(getApplicationContext(),Listausuarios.class);
                startActivity(i);

            }
        });
    }



  




2. ¿ Qué vamos a hacer ?

Continuar implementando los diferentes métodos y corrigiendo los diferentes problemas con esta.

3. ¿Qué dificultades hemos tenido?

Aún la nota en la actividad Cálculo Rápido no está siendo calculada de la manera correcta, al parecer el string está siendo tomado automáticamente como uno y por ende el retorno de la función siempre será 3.
Last edited by JuanZuluaga02 on Tue Mar 19, 2019 8:19 pm, edited 1 time in total.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Thu Mar 14, 2019 6:42 pm

Seguimiento del jueves:
Fecha: 14/03/2019

1. ¿ Qué hemos hecho ?

Evaluamos otra alternativa un poco menos complicada para la implementación de una agenda. Esta alternativa consiste en simplemente almacenar en un string temporal lo que el usuario ingrese en un campo de texto y después mostrarlo con un textView, además estamos pensando en para que los datos no se pierden al reiniciar la aplicación, usar un archivo, pero aún estamos evaluando eso.

En clase Agenda:

Code: Select all

Button Boton5;
    EditText texto1;
    TextView edita1;
    ListView lista;
    Button image;


    private String APP_DIRECTORY = "MyApplication3/";
    private String MEDIA_DIRECTORY = APP_DIRECTORY + "media";
    private String TEMPORAL_PICTURE_NAME = "temporal.jpg";

    private final int PHOTO_CODE = 100;
    private final int SELECT_PICTURE = 200;

    private ImageView imagecam;
    private RelativeLayout mRL;



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

        EditText editText6 = (EditText) findViewById(R.id.editText6);
        TextView textView14 = (TextView) findViewById(R.id.textView14);
        textView14.setText(editText6.getText().toString());

        Boton5 = (Button) findViewById(R.id.image6);
       imagecam = (ImageView) findViewById(R.id.imageView20);
        image = (Button) findViewById(R.id.imageView19);
         mRL = (RelativeLayout) findViewById(R.id.Contenedor);


        Boton5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                EditText editText6 = (EditText) findViewById(R.id.editText6);
                TextView textView14 = (TextView) findViewById(R.id.textView14);
                textView14.setText(editText6.getText().toString());
            }
        });





2. ¿ Qué vamos a hacer ?

Seguir evaluando otras alternativos no tan complicadas para implementar Agenda.

3. ¿Qué dificultades hemos tenido?

Aún la nota en la actividad Cálculo Rápido no está siendo calculada de la manera correcta, al parecer el string está siendo tomado automáticamente como uno y por ende el retorno de la función siempre será 3.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Tue Mar 19, 2019 8:24 pm

Sprint # 7 - Semana 7
Fecha de Inicio 14/03/2019
Fecha de Finalización 21/03/2019


Actividad #7

Implementación del login.


Tarea Encargado Dificultad
  • 1. Creación tabla con SQLite (Carolina) 3
    2. Método de inserción de datos(Juan Manuel) 3
    3. Método de búsqueda de datos (Juan Manuel y Carolina) 4

Seguimiento del martes:
Fecha: 19/03/2019

1. ¿ Qué hemos hecho ?

Realizamos la creación de la tabla y se comenzó a implementar el método de inserción de datos, el cual aún está bajo revisión.

Clase SQLiteOpenHelper

Code: Select all

package com.example.iuniversity.OpenHelperlLogin;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class SQLite_OpenHelper extends SQLiteOpenHelper {

    public SQLite_OpenHelper(Context context,  String name,  SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String query = "create table  usuarios(_ID integer primary key autoincrement, "
                + "Nombre text, Correo text, Contrasena text, Usuario text);"; //Query para hacer invocaciones SQL
         db.execSQL(query);
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }

    //Método para abrir base de datos
    public void abrir(){
        this.getWritableDatabase();
    }


    //Método para cerrar base de datos
    public void cerrar(){
        this.close();
    }

    //Metodo que permite insertar registros en la tabla
    public void insertarReg(String nom, String correo, String contrasena,String usuario){
        ContentValues valores = new ContentValues();
        valores.put("Nombre",nom);
        valores.put("Correo",correo);
        valores.put("Contrasena", contrasena);
        valores.put("Usuario",usuario);
        this.getWritableDatabase().insert("usuarios",null,valores);
    }

    public Cursor ConsultarUsuPas(String usu, String pass) throws SQLException {
        Cursor mcursor = null;
        mcursor = this.getReadableDatabase().query("usuarios",new String[]{"_ID",
                "Nombre","Correo","Contrasena","Usuario"},
                "Correo like '"+usu+"' " +
                        "and Contrasena like '"+pass+"'",null,null,null,null);
        return mcursor;

    }
}



Clase Registro, método de inserción:

Code: Select all

package com.example.iuniversity;

import android.database.sqlite.SQLiteDatabase;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.iuniversity.OpenHelperlLogin.SQLite_OpenHelper;
import com.example.iuniversity.OpenHelperlLogin.SQliteConnectionHelper;
import com.example.iuniversity.utilidades.Utilidades;


public class Registro extends AppCompatActivity {

    Button registrate;
    EditText txtNom,txtCorreo,txtPass,txtUsu;

    SQLite_OpenHelper helper = new SQLite_OpenHelper(this, "BD1",null, 1);
    // conexion a la bd
    SQliteConnectionHelper conn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_registro);

        registrate = findViewById(R.id.registrate);
        txtNom = findViewById(R.id.nombre);
        txtCorreo = findViewById(R.id.correo);
        txtPass = findViewById(R.id.contrasena);
        txtUsu = findViewById(R.id.usuario);


        registrate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               /* helper.abrir();
                helper.insertarReg(String.valueOf(txtNom.getText()),
                        String.valueOf(txtCorreo.getText()),
                        String.valueOf(txtPass.getText()),
                        String.valueOf(txtUsu.getText()));
                helper.cerrar();*/
                //Toast.makeText(getApplicationContext(), "Registro almacenado con exito",Toast.LENGTH_LONG).show();
               // PasarMain();

                if(txtUsu.length()>0 && txtCorreo.length()>0 && txtPass.length()>0){

                    addDataToDataBase();
                } else {

                    Toast.makeText(getApplicationContext(), "Error, por favor llene todos los campos solicitados", Toast.LENGTH_SHORT).show();

                }


            }
        });

    }

    public void PasarMain(){
        Intent intent = new Intent(this,MainActivity.class);
        startActivity(intent);
    }

    // insert a la bd creada en el utilities
    private void addDataToDataBase (){
        // Guardamos la informacion ingresada por el usuario

            String ident = txtUsu.getText().toString();
            String nombre = txtPass.getText().toString();
            String apellido = txtCorreo.getText().toString();

            // Crea conexion con la base de datos
            conn=new SQliteConnectionHelper(getApplicationContext(),"DBClientes",null,1);
            SQLiteDatabase db=conn.getWritableDatabase();

            // Se agregan los datos a la base de datos local
            String insert = "INSERT INTO " + Utilidades.CLIENT_TABLE
                    + " ("
                    + Utilidades.ID_FIELD + "," + Utilidades.NAME_FIELD + "," + Utilidades.LASTNAME_FIELD + ")" +
                    " VALUES (" + ident + ",'" + nombre + "','" + apellido + "')";

            db.execSQL(insert);

            db.close();
            Toast.makeText(this, "Usuario añadido exitosamente a la bd local", Toast.LENGTH_SHORT).show();
            txtUsu.setText("");
            txtCorreo.setText("");
            txtPass.setText("");








    }


}

2. ¿ Qué vamos a hacer ?

Corregir los errores con la inserción de los datos y posteriormente implementar el método de búsqueda

3. ¿Qué dificultades hemos tenido?

El método de inserción aún no es efectivo, ya que con una validación se puede ver que no está insertando datos.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Thu Mar 21, 2019 5:50 pm

Seguimiento del martes:
Fecha: 21/03/2019

1. ¿ Qué hemos hecho ?

Se realizaron cambios necesarios en la actividad de Calculo para poder solucionar los problemas presentes en esta.

Clase Calculo

Code: Select all

package com.example.iuniversity;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.example.iuniversity.R;

import org.w3c.dom.Text;

public class Calculo extends AppCompatActivity {

    EditText not1;
    EditText por1;
    EditText not2;
    EditText por2;
    EditText not3;
    EditText por3;
    EditText not4;
    EditText por4;
    EditText not5;
    EditText por5;
    EditText not6;
    EditText por6;
    Button calcu;
    TextView resp;

    double no1;
    double po1;
    double no2;
    double po2;
    double no3;
    double po3;
    double no4;
    double po4;
    double no5;
    double po5;
    double no6;
    double po6;

    String n1;
    String p1;
    String n2;
    String p2;
    String n3;
    String p3;
    String n4;
    String p4;
    String n5;
    String p5;
    String n6;
    String p6;



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

        not1 = (EditText) findViewById(R.id.nota1);
        not2 = (EditText) findViewById(R.id.nota2);
        not3 = (EditText) findViewById(R.id.nota3);
        not4 = (EditText) findViewById(R.id.nota4);
        not5 = (EditText) findViewById(R.id.nota5);
        not6 = (EditText) findViewById(R.id.nota6);
        por1 = (EditText) findViewById(R.id.por1);
        por2 = (EditText) findViewById(R.id.por2);
        por3 = (EditText) findViewById(R.id.por3);
        por4 = (EditText) findViewById(R.id.por4);
        por5 = (EditText) findViewById(R.id.por5);
        por6 = (EditText) findViewById(R.id.por6);
        calcu = (Button) findViewById(R.id.calcular);
        resp = (TextView) findViewById(R.id.respuesta);

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

                Cadenas p1 = new Cadenas("");
            if(not1.getText().equals("") && not2.getText().equals("")&& not3.getText().equals("")
                    && not4.getText().equals("") && not5.getText().equals("") && not6.getText().equals("")
                    && por1.getText().equals("") && por2.getText().equals("")&& por3.getText().equals("")
                    && por4.getText().equals("")&& por5.getText().equals("")&& por6.getText().equals("")){
                Toast.makeText(getApplicationContext(),"Ingrese todos los valores requeridos por favor",Toast.LENGTH_LONG).show();


            }else{
                double retorno = Calcular();



                    if(retorno > 5.0){

                        resp.setText("nota:"+retorno);
                        resp.setText("Nooo mijo, ni pidiéndole a lord Uribe que le ayude con las esferas del dragon");
                    }else if(retorno == 5.0){
                        resp.setText("nota:"+retorno);
                        resp.setText(p1.getCadena1());

                    }else if((retorno < 5.0)&&(retorno <= 4.5)){
                        resp.setText("nota:"+retorno);
                        resp.setText("Jmm pana, la cosa está grave pero aún se puede");
                    }else if((retorno < 4.5)&&(retorno >= 4.0 )){
                        resp.setText("nota:"+retorno);
                        resp.setText("Está difícil, pero aún se puede");
                    }else if((retorno < 4.5)&&(retorno >= 4.0 )){
                        resp.setText("nota:"+retorno);
                        resp.setText("Está difícil, pero aún se puede");
                    }else if((retorno < 4.0)&&(retorno >= 3.0 )){
                        resp.setText("nota:"+retorno);
                        resp.setText("¡Lúchela, no cancele!");
                    }else if((retorno < 3.0)&&(retorno >= 2.0 )){
                        resp.setText("nota:"+retorno);
                        resp.setText("Uff no quiero decir que está fácil, pero tienes bastantes opciones de lograrlo");
                    }else if((retorno < 2.0)&&(retorno >= 1.0 )){
                        resp.setText("nota:"+retorno);
                        resp.setText("Vas muy bien, sigue así");
                    }else if((retorno < 1.0)&&(retorno > 0.0 )){
                        resp.setText("nota:"+retorno);
                        resp.setText("Ah eso está prácticamente hecho, pero no se confíe");
                    }else if(retorno <= 0.0){
                        if(retorno == 0.0){
                            resp.setText("nota:"+retorno);

                        }
                        resp.setText("¡Ya coronaste!");
                    }else{
                        resp.setText("nota:"+retorno);
                        resp.setText("NADITA");
                    }

                }


            }


        });





    }

    public double Calcular ()
    {


        try{


            n1 = not1.getText().toString();
            no1 = Double.parseDouble(n1);
            n2 = not2.getText().toString();
            no2 = Double.parseDouble(n2);
            n3 = not3.getText().toString();
            no3 = Double.parseDouble(n3);
            n4 = not4.getText().toString();
            no4 = Double.parseDouble(n4);
            n5 = not5.getText().toString();
            no5 = Double.parseDouble(n5);
            n6 = not6.getText().toString();
            no6 = Double.parseDouble(n6);
            p1 = por1.getText().toString();
            po1 = Double.parseDouble(p1);
            p2 = por2.getText().toString();
            po2 = Double.parseDouble(p2);
            p3 = por3.getText().toString();
            po3 = Double.parseDouble(p3);
            p4 = por4.getText().toString();
            po4 = Double.parseDouble(p4);
            p5 = por5.getText().toString();
            po5 = Double.parseDouble(p5);
            p6 = por6.getText().toString();
            po6 = Double.parseDouble(p6);



        }catch(NumberFormatException e){
            Toast.makeText(getApplicationContext(),"Error en el numero ingresado",Toast.LENGTH_SHORT).show();
        }


            double notanecesaria;
            double notamin = 3.0;
            notanecesaria = (notamin - no1*po1 - no2*po2 - no3*po3 - no4*po4 -no5*po5  )/(1-(po1 + po2 + po3 + po4 + po5));
            return  notanecesaria;



    }

}











2. ¿ Qué vamos a hacer ?

Realizar el método de búsqueda en la base de datos.

3. ¿Qué dificultades hemos tenido?

El método de inserción aún no es efectivo, ya que con una validación se puede ver que no está insertando datos.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Tue Mar 26, 2019 4:48 pm

Sprint # 8 - Semana 7
Fecha de Inicio 21/03/2019
Fecha de Finalización 28/03/2019


Actividad #8

Consultas en la base de datos e Implementación de la clase Asignaturas


Tarea Encargado Dificultad
  • 1. Consultas en la base de datos (Juan Manuel) 4
    2. Implementación clase Asignaturas(Carolina) 4

Seguimiento del martes:
Fecha: 26/03/2019

1. ¿ Qué hemos hecho ?

Implementamos el código para las diversas consultas en la base de datos en la tabla del login.

Clase SQLiteOpenHelper

Code: Select all

public Cursor ConsultarUsuPas(String usu, String pass) throws SQLException {
        Cursor mcursor = null;
        mcursor = this.getReadableDatabase().query("usuarios",new String[]{"_ID",
                "Nombre","Correo","Contrasena","Usuario"},
                "Correo like '"+usu+"' " +
                        "and Contrasena like '"+pass+"'",null,null,null,null);
        return mcursor;

    }

Clase MainActivity

Code: Select all

package com.example.iuniversity;

import android.content.Intent;
import android.database.Cursor;
import android.database.SQLException;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.iuniversity.OpenHelperlLogin.SQLite_OpenHelper;

public class MainActivity extends AppCompatActivity {

   Button registro;
   Button inicio;
   EditText txtusu,txtpass;

   SQLite_OpenHelper helper = new SQLite_OpenHelper(this,"BD1", null, 1);


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

        registro = (Button) findViewById(R.id.registro);
        inicio = (Button)findViewById(R.id.inicio);
        txtusu = (EditText)findViewById(R.id.usu);
        txtpass = (EditText)findViewById(R.id.pass);

        inicio.setOnClickListener(
                new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            /*
                try{


                    Cursor cursor = helper.ConsultarUsuPas
                            (txtusu.getText().toString(),txtpass.getText().toString());


                    if(cursor.getCount() > 0){



                    }else{
                        Toast.makeText(getApplicationContext(),"Usuario y/o pass incorrectos",Toast.LENGTH_LONG).show();
                    }
                    txtusu.setText("");
                    txtpass.setText("");
                    txtusu.findFocus();


                }catch (SQLException e){
                    e.printStackTrace();
                }
                */

                PasarActivityPrin();

            }
        });



        registro.setOnClickListener(
                new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                PasarActivity();
            }
        });

    }

    public void PasarActivityPrin(){
        Intent intent = new Intent(this,Menu.class);
        startActivity(intent);
    }


    public void PasarActivity(){
        Intent intent = new Intent(this, Registro.class);
        startActivity(intent);
    }
}


2. ¿ Qué vamos a hacer ?

Corregir el error en la inserción de datos e implementar la clase Asignaturas.

3. ¿Qué dificultades hemos tenido?

El método de inserción aún no está funcionando.
Last edited by JuanZuluaga02 on Sun Mar 31, 2019 5:16 pm, edited 1 time in total.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Thu Mar 28, 2019 7:41 pm

Seguimiento del jueves:
Fecha: 28/03/2019

1. ¿ Qué hemos hecho ?

Se realizaron cambios en el diseño de las clases Asignaturas y Profesores para ser más acordes con el propósito de la App.

Clase Asignaturas

Image

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=".Asignaturas">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="82dp">


        <EditText
            android:layout_width="300dp"
            android:layout_height="50dp"
            android:layout_marginLeft="50dp"
            android:layout_marginTop="10dp"
            android:hint="Materia" />

        <EditText
            android:layout_width="300dp"
            android:layout_height="60dp"
            android:layout_marginLeft="50dp"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:hint="Profesor" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:orientation="horizontal">

            <ImageButton
                android:layout_width="80dp"
                android:layout_height="50dp"
                android:layout_marginLeft="40dp"
                android:background="@drawable/add" />

            <TextView
                android:layout_width="200dp"
                android:layout_height="60dp"
                android:text="Agregar notas"
                android:textSize="20dp" />


        </LinearLayout>




            <ScrollView
                android:layout_width="match_parent"
                android:layout_height="match_parent">

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


                <TextView
                    android:layout_width="200dp"
                    android:layout_height="50dp"
                    android:text="Materia"
                    android:textSize="20dp"
                    android:textColor="@color/colorPrimaryDark"/>
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="30dp"
                        android:text="Nota"
                        android:layout_marginBottom="40dp"
                        />
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="50dp"
                        android:text="Materia"
                        android:textSize="20dp"
                        android:textColor="@color/colorPrimaryDark"/>
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="30dp"
                        android:text="Nota"
                        android:layout_marginBottom="40dp"
                        />
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="50dp"
                        android:text="Materia"
                        android:textSize="20dp"
                        android:textColor="@color/colorPrimaryDark"/>
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="30dp"
                        android:text="Nota"
                        android:layout_marginBottom="40dp"
                        />
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="50dp"
                        android:text="Materia"
                        android:textSize="20dp"
                        android:textColor="@color/colorPrimaryDark"/>
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="30dp"
                        android:text="Nota"
                        android:layout_marginBottom="40dp"
                        />

                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="50dp"
                        android:text="Materia"
                        android:textSize="20dp"
                        android:textColor="@color/colorPrimaryDark"/>
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="30dp"
                        android:text="Nota"
                        android:layout_marginBottom="40dp"
                        />
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="50dp"
                        android:text="Materia"
                        android:textSize="20dp"
                        android:textColor="@color/colorPrimaryDark"/>
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="30dp"
                        android:text="Nota"
                        android:layout_marginBottom="40dp"
                        />
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="50dp"
                        android:text="Materia"
                        android:textSize="20dp"
                        android:textColor="@color/colorPrimaryDark"/>
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="30dp"
                        android:text="Nota"
                        android:layout_marginBottom="40dp"
                        />
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="50dp"
                        android:text="Materia"
                        android:textSize="20dp"
                        android:textColor="@color/colorPrimaryDark"/>
                    <TextView
                        android:layout_width="200dp"
                        android:layout_height="30dp"
                        android:text="Nota"
                        android:layout_marginBottom="40dp"
                        />





                </LinearLayout>


            </ScrollView>






        />


    </LinearLayout>







Clase Profesores

Image

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=".Profesores">

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




        <EditText
            android:layout_marginTop="10dp"
            android:layout_width="300dp"
            android:layout_height="50dp"
            android:layout_marginLeft="50dp"
            android:hint="Profesor"
            />

        <EditText
            android:layout_marginTop="10dp"
            android:layout_width="300dp"
            android:layout_height="60dp"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="50dp"
            android:hint="Materia"
            />

        <EditText
            android:layout_marginTop="10dp"
            android:layout_width="300dp"
            android:layout_height="60dp"
            android:layout_marginLeft="50dp"
            android:hint="Teléfono"
            />

        <SearchView
            android:layout_marginTop="10dp"
            android:layout_width="match_parent"
            android:layout_height="70dp"
            android:layout_marginBottom="10dp"></SearchView>

    </LinearLayout>

</android.support.constraint.ConstraintLayout>

2. ¿ Qué vamos a hacer ?

Corregir el error en la inserción de datos.

3. ¿Qué dificultades hemos tenido?

El método de inserción aún no está funcionando.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Tue Apr 02, 2019 10:24 am

Preentega-Diapositivas


Last edited by JuanZuluaga02 on Thu May 16, 2019 11:30 am, edited 1 time in total.
Juan Manuel Zuluaga
POO1

Post Reply