University - ISolutions

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

Moderator: julianmartinez16

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

University - ISolutions

Post by JuanZuluaga02 » Tue Jan 22, 2019 12:30 pm

Integrantes:

. Carolina Monsalve
. Juan Manuel Zuluaga


Link Repositorio:

https://github.com/juan0202/Proyecto-POO
Last edited by JuanZuluaga02 on Sun Feb 03, 2019 5:33 pm, edited 2 times in total.
Juan Manuel Zuluaga
POO1

User avatar
CarolinMonsalve
Posts: 1
Joined: Tue Jan 22, 2019 12:12 pm

Re: Proyecto- Proyecto

Post by CarolinMonsalve » Thu Jan 24, 2019 11:23 am

Carolina Monsalve Vásquez
  • PDOO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Sun Feb 03, 2019 5:09 pm

Sprint # 2 - Semana 2
Fecha de Inicio 31/01/2019
Fecha de Finalización 6/02/2019


Actividad #2

Realización del prototipo


Tarea Encargado Dificultad
  • 1. Diseño a papel (Carolina) 2
    2. Búsqueda de herramientas para digitalización (Juan Manuel) 2
    3. Realización prototipo virtual (Juan Manuel y Carolina ) 4
Seguimiento del martes

1. ¿ Qué hemos hecho ?

Se realizó el boceto a papel de algunas pantallas de la aplicación y posteriormente se realizó la búsqueda de las herramientas para virtualizar el diseño.
Luego de tener la herramienta necesaria, realizamos algunas de las pantallas de la aplicación.

- Boceto a mano:

Image

- Virtualización con la herramienta moqups:

Herramienta:

Image


Inicio de sesión:

Image

Registro:

Image

Menú:

Image

Asignaturas:

Image


2. ¿ Qué vamos a hacer ?

Terminar las pantallas de algunas de las opciones del menú y decidir qué herramienta escoger para la realización definitiva de la app.

3. ¿Qué dificultades hemos tenido?

Hasta ahora no se ha presentado ninguna.
Last edited by JuanZuluaga02 on Thu Feb 07, 2019 1:19 pm, edited 8 times in total.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Wed Feb 06, 2019 9:02 pm

Seguimiento del jueves:


¿Qué hemos hecho?

Terminamos todas las pantallas del prototipo de la aplicación y de esa manera culminamos la etapa de diseño para pasar a la etapa de desarrollo.

  • Opción de cálculo rápido.

    Image

    • Pantalla de manejo de profesores.
    Image

    • Pantalla de Agenda.
    Image

    • Pantalla de Desarrolladores.
    Image


¿Qué vamos a hacer?

Comenzaremos el desarrollo de la aplicación, comenzando por la construcción de los XML.


¿Qué dificultades hemos tenidos?
Hasta ahora ninguna.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Mon Feb 11, 2019 8:33 pm

Sprint # 3 - Semana 3
Fecha de Inicio 7/02/2019
Fecha de Finalización 14/02/2019


Actividad #3

Creación de XML y programación de pantalla Splash.


Tarea Encargado Dificultad
  • 1. Creación XML pantalla de Inicio de Sesión (Carolina) 3
    2. Creación XML pantalla de registro (Juan Manuel) 3
    3. Creación XML pantalla Splash (Juan Manuel ) 4
    4. Creación XML pantalla Menú principal (Carolina) 3

Seguimiento del martes:

1. ¿ Qué hemos hecho ?

Se realizaron los primeros XML de las pantallas de inicio de sesión, registro y menú. Además de esto, se implementó el código para la pantalla splash de inicio.



Inicio de Sesión

Image

Código XML

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


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

        <TextView
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:text="University"
            android:textColor="@color/colorPrimary"
            android:fontFamily="serif"
            android:textSize="50dp"
            android:layout_marginTop="20dp"
            android:paddingLeft="60dp"
            />


        <EditText
            android:layout_marginTop="20dp"
            android:layout_width="290dp"
            android:layout_height="50dp"
            android:layout_marginLeft="40dp"
            android:hint="Usuario"
            android:textColor="@color/colorPrimary"/>

        <EditText

            android:layout_width="290dp"
            android:layout_height="50dp"
            android:layout_marginLeft="40dp"
            android:layout_marginTop="30dp"
            android:hint="Contraseña"
            android:password="true"

            />

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

            <Button
                android:layout_width="140dp"
                android:layout_height="50dp"
                android:layout_marginTop="50dp"
                android:layout_marginLeft="40dp"
                android:text="INICIAR SESIÓN"/>

            <Button
                android:layout_width="140dp"
                android:layout_height="50dp"
                android:layout_marginTop="50dp"
                android:layout_marginLeft="20dp"
                android:text="REGISTRARSE"

                />

        </LinearLayout>



    </LinearLayout>





