Publicado el Deja un comentario

#Android SqLite

  Abrimos Eclipse y pinchamos en Archivo / Nuevo / Android Ap
  Ponemos como nombre de aplicación GestionSqlite en package ejemplos.android.
  En este ejemplo desarrollamos una aplicacion simple que pueda operar con una base de datos SqLite.
  SqLite es una base de datos que se utiliza en muchos dispositivos desde pc a movil, es sencilla de manejar, como veremos a continuacion.
  Crearemos una aplicacion que permita introducir codigo, nombre e importe de ventas, como si se gestionaran los datos de vendedores.
  Bajo estas lineas pongo imagen de la actividad a crear, junto con el video.   
  video explicativo

  Empezamos:

  Creamos una nueva clase con el siguiente codigo.
package ejemplos.android;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class GestionSQLiteOpenHelper extends SQLiteOpenHelper {
    public GestionSQLiteOpenHelper(Context context, String nombre, CursorFactory factory, int version) {
        super(context, nombre, factory, version);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(“create table empleados(codigo integer primary key, nombre text, importe double)”);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int versionAnte, int versionNue) {
        db.execSQL(“drop table if exists empleados”);
        db.execSQL(“create table empleados(cogigo integer primary key, nombre text, importe double)”);      
    }  
}
  Despues introducimos el codigo de la clase principal:
package ejemplos.android;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
    private EditText et1, et2, et3;
    @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);
      }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    public void alta(View v) {
        GestionSQLiteOpenHelper gestion = new GestionSQLiteOpenHelper(this,
                “gestion”, null, 1);
        SQLiteDatabase bd = gestion.getWritableDatabase();
        String codigo = et1.getText().toString();
        String nombre = et2.getText().toString();
        String importe = et3.getText().toString();
      
        ContentValues registro = new ContentValues();
        registro.put(“codigo”, codigo);
        registro.put(“nombre”, nombre);
        registro.put(“importe”, importe);
        bd.insert(“empleados”, null, registro);
        bd.close();
        et1.setText(“”);
        et2.setText(“”);
        et3.setText(“”);
        Toast.makeText(this, “Se cargaron los datos de la persona”,
                Toast.LENGTH_SHORT).show();
    }
    public void consulta(View v) {
        GestionSQLiteOpenHelper gestion = new GestionSQLiteOpenHelper(this,
                “gestion”, null, 1);
        SQLiteDatabase bd = gestion.getWritableDatabase();
        String codigo = et1.getText().toString();
        Cursor fila = bd.rawQuery(
                “select nombre,importe from empleados where codigo=” + codigo, null);
        if (fila.moveToFirst()) {
            et2.setText(fila.getString(0));
            et3.setText(fila.getString(1));
        } else
            Toast.makeText(this, “No existe una persona con dicho codigo”,
                    Toast.LENGTH_SHORT).show();
        bd.close();
    }
    public void baja(View v) {
        GestionSQLiteOpenHelper gestion = new GestionSQLiteOpenHelper(this,
                “gestion”, null, 1);
        SQLiteDatabase bd = gestion.getWritableDatabase();
        String codigo = et1.getText().toString();
        int cant = bd.delete(“empleados”, “codigo=” + codigo, null);
        bd.close();
        et1.setText(“”);
        et2.setText(“”);
        et3.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) {
        GestionSQLiteOpenHelper gestion = new GestionSQLiteOpenHelper(this,
                “gestion”, null, 1);
        SQLiteDatabase bd = gestion.getWritableDatabase();
        String codigo = et1.getText().toString();
        String nombre = et2.getText().toString();
        String importe = et3.getText().toString();
        ContentValues registro = new ContentValues();
        registro.put(“nombre”, nombre);
        registro.put(“importe”, importe);
        int cant = bd.update(“empleados”, registro, “codigo=” + codigo, 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 codigo”,
                    Toast.LENGTH_SHORT).show();
    }
}
En el codigo se introducen los metodos que se ejecutan al pulsar los botones, con el mismo nombre que introducimos en el evento click de cada boton.
Aparece tambien el evento Toast que permite realizar mensajes al usuario durante unos segundos.
En la primera clase se crea la tabla empleados con los campos indicados.
El codigo es autoexplicativo.
No olvidar nunca que despues de cualquier operacion hay que cerrar la base de datos con close, al igual que con los archivos como veremos en otra ocasion.

Please follow and like us:

Deja una respuesta