SlideShare una empresa de Scribd logo
UNIVERSIDAD TECNOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
Materia
Desarrollo de aplicaciones III
Tema
Documentación de la aplicación en android.
Nombre completo del Alumno: Carlos Eduardo Sánchez Martínez.
Grado: 5 Grupo: A
Nombre del Docente: ITIC. Eloy Contreras de Lira
Fecha de entrega: 21-03-2014.
Lo primero que haremos es crear una clase que herede de SQLiteOpenHelper. Esta clase
nos permite crear la base de datos y actualizar la estructura de tablas y datos iniciales.
Debemos implementar el constructor y sobrescribir los métodos onCreate y onUpgrade.
El método onCreate se le llama cuando la base de datos se crea por primera vez. Aquí es
donde se define la estructura de las tablas y se cargan eventualmente los datos iniciales
En el método onUpgrade se llama cuando la base de datos debe ser actualizada. Tiene por
objetivo eliminar tablas, añadir tablas, o hacer cualquier otra cosa que necesita para
actualizarse.
Implementaremos una nueva clase llamada AdminSQLiteOpenHelper que herede de la
clase SQLiteOpenHelper:
package com.carlos.proyecto015;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class AdminSQLiteOpenHelper extends SQLiteOpenHelper {
public AdminSQLiteOpenHelper(Context context, String nombre,
CursorFactory factory, int version) {
super(context, nombre, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table votantes(dni integer primary key, nombre
text, colegio text, nromesa integer)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int versionAnte, int
versionNue) {
db.execSQL("drop table if exists votantes");
db.execSQL("create table votantes(dni integer primary key, nombre
text, colegio text, nromesa integer)");
}
}
En el constructor solo llamamos al constructor de la clase padre pasando los datos que
llegan en los parámetros:
public AdminSQLiteOpenHelper(Context context, String nombre,
CursorFactory factory, int version) {
super(context, nombre, factory, version);
}
En el método onCreate procedemos a crear la tabla votantes con los cuatro campos
respectivos y definiendo el campo dni como primary key:
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table votantes(dni integer primary key,
nombre text, colegio text, nromesa integer)");
}
En el método onUpgrade procedemos a borrar la tabla votantes y crear nuevamente la tabla
(en este caso con la misma estructura pero podría ser otra en un caso más real:
public void onUpgrade(SQLiteDatabase db, int versionAnte, int
versionNue) {
db.execSQL("drop table if exists votantes");
db.execSQL("create table votantes(dni integer primary key,
nombre text, colegio text, nromesa integer)");
}
Ahora veamos la otra clase que implementará las altas, bajas, modificaciones y consultas:
package com.javaya.proyecto015;
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, et4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1 = (EditText) findViewById(R.id.editText1);
et2 = (EditText) findViewById(R.id.editText2);
et3 = (EditText) findViewById(R.id.editText3);
et4 = (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.activity_main, menu);
return true;
}
public void alta(View v) {
AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,
"administracion", null, 1);
SQLiteDatabase bd = admin.getWritableDatabase();
String dni = et1.getText().toString();
String nombre = et2.getText().toString();
String colegio = et3.getText().toString();
String nromesa = et4.getText().toString();
ContentValues registro = new ContentValues();
registro.put("dni", dni);
registro.put("nombre", nombre);
registro.put("colegio", colegio);
registro.put("nromesa", nromesa);
bd.insert("votantes", null, registro);
bd.close();
et1.setText("");
et2.setText("");
et3.setText("");
et4.setText("");
Toast.makeText(this, "Se cargaron los datos de la persona",
Toast.LENGTH_SHORT).show();
}
public void consulta(View v) {
AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,
"administracion", null, 1);
SQLiteDatabase bd = admin.getWritableDatabase();
String dni = et1.getText().toString();
Cursor fila = bd.rawQuery(
"select nombre,colegio,nromesa from votantes where dni="
+ dni, null);
if (fila.moveToFirst()) {
et2.setText(fila.getString(0));
et3.setText(fila.getString(1));
et4.setText(fila.getString(2));
} else
Toast.makeText(this, "No existe una persona con dicho dni",
Toast.LENGTH_SHORT).show();
bd.close();
}
public void baja(View v) {
AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,
"administracion", null, 1);
SQLiteDatabase bd = admin.getWritableDatabase();
String dni = et1.getText().toString();
int cant = bd.delete("votantes", "dni=" + dni, null);
bd.close();
et1.setText("");
et2.setText("");
et3.setText("");
et4.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) {
AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,
"administracion", null, 1);
SQLiteDatabase bd = admin.getWritableDatabase();
String dni = et1.getText().toString();
String nombre = et2.getText().toString();
String colegio = et3.getText().toString();
String nromesa = et4.getText().toString();
ContentValues registro = new ContentValues();
registro.put("nombre", nombre);
registro.put("colegio", colegio);
registro.put("nromesa", nromesa);
int cant = bd.update("votantes", registro, "dni=" + dni, 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
documento",
Toast.LENGTH_SHORT).show();
}
}
1 - Alta de datos.
Cuando se presiona el botón alta se ejecuta el método "alta" debemos inicializar la
propiedad "OnClick" del botón desde la ventana de visualización del archivo XML.
Lo primero que hacemos en este método es crear un objeto de la clase que planteamos
anteriormente y le pasamos al constructor this (referencia del Activity actual),
"administración" (es el nombre de la base de datos que crearemos en el caso que no exista)
luego pasamos null y un uno indicando que es la primer versión de la base de datos (en caso
que cambiemos la estructura o agreguemos tablas por ejemplo podemos pasar un dos en
lugar de un uno para que se ejecute el método onUpgrade donde indicamos la nuestra
estructura de la base de datos)
Luego de crear un objeto de la clase AdminSqLiteOpenHelper procedemos a crear un
objeto de la clase SQLiteDataBase llamando al método getWritableDatabase (la base de
datos se abre en modo lectura y escritura).
Creamos un objeto de la clase ContentValues y mediante el método put inicializamos todos
los campos a cargar.
Seguidamente llamamos al método insert de la clase SQLiteDatabase pasando en el primer
parámetro el nombre de la tabla, como segundo parámetro un null y por último el objeto de
la clase ContentValues ya inicializado (este método es el que provoca que se inserte una
nueva fila en la tabla votantes en la base de datos llamada administración)
Borramos seguidamente los EditText y mostramos un mensaje para que conozca el
operador que el alta de datos se efectuó en forma correcta:
public void alta(View v) {
AdminSQLiteOpenHelper admin=new AdminSQLiteOpenHelper(this,
"administracion", null, 1);
SQLiteDatabase bd=admin.getWritableDatabase();
String dni=et1.getText().toString();
String nombre=et2.getText().toString();
String colegio=et3.getText().toString();
String nromesa=et4.getText().toString();
ContentValues registro=new ContentValues();
registro.put("dni",dni );
registro.put("nombre",nombre );
registro.put("colegio",colegio );
registro.put("nromesa",nromesa );
bd.insert("votantes", null, registro);
bd.close();
et1.setText("");
et2.setText("");
et3.setText("");
et4.setText("");
Toast.makeText(this, "Se cargaron los datos de la persona",
Toast.LENGTH_SHORT).show();
}
2 - Consulta de datos.
Cuando se presiona el botón "Consulta por DNI" se ejecuta el método consulta:
public void consulta(View v) {
AdminSQLiteOpenHelper admin=new AdminSQLiteOpenHelper(this,
"administracion", null, 1);
SQLiteDatabase bd=admin.getWritableDatabase();
String dni=et1.getText().toString();
Cursor fila=bd.rawQuery("select nombre,colegio,nromesa from
votantes where dni="+dni+"",null);
if (fila.moveToFirst())
{
et2.setText(fila.getString(0));
et3.setText(fila.getString(1));
et4.setText(fila.getString(2));
}
else
Toast.makeText(this, "No existe una persona con dicho dni",
Toast.LENGTH_SHORT).show();
bd.close();
}
En el método consulta lo primero que hacemos es crear un objeto de la clase
AdminSQLiteOpenHelper y obtener una referencia de la base de datos llamando al método
getWritableDatabase.
Seguidamente definimos una variable de la clase Cursor y la inicializamos con el valor
devuelto por el método llamado rawQuery.
La clase Cursos almacena en este caso una fila o cero filas (una en caso que hayamos
ingresado un dni existente en la tabla votantes), llamamos al método moveToFirst () de la
clase Cursos y retorna true en caso de existir una persona con el dni ingresado, en caso
contrario retorna cero.
Para recuperar los datos propiamente dichos que queremos consultar llamamos al método
getString y le pasamos la posición del campo a recuperar (comienza a numerarse en cero,
en este ejemplo la columna cero representa el campo nombre, la columna 1 representa el
campo colegio y la columna 2 representa el campo nromesa)
3 - Baja o borrado de datos.
Para borrar uno o más registros la clase SQLiteDatabase tiene un método que le pasamos en
el primer parámetro el nombre de la tabla y en el segundo la condición que debe cumplirse
para que se borre la fila de la tabla. El método delete retorna un entero que indica la
cantidad de registros borrados:
public void baja(View v) {
AdminSQLiteOpenHelper admin=new AdminSQLiteOpenHelper(this,
"administracion", null, 1);
SQLiteDatabase bd=admin.getWritableDatabase();
String dni=et1.getText().toString();
int cant=bd.delete("votantes", "dni="+dni+"",null);
bd.close();
et1.setText("");
et2.setText("");
et3.setText("");
et4.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();
}
4 - Modificación de datos.
En la modificación de datos debemos crear un objeto de la clase ContentValues y mediante
el método put almacenar los valores para cada campo que será modificado. Luego se llama
al método update de la clase SQLiteDatabase pasando el nombre de la tabla, el objeto de la
clase ContentValues y la condición del where (el cuanto parámetro en este ejemplo no se lo
emplea)
public void modificacion(View v) {
AdminSQLiteOpenHelper admin=new AdminSQLiteOpenHelper(this,
"administracion", null, 1);
SQLiteDatabase bd=admin.getWritableDatabase();
String dni=et1.getText().toString();
String nombre=et2.getText().toString();
String colegio=et3.getText().toString();
String nromesa=et4.getText().toString();
ContentValues registro=new ContentValues();
registro.put("nombre",nombre);
registro.put("colegio",colegio);
registro.put("nromesa",nromesa);
int cant = bd.update("votantes", registro, "dni="+dni, 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
documento", Toast.LENGTH_SHORT).show();
}

Más contenido relacionado

La actualidad más candente

Altas Julio Cesar Melendez Cano
Altas Julio Cesar Melendez CanoAltas Julio Cesar Melendez Cano
Altas Julio Cesar Melendez Cano
Julio Melendez Kano
 
Codigo de bajas en Visual Basic, Luis Angel Mena Martínez
Codigo de bajas en Visual Basic, Luis Angel Mena MartínezCodigo de bajas en Visual Basic, Luis Angel Mena Martínez
Codigo de bajas en Visual Basic, Luis Angel Mena MartínezEquipo1606
 
Elemento n3
Elemento n3Elemento n3
Elemento n3
Marlene Pallo
 
ListBox in C#
ListBox in C#ListBox in C#
ListBox in C#
atakweb
 
Aprender código vba
Aprender código vbaAprender código vba
Aprender código vba
ssuser3a82fb
 
Visual basic cbtis
Visual basic cbtisVisual basic cbtis
Visual basic cbtis
Joorge Meendes
 
Cristinagananparedes
CristinagananparedesCristinagananparedes
Cristinagananparedes
CRISTINA Ganan
 
Base de datos con Netbeans
Base de datos con NetbeansBase de datos con Netbeans
Base de datos con NetbeansRandy
 
Practica 4
Practica 4Practica 4
Practica 4
cobymotion
 

La actualidad más candente (13)

Altas Julio Cesar Melendez Cano
Altas Julio Cesar Melendez CanoAltas Julio Cesar Melendez Cano
Altas Julio Cesar Melendez Cano
 
Codigo de bajas en Visual Basic, Luis Angel Mena Martínez
Codigo de bajas en Visual Basic, Luis Angel Mena MartínezCodigo de bajas en Visual Basic, Luis Angel Mena Martínez
Codigo de bajas en Visual Basic, Luis Angel Mena Martínez
 
Elemento n3
Elemento n3Elemento n3
Elemento n3
 
Power builder
Power builderPower builder
Power builder
 
Altas alumnos
Altas alumnosAltas alumnos
Altas alumnos
 
ListBox in C#
ListBox in C#ListBox in C#
ListBox in C#
 
Aprender código vba
Aprender código vbaAprender código vba
Aprender código vba
 
Practica form builder
Practica form builderPractica form builder
Practica form builder
 
Practica 3 web
Practica 3 webPractica 3 web
Practica 3 web
 
Visual basic cbtis
Visual basic cbtisVisual basic cbtis
Visual basic cbtis
 
Cristinagananparedes
CristinagananparedesCristinagananparedes
Cristinagananparedes
 
Base de datos con Netbeans
Base de datos con NetbeansBase de datos con Netbeans
Base de datos con Netbeans
 
Practica 4
Practica 4Practica 4
Practica 4
 

Destacado

Recomendaciones de estilo en la administración
Recomendaciones de estilo en la administración Recomendaciones de estilo en la administración
Recomendaciones de estilo en la administración
Teresa Fuentes
 
El cuadrante del flujo de dinero (pp tminimizer)
El cuadrante del flujo de dinero (pp tminimizer)El cuadrante del flujo de dinero (pp tminimizer)
El cuadrante del flujo de dinero (pp tminimizer)
Quiterio Pinzon
 
Análise de Repercussão na Mídia - Gleisi Hoffmann
Análise de Repercussão na Mídia - Gleisi HoffmannAnálise de Repercussão na Mídia - Gleisi Hoffmann
Análise de Repercussão na Mídia - Gleisi Hoffmann
Érica Rigo
 
Imersão espanhol 2011
Imersão espanhol 2011Imersão espanhol 2011
Imersão espanhol 2011
CILSOB
 
2013218 8373194 introduccion a los metadatos
2013218 8373194 introduccion a los metadatos2013218 8373194 introduccion a los metadatos
2013218 8373194 introduccion a los metadatosAndre Leal
 
Fotos quadros
Fotos quadrosFotos quadros
Fotos quadros
CILSOB
 
Curso "Transparencia" Paraiso, Tabasco 18 y 19 de julio
Curso "Transparencia" Paraiso, Tabasco 18 y 19 de julioCurso "Transparencia" Paraiso, Tabasco 18 y 19 de julio
Curso "Transparencia" Paraiso, Tabasco 18 y 19 de julio
ICADEP Icadep
 
educopedia2
educopedia2educopedia2
educopedia2
Rafael Parente
 
1. fisiología del ar
1.  fisiología del ar1.  fisiología del ar
1. fisiología del ar
Magdiel Martinez
 
Paz 2012
Paz 2012Paz 2012
Paz 2012
colexio
 
Roberto jimenez presem. informatika
Roberto jimenez presem. informatikaRoberto jimenez presem. informatika
Roberto jimenez presem. informatikaAventura La Mas Rica
 
Carrera De Submarinos
Carrera De SubmarinosCarrera De Submarinos
Carrera De Submarinosgueste1187d8
 
Tipos de Gráficos
Tipos de GráficosTipos de Gráficos
Tipos de Gráficos
Denise Gomes Santanna
 

Destacado (20)

Recomendaciones de estilo en la administración
Recomendaciones de estilo en la administración Recomendaciones de estilo en la administración
Recomendaciones de estilo en la administración
 
Tarea 9
Tarea 9Tarea 9
Tarea 9
 
Oração pai nosso e a garota
Oração pai nosso e a garotaOração pai nosso e a garota
Oração pai nosso e a garota
 
El cuadrante del flujo de dinero (pp tminimizer)
El cuadrante del flujo de dinero (pp tminimizer)El cuadrante del flujo de dinero (pp tminimizer)
El cuadrante del flujo de dinero (pp tminimizer)
 
Análise de Repercussão na Mídia - Gleisi Hoffmann
Análise de Repercussão na Mídia - Gleisi HoffmannAnálise de Repercussão na Mídia - Gleisi Hoffmann
Análise de Repercussão na Mídia - Gleisi Hoffmann
 
Imersão espanhol 2011
Imersão espanhol 2011Imersão espanhol 2011
Imersão espanhol 2011
 
2013218 8373194 introduccion a los metadatos
2013218 8373194 introduccion a los metadatos2013218 8373194 introduccion a los metadatos
2013218 8373194 introduccion a los metadatos
 
Fotos quadros
Fotos quadrosFotos quadros
Fotos quadros
 
O Palmeirense
O PalmeirenseO Palmeirense
O Palmeirense
 
Curso "Transparencia" Paraiso, Tabasco 18 y 19 de julio
Curso "Transparencia" Paraiso, Tabasco 18 y 19 de julioCurso "Transparencia" Paraiso, Tabasco 18 y 19 de julio
Curso "Transparencia" Paraiso, Tabasco 18 y 19 de julio
 
educopedia2
educopedia2educopedia2
educopedia2
 
Guia contenido, contenido 3 corregida
Guia contenido, contenido 3 corregidaGuia contenido, contenido 3 corregida
Guia contenido, contenido 3 corregida
 
1. fisiología del ar
1.  fisiología del ar1.  fisiología del ar
1. fisiología del ar
 
Paz 2012
Paz 2012Paz 2012
Paz 2012
 
Roberto jimenez presem. informatika
Roberto jimenez presem. informatikaRoberto jimenez presem. informatika
Roberto jimenez presem. informatika
 
Maira
MairaMaira
Maira
 
Carrera De Submarinos
Carrera De SubmarinosCarrera De Submarinos
Carrera De Submarinos
 
Luxemburg
Luxemburg Luxemburg
Luxemburg
 
Loira sequestradora
Loira sequestradoraLoira sequestradora
Loira sequestradora
 
Tipos de Gráficos
Tipos de GráficosTipos de Gráficos
Tipos de Gráficos
 

Similar a Carlos eduardo, documento de aplicacion en android

Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)
Héctor García Lorenzana
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
Salvador Fernández Fernández
 
Aplication
AplicationAplication
Aplicationwouyrmz
 
Sql android
Sql   androidSql   android
Trabajo10
Trabajo10Trabajo10
Conexion
ConexionConexion
Practica9 bases de datos
Practica9 bases de datosPractica9 bases de datos
Practica9 bases de datos
Naty Ortiz Arias
 
Practica9 bases de datos
Practica9 bases de datosPractica9 bases de datos
Practica9 bases de datos
Naty Ortiz Arias
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper report
jbersosa
 
Portafolio 1 sql
Portafolio 1 sqlPortafolio 1 sql
Portafolio 1 sqlJuanKMillos
 
Tallerprogramacion
TallerprogramacionTallerprogramacion
Tallerprogramacionjohanadoria
 
Desarrollo android - 5 - almacenamiento de datos
Desarrollo android  -  5 - almacenamiento de datosDesarrollo android  -  5 - almacenamiento de datos
Desarrollo android - 5 - almacenamiento de datos
Emilio Aviles Avila
 
Persistencia de datos
Persistencia de datosPersistencia de datos
Persistencia de datos
Alexandre Texeira Bondelas
 
Fo 5.desarrollo android-almacenamientodedatos
Fo 5.desarrollo android-almacenamientodedatosFo 5.desarrollo android-almacenamientodedatos
Fo 5.desarrollo android-almacenamientodedatos
Nathii Oh
 
Vb net bd_2005_02
Vb net bd_2005_02Vb net bd_2005_02
Vb net bd_2005_02
Paul Taco
 
Avance proyecto integrador i
Avance proyecto integrador iAvance proyecto integrador i
Avance proyecto integrador iSantiago Forland
 

Similar a Carlos eduardo, documento de aplicacion en android (20)

Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 
Aplication
AplicationAplication
Aplication
 
Sql android
Sql   androidSql   android
Sql android
 
Documento de eloy
Documento de eloyDocumento de eloy
Documento de eloy
 
Trabajo10
Trabajo10Trabajo10
Trabajo10
 
Conexion
ConexionConexion
Conexion
 
Practica9 bases de datos
Practica9 bases de datosPractica9 bases de datos
Practica9 bases de datos
 
Practica9 bases de datos
Practica9 bases de datosPractica9 bases de datos
Practica9 bases de datos
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper report
 
Buenas
BuenasBuenas
Buenas
 
Portafolio 1 sql
Portafolio 1 sqlPortafolio 1 sql
Portafolio 1 sql
 
Tallerprogramacion
TallerprogramacionTallerprogramacion
Tallerprogramacion
 
Desarrollo android - 5 - almacenamiento de datos
Desarrollo android  -  5 - almacenamiento de datosDesarrollo android  -  5 - almacenamiento de datos
Desarrollo android - 5 - almacenamiento de datos
 
Persistencia de datos
Persistencia de datosPersistencia de datos
Persistencia de datos
 
Fo 5.desarrollo android-almacenamientodedatos
Fo 5.desarrollo android-almacenamientodedatosFo 5.desarrollo android-almacenamientodedatos
Fo 5.desarrollo android-almacenamientodedatos
 
Vb net bd_2005_02
Vb net bd_2005_02Vb net bd_2005_02
Vb net bd_2005_02
 
Hack x crack_sq_linjection
Hack x crack_sq_linjectionHack x crack_sq_linjection
Hack x crack_sq_linjection
 
Avance proyecto integrador i
Avance proyecto integrador iAvance proyecto integrador i
Avance proyecto integrador i
 
Arreglos, Procedimientos y Funciones
Arreglos, Procedimientos y FuncionesArreglos, Procedimientos y Funciones
Arreglos, Procedimientos y Funciones
 

Más de yz8001

Mapa mental de Carlos Eduardo.
Mapa mental de Carlos Eduardo.Mapa mental de Carlos Eduardo.
Mapa mental de Carlos Eduardo.
yz8001
 
Mapa menta de Carlos Eduardo.
Mapa menta de Carlos Eduardo.Mapa menta de Carlos Eduardo.
Mapa menta de Carlos Eduardo.yz8001
 
Manual de manejo de datos en dreamweaver.
Manual de manejo de datos en dreamweaver.Manual de manejo de datos en dreamweaver.
Manual de manejo de datos en dreamweaver.
yz8001
 
Ingles
InglesIngles
Ingles
yz8001
 
Tablacomparativadelprofeeloy
TablacomparativadelprofeeloyTablacomparativadelprofeeloy
Tablacomparativadelprofeeloyyz8001
 
carloseduardosanchezmartinez
carloseduardosanchezmartinezcarloseduardosanchezmartinez
carloseduardosanchezmartinezyz8001
 
carlos eduardo sanchez martinez
carlos eduardo sanchez martinezcarlos eduardo sanchez martinez
carlos eduardo sanchez martinezyz8001
 
Presentacion de la maestra susana.
Presentacion de la maestra  susana.Presentacion de la maestra  susana.
Presentacion de la maestra susana.
yz8001
 

Más de yz8001 (8)

Mapa mental de Carlos Eduardo.
Mapa mental de Carlos Eduardo.Mapa mental de Carlos Eduardo.
Mapa mental de Carlos Eduardo.
 
Mapa menta de Carlos Eduardo.
Mapa menta de Carlos Eduardo.Mapa menta de Carlos Eduardo.
Mapa menta de Carlos Eduardo.
 
Manual de manejo de datos en dreamweaver.
Manual de manejo de datos en dreamweaver.Manual de manejo de datos en dreamweaver.
Manual de manejo de datos en dreamweaver.
 
Ingles
InglesIngles
Ingles
 
Tablacomparativadelprofeeloy
TablacomparativadelprofeeloyTablacomparativadelprofeeloy
Tablacomparativadelprofeeloy
 
carloseduardosanchezmartinez
carloseduardosanchezmartinezcarloseduardosanchezmartinez
carloseduardosanchezmartinez
 
carlos eduardo sanchez martinez
carlos eduardo sanchez martinezcarlos eduardo sanchez martinez
carlos eduardo sanchez martinez
 
Presentacion de la maestra susana.
Presentacion de la maestra  susana.Presentacion de la maestra  susana.
Presentacion de la maestra susana.
 

Último

proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 

Último (20)

proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 

Carlos eduardo, documento de aplicacion en android

  • 1. UNIVERSIDAD TECNOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN Materia Desarrollo de aplicaciones III Tema Documentación de la aplicación en android. Nombre completo del Alumno: Carlos Eduardo Sánchez Martínez. Grado: 5 Grupo: A Nombre del Docente: ITIC. Eloy Contreras de Lira Fecha de entrega: 21-03-2014.
  • 2. Lo primero que haremos es crear una clase que herede de SQLiteOpenHelper. Esta clase nos permite crear la base de datos y actualizar la estructura de tablas y datos iniciales. Debemos implementar el constructor y sobrescribir los métodos onCreate y onUpgrade. El método onCreate se le llama cuando la base de datos se crea por primera vez. Aquí es donde se define la estructura de las tablas y se cargan eventualmente los datos iniciales En el método onUpgrade se llama cuando la base de datos debe ser actualizada. Tiene por objetivo eliminar tablas, añadir tablas, o hacer cualquier otra cosa que necesita para actualizarse. Implementaremos una nueva clase llamada AdminSQLiteOpenHelper que herede de la clase SQLiteOpenHelper: package com.carlos.proyecto015; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class AdminSQLiteOpenHelper extends SQLiteOpenHelper { public AdminSQLiteOpenHelper(Context context, String nombre, CursorFactory factory, int version) { super(context, nombre, factory, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table votantes(dni integer primary key, nombre text, colegio text, nromesa integer)"); } @Override public void onUpgrade(SQLiteDatabase db, int versionAnte, int versionNue) { db.execSQL("drop table if exists votantes"); db.execSQL("create table votantes(dni integer primary key, nombre text, colegio text, nromesa integer)"); } }
  • 3. En el constructor solo llamamos al constructor de la clase padre pasando los datos que llegan en los parámetros: public AdminSQLiteOpenHelper(Context context, String nombre, CursorFactory factory, int version) { super(context, nombre, factory, version); } En el método onCreate procedemos a crear la tabla votantes con los cuatro campos respectivos y definiendo el campo dni como primary key: public void onCreate(SQLiteDatabase db) { db.execSQL("create table votantes(dni integer primary key, nombre text, colegio text, nromesa integer)"); } En el método onUpgrade procedemos a borrar la tabla votantes y crear nuevamente la tabla (en este caso con la misma estructura pero podría ser otra en un caso más real: public void onUpgrade(SQLiteDatabase db, int versionAnte, int versionNue) { db.execSQL("drop table if exists votantes"); db.execSQL("create table votantes(dni integer primary key, nombre text, colegio text, nromesa integer)"); } Ahora veamos la otra clase que implementará las altas, bajas, modificaciones y consultas: package com.javaya.proyecto015; 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;
  • 4. public class MainActivity extends Activity { private EditText et1, et2, et3, et4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et1 = (EditText) findViewById(R.id.editText1); et2 = (EditText) findViewById(R.id.editText2); et3 = (EditText) findViewById(R.id.editText3); et4 = (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.activity_main, menu); return true; } public void alta(View v) { AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this, "administracion", null, 1); SQLiteDatabase bd = admin.getWritableDatabase(); String dni = et1.getText().toString(); String nombre = et2.getText().toString(); String colegio = et3.getText().toString(); String nromesa = et4.getText().toString(); ContentValues registro = new ContentValues(); registro.put("dni", dni); registro.put("nombre", nombre); registro.put("colegio", colegio); registro.put("nromesa", nromesa); bd.insert("votantes", null, registro); bd.close(); et1.setText(""); et2.setText(""); et3.setText(""); et4.setText(""); Toast.makeText(this, "Se cargaron los datos de la persona", Toast.LENGTH_SHORT).show(); } public void consulta(View v) { AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this, "administracion", null, 1); SQLiteDatabase bd = admin.getWritableDatabase(); String dni = et1.getText().toString(); Cursor fila = bd.rawQuery( "select nombre,colegio,nromesa from votantes where dni=" + dni, null); if (fila.moveToFirst()) {
  • 5. et2.setText(fila.getString(0)); et3.setText(fila.getString(1)); et4.setText(fila.getString(2)); } else Toast.makeText(this, "No existe una persona con dicho dni", Toast.LENGTH_SHORT).show(); bd.close(); } public void baja(View v) { AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this, "administracion", null, 1); SQLiteDatabase bd = admin.getWritableDatabase(); String dni = et1.getText().toString(); int cant = bd.delete("votantes", "dni=" + dni, null); bd.close(); et1.setText(""); et2.setText(""); et3.setText(""); et4.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) { AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this, "administracion", null, 1); SQLiteDatabase bd = admin.getWritableDatabase(); String dni = et1.getText().toString(); String nombre = et2.getText().toString(); String colegio = et3.getText().toString(); String nromesa = et4.getText().toString(); ContentValues registro = new ContentValues(); registro.put("nombre", nombre); registro.put("colegio", colegio); registro.put("nromesa", nromesa); int cant = bd.update("votantes", registro, "dni=" + dni, 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 documento", Toast.LENGTH_SHORT).show(); } }
  • 6. 1 - Alta de datos. Cuando se presiona el botón alta se ejecuta el método "alta" debemos inicializar la propiedad "OnClick" del botón desde la ventana de visualización del archivo XML. Lo primero que hacemos en este método es crear un objeto de la clase que planteamos anteriormente y le pasamos al constructor this (referencia del Activity actual), "administración" (es el nombre de la base de datos que crearemos en el caso que no exista) luego pasamos null y un uno indicando que es la primer versión de la base de datos (en caso que cambiemos la estructura o agreguemos tablas por ejemplo podemos pasar un dos en lugar de un uno para que se ejecute el método onUpgrade donde indicamos la nuestra estructura de la base de datos) Luego de crear un objeto de la clase AdminSqLiteOpenHelper procedemos a crear un objeto de la clase SQLiteDataBase llamando al método getWritableDatabase (la base de datos se abre en modo lectura y escritura). Creamos un objeto de la clase ContentValues y mediante el método put inicializamos todos los campos a cargar. Seguidamente llamamos al método insert de la clase SQLiteDatabase pasando en el primer parámetro el nombre de la tabla, como segundo parámetro un null y por último el objeto de la clase ContentValues ya inicializado (este método es el que provoca que se inserte una nueva fila en la tabla votantes en la base de datos llamada administración) Borramos seguidamente los EditText y mostramos un mensaje para que conozca el operador que el alta de datos se efectuó en forma correcta: public void alta(View v) { AdminSQLiteOpenHelper admin=new AdminSQLiteOpenHelper(this, "administracion", null, 1); SQLiteDatabase bd=admin.getWritableDatabase(); String dni=et1.getText().toString(); String nombre=et2.getText().toString(); String colegio=et3.getText().toString(); String nromesa=et4.getText().toString(); ContentValues registro=new ContentValues(); registro.put("dni",dni ); registro.put("nombre",nombre ); registro.put("colegio",colegio ); registro.put("nromesa",nromesa ); bd.insert("votantes", null, registro); bd.close(); et1.setText(""); et2.setText(""); et3.setText(""); et4.setText(""); Toast.makeText(this, "Se cargaron los datos de la persona", Toast.LENGTH_SHORT).show(); }
  • 7. 2 - Consulta de datos. Cuando se presiona el botón "Consulta por DNI" se ejecuta el método consulta: public void consulta(View v) { AdminSQLiteOpenHelper admin=new AdminSQLiteOpenHelper(this, "administracion", null, 1); SQLiteDatabase bd=admin.getWritableDatabase(); String dni=et1.getText().toString(); Cursor fila=bd.rawQuery("select nombre,colegio,nromesa from votantes where dni="+dni+"",null); if (fila.moveToFirst()) { et2.setText(fila.getString(0)); et3.setText(fila.getString(1)); et4.setText(fila.getString(2)); } else Toast.makeText(this, "No existe una persona con dicho dni", Toast.LENGTH_SHORT).show(); bd.close(); } En el método consulta lo primero que hacemos es crear un objeto de la clase AdminSQLiteOpenHelper y obtener una referencia de la base de datos llamando al método getWritableDatabase. Seguidamente definimos una variable de la clase Cursor y la inicializamos con el valor devuelto por el método llamado rawQuery. La clase Cursos almacena en este caso una fila o cero filas (una en caso que hayamos ingresado un dni existente en la tabla votantes), llamamos al método moveToFirst () de la clase Cursos y retorna true en caso de existir una persona con el dni ingresado, en caso contrario retorna cero. Para recuperar los datos propiamente dichos que queremos consultar llamamos al método getString y le pasamos la posición del campo a recuperar (comienza a numerarse en cero, en este ejemplo la columna cero representa el campo nombre, la columna 1 representa el campo colegio y la columna 2 representa el campo nromesa) 3 - Baja o borrado de datos. Para borrar uno o más registros la clase SQLiteDatabase tiene un método que le pasamos en el primer parámetro el nombre de la tabla y en el segundo la condición que debe cumplirse para que se borre la fila de la tabla. El método delete retorna un entero que indica la cantidad de registros borrados:
  • 8. public void baja(View v) { AdminSQLiteOpenHelper admin=new AdminSQLiteOpenHelper(this, "administracion", null, 1); SQLiteDatabase bd=admin.getWritableDatabase(); String dni=et1.getText().toString(); int cant=bd.delete("votantes", "dni="+dni+"",null); bd.close(); et1.setText(""); et2.setText(""); et3.setText(""); et4.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(); } 4 - Modificación de datos. En la modificación de datos debemos crear un objeto de la clase ContentValues y mediante el método put almacenar los valores para cada campo que será modificado. Luego se llama al método update de la clase SQLiteDatabase pasando el nombre de la tabla, el objeto de la clase ContentValues y la condición del where (el cuanto parámetro en este ejemplo no se lo emplea) public void modificacion(View v) { AdminSQLiteOpenHelper admin=new AdminSQLiteOpenHelper(this, "administracion", null, 1); SQLiteDatabase bd=admin.getWritableDatabase(); String dni=et1.getText().toString(); String nombre=et2.getText().toString(); String colegio=et3.getText().toString(); String nromesa=et4.getText().toString(); ContentValues registro=new ContentValues(); registro.put("nombre",nombre); registro.put("colegio",colegio); registro.put("nromesa",nromesa); int cant = bd.update("votantes", registro, "dni="+dni, 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 documento", Toast.LENGTH_SHORT).show(); }