Registro

Image


Código XML

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" 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="match_parent"
            android:layout_height="70dp"
            android:layout_marginTop="30dp"
            android:text="Registro"
            android:textSize="50dp"
            android:fontFamily="serif"
            android:textColor="@color/colorPrimary"
            android:layout_marginLeft="100dp"
            />

        <EditText
            android:layout_marginTop="15dp"
            android:layout_marginLeft="40dp"
            android:layout_width="290dp"
            android:layout_height="50dp"
            android:hint="Nombre"/>

        <EditText
            android:layout_marginTop="15dp"
            android:layout_marginLeft="40dp"
            android:layout_width="290dp"
            android:layout_height="50dp"
            android:hint="Correo"/>

        <EditText
            android:layout_marginTop="15dp"
            android:layout_marginLeft="40dp"
            android:layout_width="290dp"
            android:layout_height="60dp"
            android:hint="Usuario"/>
        <EditText
            android:layout_marginTop="15dp"
            android:layout_marginLeft="40dp"
            android:layout_width="290dp"
            android:layout_height="60dp"
            android:hint="Contraseña"/>

        <Button
            android:layout_width="140dp"
            android:layout_height="50dp"
            android:layout_marginTop="20dp"
            android:layout_marginLeft="110dp"
            android:text="REGISTRARSE"/>

    </LinearLayout>


Menú

Image

Código XML

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">


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


    <LinearLayout
        android:layout_marginTop="70dp"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:orientation="horizontal">

        <ImageView

            android:layout_width="170dp"
            android:layout_height="match_parent"
            android:src="@drawable/boton1"/>
        <ImageView
            android:layout_marginLeft="30dp"

            android:layout_width="170dp"
            android:layout_height="match_parent"
            android:src="@drawable/boton4"/>


    </LinearLayout>

    <LinearLayout
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:orientation="horizontal">

        <ImageView

            android:layout_width="170dp"
            android:layout_height="match_parent"
            android:src="@drawable/boton6"/>
        <ImageView
            android:layout_marginLeft="30dp"

            android:layout_width="170dp"
            android:layout_height="match_parent"
            android:src="@drawable/boton5"/>


    </LinearLayout>

    <LinearLayout
        android:layout_marginTop="0dp"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:orientation="horizontal">




    </LinearLayout>
</LinearLayout>

</android.support.constraint.ConstraintLayout>

Pantalla Splash

Image

Código Actividad

Code: Select all

package com.example.juanc.university_isolutions;

import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class Splash extends AppCompatActivity {

    private final int DURACION = 3000;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent pasar1 =  new Intent(Splash.this, Login.class);
                startActivity(pasar1);
                finish();

            };
        },DURACION);

    }
}



2. ¿ Qué vamos a hacer ?

Terminar todos los XML y comenzar con la programación de botones de la aplicación.

3. ¿Qué dificultades hemos tenido?

Hasta ahora no hemos tenido ninguna.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Wed Feb 13, 2019 10:02 pm

Seguimiento del jueves:

1. ¿ Qué hemos hecho ?

Se terminaron los XML faltantes y se empezó con la programación de botones



Pantalla Agenda

Image

Código XML

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="Tarea"
            />

        <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="Fecha entrega"
            />



    </LinearLayout>




</android.support.constraint.ConstraintLayout>

                />

        </LinearLayout>



    </LinearLayout>





Pantalla Profesores

Image


Código XML

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>






Pantalla Cálculo Rápido

Image

