Está en la página 1de 7

Instituto Técnico Comercial "INCOS - El Alto" PROGRAMACIÒN PARA DISPOSITIVOS

Urbanización Villa Dolores F Entre Av. A y C. Calle 8 Telf. 2834933 - 2834918 SISTEMAS INFORMÁTICOS – SEGUNDO AÑO
CARRERA DE SISTEMAS INFORMÁTICOS LIC. JAIME CALLE BORDA
EL ALTO - LA PAZ – BOLIVIA

PRACTICA 15
BASE DE DATOS INTERNO - SQLITE

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Ingrese Nombres"
android:ems="10" >

<requestFocus />
</EditText>

<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Ingrese Apellidos"
android:ems="10" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
Instituto Técnico Comercial "INCOS - El Alto"
Urbanización Villa Dolores F Entre Av. A y C. Calle 8 Telf. 2834933 - 2834918
CARRERA DE SISTEMAS INFORMÁTICOS
EL ALTO - LA PAZ – BOLIVIA
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Guardar"/>

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Buscar"/>

<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Eliminar"/>

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Ingrese Id"
android:layout_weight="1"
android:ems="10" />

<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Modificar"
android:layout_weight="2"/>

</LinearLayout>

<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>

</LinearLayout>
Instituto Técnico Comercial "INCOS - El Alto"
Urbanización Villa Dolores F Entre Av. A y C. Calle 8 Telf. 2834933 - 2834918
CARRERA DE SISTEMAS INFORMÁTICOS
EL ALTO - LA PAZ – BOLIVIA

BaseDatos.java
package com.example.basedatos1;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class BaseDatos { // Para el error se cre un metodo Base Datos avajo manualmente
private static final String N_BD="basedato1";
private static final String ID_FILA="_id"; //se pone guion bajo pide el listview
public static final String ID_NOMBRE="nombre";
public static final String ID_APELLIDO="apellido";
private static final String NOM_TABLA="tabla1";

private static final String N_TABLA="CREATE TABLE if not exists tabla1(_id INTEGER PRIMARY
KEY autoincrement,nombre TEXT,apellido TEXT)";
public static final int VERCION_BD=1;

private BDHelper nHelper;


private final Context nContexto;
private SQLiteDatabase nBD;

private static class BDHelper extends SQLiteOpenHelper{ //agregar constructor y metodos esto se
crea manualmente

public BDHelper(Context context) { //se quita todo menos context context


super(context, N_BD, null, VERCION_BD); //se puede colocual cuaquier texto
// TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase arg0) {
// TODO Auto-generated method stub
arg0.execSQL(N_TABLA);
}

@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
arg0.execSQL(N_TABLA);
}
}
Instituto Técnico Comercial "INCOS - El Alto"
Urbanización Villa Dolores F Entre Av. A y C. Calle 8 Telf. 2834933 - 2834918
CARRERA DE SISTEMAS INFORMÁTICOS
EL ALTO - LA PAZ – BOLIVIA
public BaseDatos(Context c){ //sigue dando error
nContexto=c;

}
public BaseDatos abrir() throws Exception{ //Este metodo se usa constantemente para abrir la base
de datos
nHelper=new BDHelper(nContexto);
nBD=nHelper.getWritableDatabase();
return this;
}
public void cerrar(){
nHelper.close();
}
////***************************************
public long guardar(String nom,String ape){
ContentValues cv=new ContentValues();
cv.put(ID_NOMBRE, nom);
cv.put(ID_APELLIDO, ape);
return nBD.insert(NOM_TABLA, null, cv);
}
public Cursor recibir(){
// String [] columnas =new String[]{ID_FILA,ID_NOMBRE,ID_APELLIDO}; // estos son sin consultas
sql
// Cursor ca=nBD.query(NOM_TABLA,columnas,null,null,null,null,null);
String sql="SELECT * FROM tabla1"; //estos dos linea son con consultas sql
Cursor ca=nBD.rawQuery(sql, null);
for(ca.moveToFirst();!ca.isAfterLast();ca.moveToNext()){

}
return ca;
}
public String buscarNom(String id) {
// *****primer metodo con android
int a1=1;
String [] columnas =new String[]{ID_FILA,ID_NOMBRE,ID_APELLIDO};
Cursor ca=nBD.query(NOM_TABLA,columnas,ID_FILA+"='"+id+"'",null,null,null,null);
if(ca!=null){
ca.moveToFirst();
String nom=ca.getString(1); //la columnas de la tabla
return nom;
}
return null;
}
Instituto Técnico Comercial "INCOS - El Alto"
Urbanización Villa Dolores F Entre Av. A y C. Calle 8 Telf. 2834933 - 2834918
CARRERA DE SISTEMAS INFORMÁTICOS
EL ALTO - LA PAZ – BOLIVIA
public String buscarApe(String id) { //este metodo se copi del de arribita
//******segundo metodo con Consultas SQL
String sql="SELECT * FROM tabla1 where _id='"+id+"'";
Cursor ca=nBD.rawQuery(sql, null);
if(ca!=null){
ca.moveToFirst();
String nom=ca.getString(2); //la columnas de la tabla
return nom;
}
return null;
}
public void modificar(String nom, String ape, String id) {
ContentValues cv=new ContentValues();
cv.put(ID_NOMBRE, nom);
cv.put(ID_APELLIDO, ape);
nBD.update(NOM_TABLA, cv, ID_FILA+"='"+id+"'", null);
}
public void borrar(String id1) {
nBD.delete(NOM_TABLA, ID_FILA+"='"+id1+"'", null);

}
}

