miércoles, 27 de abril de 2016

012 CONSULTAR EN SQLITE CON ANDROID STUDIO

Proyecto Android: Actividad 006
CONSULTAR LA BASE DE DATOS SQLite
Ing. Honoria Reyes Macedo

INTRODUCCION
Para visualizar los datos capturados se utilizo el componente  “ListView” que fue  llenado mediante un arreglo



1.- Agregar Consulta en el menu principal (menu_main.xml) 



Recuerda que debe de existir en el archivo strings.xml la linea:
 <string name="action_cons">Consultar</string>


2.- Crear una activity: ConsultaEntrada
 
Observar que por default va a crear:

1) Una clase   ConsultaEntrada.java    //Aquí se pondra la ejecución de los eventos  
2) Una interfaz  activity_consulta_entrada.xml    //Aqui diseñamos la interfaz(ventana)
3) Y crea un menú  content_consulta_entrada.xml    //Aquí se pondran los objetos de la ventana
 
 
3.- Capturar el siguiente codigo en content_consulta_entrada.xml   
   (En modo Text)


 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="uvm.seminario.bienesconsumo.ConsultaEntrada"
    tools:showIn="@layout/activity_consulta_entrada">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/c_lblConsulta"
        android:id="@+id/textView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
    <ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/listViewEntra"
        android:layout_below="@+id/textView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
</RelativeLayout>
 

En modo Design se vera asi




Recuerda que debe de existir en el archivo strings.xml la linea:
<string name="c_lblConsulta">Consulta General de Entradas:</string>
 

4.- Agregar el siguiente metodo a la clase EntradaDAO.java
  (Aquí se llena el arreglo que se enviara a la lista)


public String[] consultar()throws SQLException {
    dbhelper= new DBhelper(ourcontext);
    database = dbhelper.getReadableDatabase();
    String arregloEnviar[]= new String[0];
    if (database != null) {
        String qry= "select e.folioentrada, p.cveproducto, p.nombreprod,p.marca, " +
                " ep.cantidadentra, ep.precio " +
                " from  entrada e,producto p, entrada_producto ep where " +
                " ep.folioentrada = e.folioentrada and " +
                " ep.cveproducto = p.cveproducto";
        Cursor c = database.rawQuery(qry, null);
        int i = 0;
        int cantidad = c.getCount();
        int ncolumns=c.getColumnCount();
        arregloEnviar = new String[cantidad];
        if (c.moveToFirst()) {
            do {
                String Linea="";
                for(int j=0; j<ncolumns; j++){
                    int tipo =c.getType(j);
                    switch (tipo){
                        case 3: Linea =Linea + c.getString(j) + " "; break;
                        case 1: Linea =Linea + c.getInt(j) + " "break;
                        case 2: Linea =Linea + c.getFloat(j) + " "; break;
                        case 4: Linea =Linea + c.getBlob(j) + " "; break;
                        case 0: Log.d("00:",c.getColumnName(j)); break;
                        default: Linea =Linea + c.getString(j) + " "; break;
                    }
                }
                arregloEnviar[i] = Linea;
                i++;
            } while (c.moveToNext());
        }
    }
    return arregloEnviar;
}
 
 
 
5.-  en ConsultaEntrada.java Agregar el codigo en rojo


Agregar tambien el metodo:
 
 
public void cargarEntradas() {
  entradaBD = new EntradaDAO(this);
  try {
   String[] AllDatos = entradaBD.consultar();
   ArrayAdapter<String> adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1, AllDatos);
   ListView Lista = (ListView) findViewById(R.id.listViewEntra);
   Lista.setAdapter(adapter);
   Toast.makeText(this, "Cargando datos", Toast.LENGTH_LONG).show();
 }catch (Exception e){
    Toast.makeText(this, "Error de Consulta: " + e, Toast.LENGTH_LONG).show();
 }
}
 
 
 
6.-  Agregar a MainActivity.java la opcion para consultar
        ( En el metodo onOptionsItemSelected )



 
COMPILAR Y EJECUTAR   (La opcion de consulta esta en el menu)



No hay comentarios.:

Publicar un comentario