Código XML

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=".CalculoRapido">
   <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:orientation="vertical">

       <TextView
           android:layout_marginTop="20dp"
           android:layout_width="match_parent"
           android:layout_height="90dp"
           android:textSize="50dp"
           android:text="Cálculo Rápido"
           android:fontFamily="serif"
           android:textColor="@color/colorPrimary"
           android:layout_marginLeft="20dp"/>

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

           <EditText
               android:layout_marginLeft="20dp"
               android:layout_width="150dp"
               android:layout_height="60dp"
               android:hint="Nota1"
               android:textSize="20dp"/>

           <EditText
               android:layout_marginLeft="20dp"
               android:layout_width="150dp"
               android:layout_height="60dp"
               android:hint="Porcentaje"
               android:textSize="20dp"/>



       </LinearLayout>


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

           <EditText
               android:layout_marginLeft="20dp"
               android:layout_width="150dp"
               android:layout_height="60dp"
               android:hint="Nota2"
               android:textSize="20dp"/>

           <EditText
               android:layout_marginLeft="20dp"
               android:layout_width="150dp"
               android:layout_height="60dp"
               android:hint="Porcentaje"
               android:textSize="20dp"/>



       </LinearLayout>


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

           <EditText
               android:layout_marginLeft="20dp"
               android:layout_width="150dp"
               android:layout_height="60dp"
               android:hint="Nota3"
               android:textSize="20dp"/>

           <EditText
               android:layout_marginLeft="20dp"
               android:layout_width="150dp"
               android:layout_height="60dp"
               android:hint="Porcentaje"
               android:textSize="20dp"/>



       </LinearLayout>


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

           <EditText
               android:layout_marginLeft="20dp"
               android:layout_width="150dp"
               android:layout_height="60dp"
               android:hint="Nota4"
               android:textSize="20dp"/>

           <EditText
               android:layout_marginLeft="20dp"
               android:layout_width="150dp"
               android:layout_height="60dp"
               android:hint="Porcentaje"
               android:textSize="20dp"/>



       </LinearLayout>

   </LinearLayout>




Código programación botón

Code: Select all

package com.example.juanc.university;

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;

public class Login extends AppCompatActivity {



    Button registro;


    @Override
    protected void onCreate(Bundle savedInstanceState) {



        registro = (Button) findViewById(R.id.registro);


        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

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

    }


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




2. ¿ Qué vamos a hacer ?

Terminar la programación de botones y comenzar a buscar fuentes para realizar las distintas funcionalidades que tiene cada pantalla de la aplicación

3. ¿Qué dificultades hemos tenido?

Hasta ahora no hemos tenido ninguna.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Mon Feb 18, 2019 10:45 pm

Sprint # 4 - Semana 4
Fecha de Inicio 14/02/2019
Fecha de Finalización 21/02/2019


Actividad #4

Programación de botones y funcionalidad de la calculadora.


Tarea Encargado Dificultad
  • 1. Programación botones en la actividad de inicio de sesión (Carolina) 3
    2. Programación botones en la actividad de registro (Juan Manuel) 3
    3. Programación de botones en la actividad del menú (Juan Manuel ) 4
    4. Creación funcionalidad de la calculadora rápida (Juan Manuel y Carolina) 4

Seguimiento del martes:

1. ¿ Qué hemos hecho ?

Hemos implementado en las diferentes actividades el código para la implementación de los botones de la aplicación.



Botones Inicio de Sesión

Code: Select all

package com.example.juanc.university;

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;

public class Login extends AppCompatActivity {



    Button registro;
    Button login;


    @Override
    protected void onCreate(Bundle savedInstanceState) {



        registro = (Button) findViewById(R.id.registro);
        login = (Button) findViewById(R.id.login);


        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

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

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

    }


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

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



Botones en Registro

Code: Select all

package com.example.juanc.university;

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

public class Registro extends AppCompatActivity {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_registro);
        Button b1;
        b1 = (Button)findViewById(R.id.boton2);
        b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               Pasar2();
            }
        });
    }


    public void Pasar2(){
        Intent intent2 = new Intent(this, Login.class);
        startActivity(intent2);
    }
}






Botones en Menú

Code: Select all

package com.example.juanc.university;

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

public class Menu extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);
        Button b1;
        Button b2;
        Button b3;
        Button b4;

        b1 = (Button) findViewById(R.id.profesores);
        b2 = (Button) findViewById(R.id.asignaturas);
        b3 = (Button) findViewById(R.id.calculo);
        b4 = (Button) findViewById(R.id.agenda);


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

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

            }
        });

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

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

    }

    public  void pasarProfesores(){

        Intent intent = new Intent(this,Profesores.class);
        startActivity(intent);

    }

    public  void pasarCalculo(){

        Intent intent = new Intent(this,CalculoRapido.class);
        startActivity(intent);

    }

    public void pasarAgenda(){
        Intent intent = new Intent(this,Agenda.class);
        startActivity(intent);

    }




}




2. ¿ Qué vamos a hacer ?

Comenzaremos a implementar las funcionalidades de cada una de las pantallas empezando por la calculadora.

3. ¿Qué dificultades hemos tenido?

Hasta ahora no hemos tenido ninguna.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Thu Feb 21, 2019 11:05 am

Seguimiento del Jueves:

