jueves, 13 de febrero de 2014

Base de datos (Java)

---Parte de java

*****alumnos java***********

public class Alumnos {
    private String nombre;
    private int dni;
    private String apelido;
 
    // Constructor de un objeto Contactos
    public Alumnos(String nombre, String apelido, int dni) {
    this.dni = dni;
    this.nombre = nombre;
        this.apelido = apelido;
    }
  
 
    // Recuperar/establecer NOMBRE
    public String getNOMBRE() {
        return nombre;
    }
    public void setNOMBRE(String nombre) {
        this.nombre = nombre;
    }
 
    // Recuperar/establecer dni
    public int getDNI() {
        return dni;
    }
    public void setDNI(int dni) {
        this.dni = dni;
    }
 
    // Recuperar/establecer apellido
    public String getAPELLIDO() {
        return apelido;
    }
    public void setAPELLIDO(String apelido) {
        this.apelido = apelido;
    }
}

***********MAIN ACtivity****

public class MainActivity extends Activity {
private Button bInsertar;
private Button bConsulta;
private Button buactualizar;
private Button borrar;
public static int OpcionElegida = 123;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//para crear una BD con la clase UsuariosSQLiteHelper
final UsuariosSQLiteHelper usdbh = new UsuariosSQLiteHelper(this, "DBUsuarios", null, 1);
//insertar datos nuevos en la BD 
bInsertar =(Button) findViewById(R.id.insertar);

bInsertar.setOnClickListener(new OnClickListener() {

                   public void onClick(View view) {
                  InsertarDato(usdbh);
                  }
        });
//Consulta en la BD
bConsulta =(Button) findViewById(R.id.consulta);

bConsulta.setOnClickListener(new OnClickListener() {

                   public void onClick(View view) {
                String ole = MostrarDato(usdbh);
                llamarSubActividad(ole);
                  }
        });
//Modificar en la BD
buactualizar =(Button) findViewById(R.id.bactualizar);

buactualizar.setOnClickListener(new OnClickListener() {

                  public void onClick(View view) {
                  ModificarDato(usdbh);
                 
                 }
       });
//Borrar en la BD
borrar =(Button) findViewById(R.id.bborrar);

borrar.setOnClickListener(new OnClickListener() {

              public void onClick(View view) {
              BorrarDato(usdbh);
                 
               }
});
}
//-----------***************************---------------------------
public void InsertarDato(UsuariosSQLiteHelper x){
//Abrimos la base de datos 'DBUsuarios' en modo escritura
        SQLiteDatabase db = x.getWritableDatabase();
 
        //Si hemos abierto correctamente la base de datos
        if(db != null)
        {
        //**************Obtenemos los datos***********************
       
        //Busco el campo donde inserto el nombre
    EditText RecogerNombre = (EditText) findViewById(R.id.nom);
    //Recojo los datos del campo RecogerNombre
    String nombre = RecogerNombre.getText().toString();
   
    //recojo el campo apellido
    EditText RecogerApellido = (EditText) findViewById(R.id.ape);
    String apellido = RecogerApellido.getText().toString();
   
    //recojo el campo DNI
    EditText RecogerDni = (EditText) findViewById(R.id.dni);
    String dni = RecogerDni.getText().toString();
   
    //---------------------------------------------------------
   
    if ( (nombre != null) && (!nombre.equals("")) && (apellido != null) && (!apellido.equals("")) ) {
    //Insertamos 1 usuario de ejemplo
               //Insertamos los datos en la tabla Usuarios
               db.execSQL("INSERT INTO Usuarios (nombre, apelido, dni) " +"VALUES ('" + nombre + "','" + apellido +"',"+dni+")");    
               System.out.println("Entro e inserto datos");
               
               TextView txt = (TextView)findViewById(R.id.tex);
        txt.setText("Datos insertados correctamente");
        //Pongo todos los campos en blanco
      TextView nom = (TextView)findViewById(R.id.text1);
      nom.setText("Nombre ");
      TextView ape = (TextView)findViewById(R.id.text2);
      ape.setText("Apellido: ");
      TextView dn = (TextView)findViewById(R.id.text3);
      dn.setText("Dni: ");
      //**********************************************
   
    }else{
    TextView txt = (TextView)findViewById(R.id.tex);
        txt.setText("Faltan campos por completar");
    }
       
            
            }
            //Cerramos la base de datos
            db.close();        
}
//*********************--------------------------------*********************************
public void ModificarDato(UsuariosSQLiteHelper x){
SQLiteDatabase db = x.getWritableDatabase();
//**************Obtenemos los datos***********************
   
    //Busco el campo donde inserto el nombre
EditText RecogerNombre = (EditText) findViewById(R.id.nom);
//Recojo los datos del campo RecogerNombre
String nombre = RecogerNombre.getText().toString();
//recojo el campo apellido
EditText RecogerApellido = (EditText) findViewById(R.id.ape);
String apellido = RecogerApellido.getText().toString();
//recojo el campo DNI
EditText RecogerDni = (EditText) findViewById(R.id.dni);
String dni = RecogerDni.getText().toString();
//---------------------------------------------------------
   ContentValues valores = new ContentValues();
   //comprobar si tengo que modificar nombre o no
   if ( (nombre != null) && (!nombre.equals("")) ) {
       // cadena no está vacía
    valores.put("nombre", nombre);
   }
   
   //comprobar si tengo que modificar apellido o no
   if ( (apellido != null) && (!apellido.equals("")) ) {
    valores.put("apelido", apellido);
   }
   valores.put("dni", dni);
   db.update("Usuarios", valores, "dni=" + dni, null);
   db.close();   
   
   TextView txt = (TextView)findViewById(R.id.tex);
    txt.setText("Datos Modificados correctamente");
    //Pongo todos los campos en blanco
    TextView nom = (TextView)findViewById(R.id.text1);
    nom.setText("Nombre ");
    TextView ape = (TextView)findViewById(R.id.text2);
    ape.setText("Apellido: ");
    TextView dn = (TextView)findViewById(R.id.text3);
    dn.setText("Dni: ");
  //**********************************************
}
//----------------------*************************************---------------------------
public void BorrarDato(UsuariosSQLiteHelper x){
 SQLiteDatabase db = x.getWritableDatabase();
 
 
//recojo el campo DNI
EditText RecogerDni = (EditText) findViewById(R.id.dni);
String dni = RecogerDni.getText().toString();
 
//Si hemos abierto correctamente la base de datos
       if(db != null)
       {
           //Borramos 1 usuario
        //Boramos datos de la tabla Usuarios
               db.execSQL("DELETE FROM Usuarios WHERE dni="+dni);  
               TextView txt = (TextView)findViewById(R.id.tex);
        txt.setText("Datos Borrados");
       //Pongo todos los campos en blanco
      TextView nom = (TextView)findViewById(R.id.text1);
      nom.setText("Nombre ");
      TextView ape = (TextView)findViewById(R.id.text2);
      ape.setText("Apellido: ");
      TextView dn = (TextView)findViewById(R.id.text3);
      dn.setText("Dni: ");
      //**********************************************
           }
           //Cerramos la base de datos
           db.close();       
}
//********************-----------------------------------********************************----
public String MostrarDato(UsuariosSQLiteHelper x){
//String de datos
String datos;
datos = "";
/*
//**************Obtenemos los datos***********************
//Busco el campo donde inserto el nombre
EditText RecogerNombre = (EditText) findViewById(R.id.nom);
//Recojo los datos del campo RecogerNombre
String nombre = RecogerNombre.getText().toString();
//recojo el campo apellido
EditText RecogerApellido = (EditText) findViewById(R.id.ape);
String apellido = RecogerApellido.getText().toString();
//recojo el campo DNI
EditText RecogerDni = (EditText) findViewById(R.id.dni);
String dni = RecogerDni.getText().toString();
//---------------------------------------------------------
TextView txt = (TextView)findViewById(R.id.tex);
    txt.setText("Resultado de la consulta");
*/
SQLiteDatabase db = x.getReadableDatabase();
  // String[] valores_recuperar = {"nombre", "apelido", "dni"};
/*
if(dni.equalsIgnoreCase("")){
dni="0";
}
if(apellido.equalsIgnoreCase("")){
apellido="";
}*/
   Cursor c =  db.rawQuery("SELECT * FROM Usuarios ", null);
 //Nos aseguramos de que existe al menos un registro
   if (c.moveToFirst()) {
        //Recorremos el cursor hasta que no haya más registros
        do {
        datos =datos+c.getString(0)+"\t\t\t\t\t\t "+c.getString(1)+"\t\t\t\t\t\t"+c.getInt(2)+"\n";
           //muestro los valores de la consulta 
      /*TextView nom = (TextView)findViewById(R.id.text1);
      nom.setText("Nombre "+nombrei);
      TextView ape = (TextView)findViewById(R.id.text2);
      ape.setText("Apellido: "+apellidoi);
      TextView dn = (TextView)findViewById(R.id.text3);
      dn.setText("Dni: "+dnii);*/
      //**********************************************
     
        } while(c.moveToNext());
   }
   db.close();
   c.close();
  
   return datos;

}
public void llamarSubActividad(String datos){
//___LLAmo a MostrarDatos--------------------

  Intent i = new Intent(this,MostrarDatos.class );//Creo un intent para lanzar la subactividad
         i.putExtra("datos",datos); //paso los datos a la nueva actividad
  startActivityForResult(i, OpcionElegida);//lanzo la activida con startActivityForResult y le paso el código que tiene que devolver si todo ha ido bien
         
  //____________________________________________________________________------------/////
}
protected void onActivityResult(int requestCode,int resultCode, Intent pData)            
    {
if (resultCode == Activity.RESULT_OK )//Si resultCode es igual a ok
        {
final String dato = pData.getExtras().getString(MostrarDatos.estadoSub );//Obtengo el string de la subactividad
            //Aquí se hara lo que se desee con el valor recuperado
            //contenido.setText(dato);//El valor recogido en dato es un string que será mostrado en el TextView de la actividad principal 
        }
                    
    }

@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;
}

}

*****MOSTRAR DATOS********

public class MostrarDatos extends Activity  {
public static final String estadoSub = "";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.datos);
//Busco el text view donde escribir el nombre
TextView name = (TextView) findViewById(R.id.datosTodos);
//recojo los datos que he enviado al llamar a esta actididad desde el MainActivity
Bundle extras = getIntent().getExtras();
String d =  extras.getString("datos");
//Modifico el texto a mostrar.
name.setText(d);
        
}
}


*******USUARIOS SQLITE ********

public class UsuariosSQLiteHelper extends SQLiteOpenHelper{
public UsuariosSQLiteHelper(Context contexto, String nombre,CursorFactory factory, int version) {
super(contexto, nombre, factory, version);
}

@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
//creo la tabla de la BD
String sqlCreate = "CREATE TABLE Usuarios (nombre TEXT NOT NULL, apelido TEXT NOT NULL, dni integer primary key)";
db.execSQL(sqlCreate);
}

@Override
public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) {
// TODO Auto-generated method stub
String sqlCreate = "CREATE TABLE Usuarios (nombre TEXT NOT NULL, apelido TEXT NOT NULL, dni integer primary key)";
db.execSQL(sqlCreate);
}
}

No hay comentarios:

Publicar un comentario