InicioInfoConecta con SQLite en apps android[Android Studio]

Para el entendimiento de este procedimiento en android vamos a crear una pequeña y sencilla app que será como una pequeña agenda, la cual va a estar conectada con una Base de Datos en SQLite y almacenará los siguientes datos:

id: INTEGER
Nombre: Text
Apellido: Text
Telefono: Text // También puede ser de tipo INTEGER
E-Mail: Text

El objetivo de esta app será conectarse a la Base de Datos creada en SQLite y realizar las siguientes operaciones con los datos:
1.- Insertar Datos
2.- Consulta y Muestra de Datos
3.- Eliminar Uno o Todos los Datos

Para no hacer tan largo el post por el momento sólo vamos a conectar con la base de datos e insertar los datos.

En el primer ActivityMain creamos los botones para realizar la operaciones en otros Activities de la sigueinte manera:




Después creamos el Activity para Insertar los Datos, para crear otro activity en Android Studio nos vamos al archivo AndroidManifest.xml, damos click derecho y en new- acitivity. En la siguiente ventana Blank, después siguiente, damos nombre y finalizar.


Ya esta creado el segundo activity, el cual debe tener 4 text large, 4 editText y 2 botones de la siguiente manera:



Ahora hacemos la función para pasar al segundo activity, es decir pasar del Principal al segundo Activity, nos vamos al MainActivity.java que es el que hace referencia al activity_main.xml:

public void pasaSegundo(View view) {
        Intent i = new Intent(this, MainActivity2.class ); //MainActivity2 es el nombre del .java
                                                                                 //Del segundo Activity
        startActivity(i);
    }


código completo:

package com.bd.bdapp.app;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
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;

public class MainActivity extends ActionBarActivity {



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


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.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();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    public void pasaSegundo(View view) {
        Intent i = new Intent(this, MainActivity2.class );
        startActivity(i);
    }
}


Para Asociarla al botón nos vamos al xml y en la vista diseño seleccionamos el botón y del lado derecho salen las propiedades y buscamos donde dice onClick y ponemos el nombre del método que hicimos en este caso debe ser pasaSegundo y damos enter.


Ahora vamos a programar la clase que va a crear la BD, que va a gestionar la versiones de la BD y nos dará acceso a ésta. Para esto en android se hace uso de la clase SQLiteOpenHelper, por lo cual crearemos una clase que va a heredar de SQLiteOpenHelper. Al hacer esto automáticamente nos generará el constructor y los siguientes métodos: onCreate(SQLiteDatabase db) que sirve para crear la tablas una vez que crea la BD y otro es onUpgrade(SQLiteDatabase db, int i, int i2) que nos ayudará a gestionar la versiones de la BD. Queda de la siguiente forma:

package com.bd.bdapp.app;

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

/**
 * Created by root on 19/04/14.
 */
public class BD  extends SQLiteOpenHelper {
 
    //Query para crear las tablas en la bd
    String query="CREATE TABLE personas (id INTEGER PRIMARY KEY AUTOINCREMENT, Nombre TEXT, Apellido TEXT, Telefono TEXT, Email TEXT)";

    //Constructor de la clase
    public BD(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }



    @Override
    public void onCreate(SQLiteDatabase db) {
        //Ejecuta query para crear la tabla
        db.execSQL(query);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int i, int i2) {
        db.execSQL("DROP TABLE IF EXISTS personas");

        //Se crea la nueva versión de la tabla
        db.execSQL(query);
    }

}



Ahora crearemos otra clase para acceder a la base de datos y manejar los datos de ésta, vamos a empezar con el método de para inserta, le vamos a llamar ConexionBD:


package com.bd.bdapp.app;


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

import java.util.ArrayList;
import java.util.List;

/**
 * Created by root on 19/04/14.
 */
public class ConexionBD {
    private SQLiteDatabase db;
    private Context nContext;
    private BD objBD;