1. ¿ Qué hemos hecho ?

Se le agregó a la pantalla de Cálculo rápido un TextView el cual se va a modificar en función de la nota que necesita el usuario para la evaluación final. Además de esto, se implementó el script provisional para el cálculo de la nota necesaria y el código necesario para modificar el TextView en función de la nota necesaria.

Por último también se organizó el manifest para que el Splash sea la pantalla por defecto y se instaló y probó la app en teléfonos móviles para pruebas de funcionamiento con esta.



Modificación TextView

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

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="400dp"
    tools:ignore="MissingConstraints">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        android:orientation="vertical">

        <TextView
            android:layout_marginTop="20dp"
            android:layout_width="300dp"
            android:layout_height="140dp"
            android:textSize="50dp"
            android:text="Cálculo Rápido"
            android:fontFamily="serif"
            android:textColor="@color/colorPrimary"
            android:layout_marginLeft="80dp"/>

        <LinearLayout

            android:layout_width="match_parent"
            android:layout_height="80dp"
            android:orientation="horizontal">

            <EditText
                android:id="@+id/nota1"
                android:layout_marginLeft="20dp"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:hint="Nota1"
                android:textSize="20dp"/>

            <EditText
                android:id="@+id/por1"
                android:layout_marginLeft="20dp"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:hint="Porcentaje"
                android:textSize="20dp"/>



        </LinearLayout>


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

            <EditText
                android:id="@+id/nota2"
                android:layout_marginLeft="20dp"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:hint="Nota2"
                android:textSize="20dp"/>

            <EditText
                android:id="@+id/por2"
                android:layout_marginLeft="20dp"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:hint="Porcentaje"
                android:textSize="20dp"/>



        </LinearLayout>


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

            <EditText
                android:id="@+id/nota3"
                android:layout_marginLeft="20dp"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:hint="Nota3"
                android:textSize="20dp"/>

            <EditText
                android:id="@+id/por3"
                android:layout_marginLeft="20dp"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:hint="Porcentaje"
                android:textSize="20dp"/>



        </LinearLayout>




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

            <EditText
                android:id="@+id/nota4"
                android:layout_marginLeft="20dp"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:hint="Nota4"
                android:textSize="20dp"/>

            <EditText
                android:id="@+id/por4"
                android:layout_marginLeft="20dp"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:hint="Porcentaje"
                android:textSize="20dp"/>




        </LinearLayout>



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

            <EditText
                android:id="@+id/nota5"
                android:layout_marginLeft="20dp"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:hint="Nota4"
                android:textSize="20dp"/>

            <EditText
                android:id="@+id/por5"
                android:layout_marginLeft="20dp"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:hint="Porcentaje"
                android:textSize="20dp"/>




        </LinearLayout>

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

            <EditText
                android:id="@+id/nota6"
                android:layout_marginLeft="20dp"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:hint="Nota4"
                android:textSize="20dp"/>

            <EditText
                android:id="@+id/por6"
                android:layout_marginLeft="20dp"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:hint="Porcentaje"
                android:textSize="20dp"/>




        </LinearLayout>












    </LinearLayout>

</ScrollView>





    <LinearLayout

        android:layout_marginTop="490dp"
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="match_parent">

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


            <Button
                android:id="@+id/calcular"
                android:layout_width="150dp"
                android:layout_height="60dp"
                android:layout_marginTop="-10dp"
                android:layout_marginLeft="120dp"
                android:text="CALCULAR"/>

        </LinearLayout>

        <TextView

            android:id="@+id/respuesta"
            android:layout_width="420dp"
            android:layout_height="260dp"
            android:layout_marginTop="-260dp"
            android:layout_weight="1"
            android:text=""
            android:textSize="25dp" />




    </LinearLayout>








Actividad para Cálculo Rápido

Code: Select all

package com.example.juanc.university;

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 org.w3c.dom.Text;

public class CalculoRapido extends AppCompatActivity {

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

        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;
        final TextView resp;


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


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



        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);


        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);





            calcu.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    double retorno;
                    retorno = Calcular(no1,no2,no3,no4,no5,po1,po2,po3,po4,po5,po6);


                    if(retorno > 5.0){

                        resp.setText("No papá, ni pidiéndole a lord Uribe que le haga la vuelta con las motosierras");
                    }else if(retorno == 5.0){
                        resp.setText("nota:"+retorno);
                        resp.setText("No mijooo, eso está jodido. Ni juntando las esferas del drágon");
                    }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){
                        resp.setText("nota:"+retorno);
                        resp.setText("¡Ya coronaste!");
                    }else{
                        resp.setText("nota:"+retorno);
                        resp.setText("NADITA");
                    }


                }
            });

        }catch(NumberFormatException e){
            System.out.println("not a number");
        }


    }

    public double Calcular (double no1, double no2, double no3, double no4,double no5,double po1, double po2,double po3,
    double po4, double po5,double po6)
    {
        double notanecesaria;
        double notamin = 3.0;
        notanecesaria = (notamin - no1*po1 - no2*po2 - no3*po3 - no4*po4 -no5*po5  )/po6;
        return  notanecesaria;

    }

}










