Top Banner
INTSTITUTO TECNOLÓGICO SUPERIOR DE EL MANTE VALORACIÓN DEPARTAMENTO ACADEMICO MATERIA: BASE DE DATOS PARA DISPOSITIVOS MOVILES GRUPO: G1501-0075 CONTROL: 1001F0101 NOMBRE: Elizabeth Márquez Guerrero Practica Almacenamiento en una base de datos SQLite FECHA:14/05/2015 PRIMERA PARTE CONSIDERACIONES El reporte de práctica se manejará en la modalidad Reportes y se orientará como un ejercicio para desarrollar en forma individual, y el énfasis será el manejo de la conexión con la base de datos. El reporte corresponde a la mitad del curso y tiene un peso del 4% de la calificación de la unidad. Se encuentra conformada por dos componentes: el Análisis Modular (40% de la práctica) y su Implementación (60% de la práctica) en el modo GUI de Android. Se desarrollará en el lapso de un día conforme a la temática establecida por el docente en la primera sesión de la semana 12 (11 a 15 de mayo de 2015). Se entregará a más tardar el 14 de mayo de 2015 a las 4:00 p.m., vía Google Class. La solución deberá subirse como una carpeta comprimida con el nombre_apellido_Practica2a (nombre corresponde al primer nombre, apellido al primer apellido). La solución incluye documento Word y el proyecto en Android Studio comprimido como .zip. El documento en Word debe contener el Análisis Modular, imagen de la interfaz gráfica de usuario (GUI) y código de la implementación. El proyecto deberá contener todos los archivos generados por Android Studio para el tipo de aplicación que estamos manejando. SEGUNDA PARTE ESPECIFICACIÓN DEL CASO: Desarrollar uno de los ejercicios únicamente según indique el docente. ENUNCIADO: Proyecto015 Confeccionar un programa que permita almacenar los datos de votantes de una elección. Crear la tabla votantes y definir los campos dni (documento de identidad), nombre del votante, colegio donde vota y número de mesa donde vota. El programa debe permitir: 1 - Carga de personas. 2 - Consulta por el dni (para saber dónde vota) 3 - Borrado de personas 4 - Modificación de datos. 1. Se ingresa la información (dni, nombre y apellidos, nombre del colegio y número de mesa). La salida deberá mostrar (Esto es sólo un ejemplo): dni Nombre y apellidos Nombre del colegio Número de mesa 2 Elvia Enríquez Colegio México 4 2. Alta (dni, nombre y apellidos, nombre del colegio y número de mesa). La salida deberá mostrar (Esto es sólo un ejemplo): dni Nombre y apellidos Nombre del colegio Número de mesa 2 Elvia Enríquez Colegio México 4
14

Alma Cena Mien to Sq Lite

Sep 16, 2015

Download

Documents

Arturo Miranda