MainActivity.java
package com.example.basedatos1;

import android.os.Bundle;
import android.app.Activity;
import android.database.Cursor;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{


Button b1,b2,b3,b4;
EditText et1,et2,et3;
ListView lv1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button)findViewById(R.id.button1);
b2=(Button)findViewById(R.id.button2);
Instituto Técnico Comercial "INCOS - El Alto"
Urbanización Villa Dolores F Entre Av. A y C. Calle 8 Telf. 2834933 - 2834918
CARRERA DE SISTEMAS INFORMÁTICOS
EL ALTO - LA PAZ – BOLIVIA

b3=(Button)findViewById(R.id.button3);
b4=(Button)findViewById(R.id.button4);
et1=(EditText)findViewById(R.id.editText1);
et2=(EditText)findViewById(R.id.editText2);
et3=(EditText)findViewById(R.id.editText3);
lv1=(ListView)findViewById(R.id.listView1);
b1.setOnClickListener(this);
b2.setOnClickListener(this);
b3.setOnClickListener(this);
b4.setOnClickListener(this);

//Se hace despues del button1:


ver();
}

@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.button1: //este es el boton guardar
try {

String nom=et1.getText().toString().trim().toLowerCase(); // toLower es


para que busque mayuscula o minusculas
String ape=et2.getText().toString().trim().toLowerCase();
et1.setText("");
et2.setText("");
BaseDatos entrada=new BaseDatos(this); //puede ser
getAplicationContext() o otros
entrada.abrir();
entrada.guardar(nom, ape);
entrada.cerrar();
Toast.makeText(this, "Se Guardo Correctamente",
Toast.LENGTH_SHORT).show();

} catch (Exception e) {
// TODO: handle exception
}
ver();
break;
case R.id.button2:
try {
String id=et3.getText().toString().trim();
BaseDatos buscar=new BaseDatos(this);
buscar.abrir();
String n=buscar.buscarNom(id);
et1.setText(n);
String a=buscar.buscarApe(id);
et2.setText(a);
} catch (Exception e) {
// TODO: handle exception
}
break;

case R.id.button3:
String nom=et1.getText().toString().trim().toLowerCase();
String ape=et2.getText().toString().trim().toLowerCase();
String id=et3.getText().toString().trim();
et1.setText("");
et2.setText("");
try {
Instituto Técnico Comercial "INCOS - El Alto"
Urbanización Villa Dolores F Entre Av. A y C. Calle 8 Telf. 2834933 - 2834918
CARRERA DE SISTEMAS INFORMÁTICOS
EL ALTO - LA PAZ – BOLIVIA
BaseDatos entrada=new BaseDatos(this); //puede ser
getAplicationContext() o otros
entrada.abrir();
entrada.modificar(nom, ape, id);
entrada.cerrar();
Toast.makeText(this, "Se Modifico Correctamente",
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
// TODO: handle exception
}
ver();
break;
case R.id.button4:
String id1=et3.getText().toString().trim();
try {
BaseDatos eli=new BaseDatos(this);
eli.abrir();
eli.borrar(id1);
eli.cerrar();
et1.setText("");
et2.setText("");
et3.setText("");
Toast.makeText(this, "Se Elimino Correctamente",
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
// TODO: handle exception
}
ver();
break;
}
}
private void ver() {
String datos[];
int i=0;
BaseDatos mos=new BaseDatos(this);
try {
mos.abrir();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Cursor cur=mos.recibir();
this.startManagingCursor(cur);
int a =cur.getCount();
datos = new String[a];
if(cur.moveToFirst()){
do {
String d1=cur.getInt(0)+". "+cur.getString(1)+"
"+cur.getString(2);
datos[i]=d1;
i++;
} while (cur.moveToNext());
}
ArrayAdapter<String> adap=new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,datos);
lv1.setAdapter(adap);
}
}

También podría gustarte