Instalación de App


Image


Image






2. ¿ Qué vamos a hacer ?

Terminaremos la funcionalidad de la pantalla de Cálculo Rápido y si se logra solucionar el error con esta, se comenzará con la funcionalidad de la agenda.


3. ¿Qué dificultades hemos tenido?

El TextView está generando inconvenientes a la hora de ser modificado. Sospechamos que el problema está relacionado con el bloque try-catch implementado.
Juan Manuel Zuluaga
POO1

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

Re: University - ISolutions

Post by JuanZuluaga02 » Tue Feb 26, 2019 10:11 am

Sprint # 4 - Semana 4
Fecha de Inicio 21/02/2019
Fecha de Finalización 28/02/2019


Actividad #5

Corrección actividad de Cálculo Rápido y realización de actividad de Agenda.


Tarea Encargado Dificultad
  • 1. Corrección actividad de Cálculo Rápido (Carolina) 3
    2. Realización de funcionalidad de la pantalla de Agenda (Carolina) 3
    3. Aplicación de bases de datos para Agenda (modificable)(Juan Manuel ) 5

Seguimiento del martes:

1. ¿ Qué hemos hecho ?

Decidimos corregir la pantalla de Cálculo Rápido solucionando los problemas que esta presentaba. Para poder corregirlo, se evitó que el campo de texto tomara como nulo el valor que este recibía y debido a que este era nulo, había un problema en el cálculo matemático que provocaba que este siempre fuera infinito.


Correción en el método de Cálculo de nota mínima

Image

Code: Select all

package com.example.juanc.university;

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 org.w3c.dom.Text;

public class CalculoRapido 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 = "0";
    String p1 = "0";
    String n2 = "0";
    String p2 = "0";
    String n3 = "0";
    String p3 = "0";
    String n4 = "0";
    String p4 = "0";
    String n5 = "0";
    String p5 = "0";
    String n6 = "0";
    String p6 = "0";

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










        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) {


                double retorno = Calcular(no1,no2,no3,no4,no5,po1,po2,po3,po4,po5,po6);


                if(retorno > 5.0){

                    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("No mijooo, eso está jodido. Ni juntando las esferas del drágon");
                }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){
                    resp.setText("nota:"+retorno);
                    resp.setText("¡Ya coronaste!");
                }else{
                    resp.setText("nota:"+retorno);
                    resp.setText("NADITA");
                }
            }
        });


        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);
            double
            retorno = Calcular(no1,no2,no3,no4,no5,po1,po2,po3,po4,po5,po6);







        }catch(NumberFormatException e){
            System.out.println("valor ingresado incorrectamente");
        }


    }

    public double Calcular (double no1, double no2, double no3, double no4,double no5,double po1, double po2,double po3,
    double po4, double po5,double po6)
    {
        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 ?

Implementaremos la actividad respectiva para la pantalla de agenda y consideraremos la posibilidad de hacerlo con bases de datos.

3. ¿Qué dificultades hemos tenido?

Aún la nota 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: 14
Joined: Tue Jan 22, 2019 12:12 pm

Re: University - ISolutions

Post by JuanZuluaga02 » Wed Feb 27, 2019 10:39 pm

Seguimiento del jueves:

1. ¿ Qué hemos hecho ?

Realizamos las primeras configuraciones de la actividad de Agenda, la cual requiere uso de bases de datos.


Cambios en la pantalla de agenda

Image



Creación de la base de datos necesaria para el guardado de las notas

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) {

    }
}

Code: Select all

package com.example.juanc.university;

import android.content.Context;
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

    }
}






2. ¿ Qué vamos a hacer ?

Continuaremos con el codigo necesario para la implementación de la actividad de la Agenda.

3. ¿Qué dificultades hemos tenido?

Aún, no podemos resolver el inconveniente con los campos nulos en la actividad de Cálculo Rápido.
Juan Manuel Zuluaga
POO1

Post Reply