    //Constructor de la Clase
    //Recibe como parámetro una variable de Tipo contexto
    // Esto debido a que Para acceder o crear la BD lo pide la Clase SQLiteOpenHelper 
    public ConexionBD(Context c){
        nContext=c;

    }

    public void abrirConexion(){
        objBD =new BD(nContext,"BDAgenda",null,1 );
        db=objBD.getWritableDatabase();
    }

    public void cerrarConexion(){
        db.close();
    }

    public boolean insertar(String nombre, String apellido,String telefono,String email){
        boolean resultado=false;

        try{
            String query="INSERT INTO personas(Nombre, Apellido, Telefono, Email) VALUES('"+nombre+"','"+apellido+"','"+
                    telefono+"','"+email+"')";

            db.execSQL(query);
            resultado=true;
            return resultado;
        }
        catch (Exception e){
            resultado=false;
            return resultado;
        }
    }
}


Ahora vamos al .java del Segundo activity, en nuestro caso es MainActivity2.java y hacemos los eventos de los botones:

primero el del botón limpiar

//declaramos los editText y en el Oncreate se inicializan
private EditText nombre,apellido,telefono,email;

//método para limpiar los editText
public void limpiar(View view){
        nombre.setText("");
        apellido.setText("");
        telefono.setText("");
        email.setText("");
    }


Después creamos el método para insertar

public void agregar(View view){
        //Declaramos variables
        String nombre,apellido,telefono,email;

        //Obtenemos Texto de los TextEdit
        nombre=this.nombre.getText().toString();
        apellido=this.apellido.getText().toString();
        telefono=this.telefono.getText().toString();
        email=this.email.getText().toString();

        
        Creamos el Objeto para acceder a la BD
        ConexionBD ObjCnx = new ConexionBD(this);

        ObjCnx.abrirConexion(); //Abrimos Conexión

        //Ejecuta el método para Insertar Datos
        if(ObjCnx.insertar(nombre,apellido,telefono,email)==true){
            String texto ="Elemento Agregado Corectamente";
            Toast toast = Toast.makeText(this, texto, Toast.LENGTH_LONG);
            toast.show();
        }
        else{
            String texto ="Error al Agregar Elemento";
            Toast toast = Toast.makeText(this, texto, Toast.LENGTH_LONG);
            toast.show();
        }

        Cerramos Conexión
        ObjCnx.cerrarConexion();
    }



Código comlpeto del ActivityMain2.java:

package com.bd.bdapp.app;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
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.TextView;
import android.widget.Toast;

import java.util.List;

public class MainActivity2 extends ActionBarActivity {

    private EditText nombre,apellido,telefono,email;

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

        nombre=(EditText)findViewById(R.id.editText);
        apellido=(EditText)findViewById(R.id.editText2);
        telefono=(EditText)findViewById(R.id.editText3);
        email=(EditText)findViewById(R.id.editText4);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main_activity2, 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();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    public void limpiar(View view){
        nombre.setText("");
        apellido.setText("");
        telefono.setText("");
        email.setText("");
    }

    public void agregar(View view){
        String nombre,apellido,telefono,email;
        nombre=this.nombre.getText().toString();
        apellido=this.apellido.getText().toString();
        telefono=this.telefono.getText().toString();
        email=this.email.getText().toString();

        ConexionBD ObjCnx = new ConexionBD(this);

        ObjCnx.abrirConexion();
        if(ObjCnx.insertar(nombre,apellido,telefono,email)==true){
            String texto ="Elemento Agregado Corectamente";
            Toast toast = Toast.makeText(this, texto, Toast.LENGTH_LONG);
            toast.show();
        }
        else{
            String texto ="Error al Agregar Elemento";
            Toast toast = Toast.makeText(this, texto, Toast.LENGTH_LONG);
            toast.show();
        }
        ObjCnx.cerrarConexion();
    }
}


Ya sólo nos resta asociar los métodos con cada botón.

Capturas de la APP










Datos archivados del Taringa! original
15puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

D
DiE_AucH🇦🇷
Usuario
Puntos0
Posts4
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.