....
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • INTSTITUTO TECNOLGICO SUPERIOR DE EL MANTE

    VALORACIN

    DEPARTAMENTO ACADEMICO MATERIA: BASE DE DATOS PARA DISPOSITIVOS MOVILES

    GRUPO: G1501-0075

    N CONTROL:

    1001F0101 NOMBRE: Elizabeth Mrquez Guerrero

    Practica Almacenamiento en una base de datos SQLite FECHA:14/05/2015

    PRIMERA PARTE CONSIDERACIONES

    El reporte de prctica se manejar en la modalidad Reportes y se orientar como un ejercicio para desarrollar en forma individual, y el nfasis ser el manejo de la conexin con la base de datos.

    El reporte corresponde a la mitad del curso y tiene un peso del 4% de la calificacin de la unidad. Se encuentra conformada por dos componentes: el Anlisis Modular (40% de la prctica) y su Implementacin (60% de la prctica) en el modo GUI de Android.

    Se desarrollar en el lapso de un da conforme a la temtica establecida por el docente en la primera sesin de la semana 12 (11 a 15 de mayo de 2015).

    Se entregar a ms tardar el 14 de mayo de 2015 a las 4:00 p.m., va Google Class. La solucin deber subirse como una carpeta comprimida con el nombre_apellido_Practica2a (nombre corresponde al primer nombre, apellido al primer apellido).

    La solucin incluye documento Word y el proyecto en Android Studio comprimido como .zip. El documento en Word debe contener el Anlisis Modular, imagen de la interfaz grfica de usuario (GUI) y cdigo de la implementacin. El proyecto deber contener todos los archivos generados por Android Studio para el tipo de aplicacin que estamos manejando.

    SEGUNDA PARTE

    ESPECIFICACIN DEL CASO: Desarrollar uno de los ejercicios nicamente segn indique el docente.

    ENUNCIADO: Proyecto015 Confeccionar un programa que permita almacenar los datos de votantes de una eleccin. Crear la tabla

    votantes y definir los campos dni (documento de identidad), nombre del votante, colegio donde vota y

    nmero de mesa donde vota.

    El programa debe permitir:

    1 - Carga de personas.

    2 - Consulta por el dni (para saber dnde vota)

    3 - Borrado de personas

    4 - Modificacin de datos. 1. Se ingresa la informacin (dni, nombre y apellidos, nombre del colegio y nmero de mesa).

    La salida deber mostrar (Esto es slo un ejemplo):

    dni Nombre y apellidos Nombre del colegio Nmero de mesa

    2 Elvia Enrquez Colegio Mxico 4

    2. Alta (dni, nombre y apellidos, nombre del colegio y nmero de mesa).

    La salida deber mostrar (Esto es slo un ejemplo):

    dni Nombre y apellidos Nombre del colegio Nmero de mesa

    2 Elvia Enrquez Colegio Mxico 4

  • 3. Consulta por dni (dni, nombre y apellidos, nombre del colegio y nmero de mesa).

    La salida deber mostrar (Esto es slo un ejemplo):

    dni Nombre y apellidos Nombre del colegio Nmero de mesa

    2

    2 Elvia Enrquez Colegio Mxico 4

    4. Baja por dni (dni, nombre y apellidos, nombre del colegio y nmero de mesa).

    La salida deber mostrar (Esto es slo un ejemplo):

    dni Nombre y apellidos Nombre del colegio Nmero de mesa

    2

    5. Modificacin (dni, nombre y apellidos, nombre del colegio y nmero de mesa).

    6. La salida deber mostrar (Esto es slo un ejemplo):

    dni Nombre y apellidos Nombre del colegio Nmero de mesa

    2 Elvia Enrquez Colegio Mxico 4

    2 Juana Perez Colegio Mante 4

  • TERCERA PARTE ANLISIS MODULAR DE LA SOLUCIN (40%)

    A. Proceso:

    Cuadro 1.

    Proceso: onCreate Entradas Resultados Temporales Salidas

    Tipo Identificacin Tipo Identificacin Tipo Identificacin

    Constantes:

    Proceso: Este mtodo crea la tabla votantes con los parmetros y una primary key llamada dni

    Cuadro 2.

    Proceso: onUpgrade Entradas Resultados Temporales Salidas

    Tipo Identificacin Tipo Identificacin Tipo Identificacin

    Constantes:

    Proceso: Este metodo onUpgrade Elimina la tabla votantes si es que existe Crea la tabla votantes

    Cuadro 3.

    Proceso: onCreate clase MainActivity Entradas Resultados Temporales Salidas

    Tipo Identificacin Tipo Identificacin Tipo Identificacin

    editText1 Et1

    editText2 Et2

    editText3 Et3

    editText4 Et4

    Constantes:

  • Proceso:

    Et1 toma el valor del editText1 Et2 toma el valor del editText2 Et3 toma el valor del editText3 Et4 toma el valor del editText4

    Cuadro 4.

    Proceso: onCreateOptionsMenu Entradas Resultados Temporales Salidas

    Tipo Identificacin Tipo Identificacin Tipo Identificacin

    Constantes:

    Proceso:

    En este mtodo se crea un objeto de la clase MenuInflater y mediante el mtodo inflate vinculamos el identificador del archivo de recursos: y el objeto de la clase menu que llega como parmetro. Retorna true

    Cuadro 5.

    Proceso: onOptionsItemSelected (MenuItem item) Entradas Resultados Temporales Salidas

    Tipo Identificacin Tipo Identificacin Tipo Identificacin

    int id

    Constantes:

    Proceso:

    El parmetro item de la clase MenuItem tiene la referencia del objeto que fue pulsado Este metodo se tiene un If para verificar si el id fue seleccionado Luego obtenemos su Id llamando al mtodo getItemId y a travs del If Retorna true Sino el elemento seleccionado

    Cuadro 6.

    Proceso: alta Entradas Resultados Temporales Salidas

    Tipo Identificacin Tipo Identificacin Tipo Identificacin

    String dni editText et1

    String nombre editText et2

    String colegio editText et3

  • String nromesa editText et4

    Constantes:

    Proceso:

    Abre la base de datos Escribe en la base de datos: El dni tipo string y retorna una cadena que representa al objeto actual. El nombre tipo string y retorna una cadena que representa al objeto actual. El colegio tipo string y retorna una cadena que representa al objeto actual. El nromesa tipo string y retorna una cadena que representa al objeto actual. Registra los datos dni,nombre,colegio y nromesa Cierra la base de datos et1 queda vacia et2 queda vacia et3 queda vacia et4 queda vacia por ultimo muestra un mensaje que se cargaron los datos de la persona

    Cuadro 7.

    Proceso: consulta Entradas Resultados Temporales Salidas

    Tipo Identificacin Tipo Identificacin Tipo Identificacin

    String dni editText Et2

    editText Et3

    editText Et4

    Constantes:

    Proceso:

    Hace la llamada a la clase de la base de datos dni toma el valor que est en et1 llama a la los datos de la fila si fila.movertofist () tomamos los valores de los datos que se encuentran en et1, et2, et3, et4 si no muestra No existe una persona con el dni ingresado dni

    Cuadro 8.

    Proceso: baja Entradas Resultados Temporales Salidas

    Tipo Identificacin Tipo Identificacin Tipo Identificacin

  • String editText Et1

    Int editText Et2

    editText Et3

    editText Et4

    Constantes:

    Proceso:

    Hace la llamada a la base de datos Dni toma el valor de et1 Cant toma los valores de borrar registros en la base de datos En la base de datos se borran los campos de los atributos et1,et2,et3,et4 Si cant es igual a 1 Muestra un mensaje se borr la persona con dicho documento Si no Muestra No existe una persona con dicho nombre

    Cuadro 9.

    Proceso: modificacin Entradas Resultados Temporales Salidas

    Tipo Identificacin Tipo Identificacin Tipo Identificacin

    String dni

    String nombre

    String colegio

    String nromesa

    Int cant

    Constantes:

    Proceso:

    Se llama a la clase de la base de datos Escribimos sobre la base de datos Dni toma el valor de et1 Nombre toma el valor de et2 Colegio toma el valor de et3 Nromesa toma el valor de et4 Se escriben los valores en la base de datos Cant toma el valor de la modificacin de la base de datos

  • Si esta escrito se muestra se modificaron los datos Si no Muestra no existe una persona con dicho nombre

  • activity_main.xml

  • android:layout_alignParentLeft="true"

    android:layout_below="@+id/textView3"

    android:ems="10" />

  • android:layout_alignBottom="@+id/button3"

    android:layout_alignLeft="@+id/button2"

    android:onClick="modificacion"

    android:text="Modificacin" />

  • MainActivity.java package com.example.user.proyecto015;

    import android.content.ContentValues;

    import android.database.Cursor;

    import android.database.sqlite.SQLiteDatabase;

    import android.support.v7.app.ActionBarActivity;

    import android.os.Bundle;

    import android.view.Menu;

    import android.view.MenuItem;

    import android.view.View;

    import android.widget.EditText;

    import android.widget.Toast;

    public class MainActivity extends ActionBarActivity {

    private EditText et1, et2, et3, et4;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    et1 = (EditText) findViewById(R.id.et1);

    et2 = (EditText) findViewById(R.id.et2);

    et3 = (EditText) findViewById(R.id.et3);

    et4 = (EditText) findViewById(R.id.et4);

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.

    getMenuInflater().inflate(R.menu.menu_main, menu);

    return true;

    }

    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

    // Handle action bar item clicks here. The action bar will

    // automatically handle clicks on the Home/Up button, so long

    // as you specify a parent activity in AndroidManifest.xml.

    int id = item.getItemId();

    //noinspection SimplifiableIfStatement

    if (id == R.id.action_settings) {

    return true;

    }

    return super.onOptionsItemSelected(item);

    }

    public void alta(View v) {

    AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,

    "administracion", null, 1);

    SQLiteDatabase bd = admin.getWritableDatabase();

    String dni = et1.getText().toString();

  • String nombre = et2.getText().toString();

    String colegio = et3.getText().toString();

    String nromesa = et4.getText().toString();

    ContentValues registro = new ContentValues();

    registro.put("dni", dni);

    registro.put("nombre", nombre);

    registro.put("colegio", colegio);

    registro.put("nromesa", nromesa);

    bd.insert("votantes", null, registro);

    bd.close();

    et1.setText("");

    et2.setText("");

    et3.setText("");

    et4.setText("");

    Toast.makeText(this, "Se cargaron los datos de la persona",

    Toast.LENGTH_SHORT).show();

    }

    public void consulta(View v) {

    AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,

    "administracion", null, 1);

    SQLiteDatabase bd = admin.getWritableDatabase();

    String dni = et1.getText().toString();

    Cursor fila = bd.rawQuery(

    "select nombre,colegio,nromesa from votantes where dni=" + dni

    + "", null);

    if (fila.moveToFirst()) {

    et2.setText(fila.getString(0));

    et3.setText(fila.getString(1));

    et4.setText(fila.getString(2));

    } else

    Toast.makeText(this, "No existe una persona con dicho dni",

    Toast.LENGTH_SHORT).show();

    bd.close();

    }

    public void baja(View v) {

    AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,

    "administracion", null, 1);

    SQLiteDatabase bd = admin.getWritableDatabase();

    String dni = et1.getText().toString();

    int cant = bd.delete("votantes", "dni=" + dni + "", null);

    bd.close();

    et1.setText("");

    et2.setText("");

    et3.setText("");

    et4.setText("");

    if (cant == 1)

    Toast.makeText(this, "Se borr la persona con dicho documento",

    Toast.LENGTH_SHORT).show();

    else

    Toast.makeText(this, "No existe una persona con dicho documento",

    Toast.LENGTH_SHORT).show();

    }

  • public void modificacion(View v) {

    AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,

    "administracion", null, 1);

    SQLiteDatabase bd = admin.getWritableDatabase();

    String dni = et1.getText().toString();

    String nombre = et2.getText().toString();

    String colegio = et3.getText().toString();

    String nromesa = et4.getText().toString();

    ContentValues registro = new ContentValues();

    registro.put("nombre", nombre);

    registro.put("colegio", colegio);

    registro.put("nromesa", nromesa);

    int cant = bd.update("votantes", registro, "dni=" + dni, null);

    bd.close();

    if (cant == 1)

    Toast.makeText(this, "se modificaron los datos", Toast.LENGTH_SHORT)

    .show();

    else

    Toast.makeText(this, "no existe una persona con dicho documento",

    Toast.LENGTH_SHORT).show();

    }

    }

  • AdminSQLiteOpenHelper.java

    package com.example.user.proyecto015;

    import android.content.Context;

    import android.database.sqlite.SQLiteDatabase;

    import android.database.sqlite.SQLiteDatabase.CursorFactory;

    import android.database.sqlite.SQLiteOpenHelper;

    public class AdminSQLiteOpenHelper extends SQLiteOpenHelper {

    public AdminSQLiteOpenHelper(Context context, String nombre, CursorFactory factory, int version) {

    super(context, nombre, factory, version);

    }

    @Override

    public void onCreate(SQLiteDatabase db) {

    db.execSQL("create table votantes(dni integer primary key, nombre text, colegio text, nromesa integer)");

    }

    @Override

    public void onUpgrade(SQLiteDatabase db, int versionAnte, int versionNue) {

    db.execSQL("drop table if exists votantes");

    db.execSQL("create table votantes(dni integer primary key, nombre text, colegio text, nromesainteger)");

    }

    }