SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
UNIVERSIDAD TECNONOLÓ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
“Aplicación Android con Acceso a Base de Datos”
Nombre Completo: Azucena Pérez Gallegos
Grado: 5 Grupo: “B”
Nombre del Docente : Eloy Contreras de Lira
Fecha de entrega : 24/03/2014
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
AgendaAndroid
1. Creación base de datos SQLite
Para poder crear bases de datos en nuestra aplicación debemos usar las clases
hijas de "SQLiteOpenHelper". Que nos pide crear un constructor y sobreescribir
dos métodos:
"onCreate(SQLiteDatabase db)"
"onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)"
El primero se encargara de crear las tablas si no existen y el segundo las
actualizara si nos es necesario.
Todas las clases que se utilizarán deberán estar dentro de un proyecto el que
llevara por nombre: proyectagenda.
Clase DataBaseHelper: Dentro de esta clase se encuentra el código de la creación
de nuestra BD.
package proyectagenda.com;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DataBaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME="Agenda01";
public static final String NOMBRE="nombre";
public static final String TELEFONO="telefono";
public static final String EMAIL="email";
public static final String DIRECCION="direccion";
public DataBaseHelper(Context context)
{
super(context,DATABASE_NAME,null,1);
}
/** Called when the activity is first created. */
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE AgendaContactos(_id INTEGER PRIMARY KEY
AUTOINCREMENT, nombre TEXT, telefono TEXT, email TEXT,direccion TEXT);");
}
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
android.util.Log.v("Constante", "Actualiza la base de datos y destruye la base de datos
antigua con el mismo nombre");
db.execSQL("DROP table if exists AgendaContactos");
onCreate(db);
}
}
2. Gestionar base de datos
Para gestionar la base de datos vamos a crear unos métodos personalizados para
insertar, modificar, eliminar y consultar registros de nuestra tabla.
2.1Insertar registros
Para insertar registros en nuestra BD. Crearemos la clase Nuevo
package proyectagenda.com;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class Nuevo extends Activity{
public EditText nombre,telefono,email,direccion;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.agregarususario);
nombre=(EditText)findViewById(R.id.nombre);
telefono=(EditText)findViewById(R.id.telefono);
direccion=(EditText)findViewById(R.id.direccion);
email=(EditText)findViewById(R.id.email);
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
}
private void insert(String nombre, String telefono, String email, String direccion)
{
DataBaseHelper dbh=new DataBaseHelper(this);
SQLiteDatabase db= dbh.getWritableDatabase();
ContentValues cv=new ContentValues();
cv.put(DataBaseHelper.NOMBRE, nombre);
cv.put(DataBaseHelper.TELEFONO, telefono);
cv.put(DataBaseHelper.EMAIL, email);
cv.put(DataBaseHelper.DIRECCION, direccion);
db.insert("AgendaContactos",DataBaseHelper.NOMBRE,cv);
db.close();
}
public void agregar(View b)
{
insert(nombre.getText().toString(),telefono.getText().toString(),email.getText().toString(),d
ireccion.getText().toString());
Toast.makeText(getApplicationContext(),
"Contacto agregado correctamente", Toast.LENGTH_LONG).show();
nombre.setText("");
email.setText("");
direccion.setText("");
telefono.setText("");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater=getMenuInflater();
inflater.inflate(R.layout.menu1, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Intent i;
switch (item.getItemId()) {
case R.id.item2: Intent intent = new Intent(this,AgendaAndroidActivity.class);
startActivity(intent);
break;
}
return true;
}
}
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
2.2 Modificar registros
Para modificar un registro desde nuestra base de datos crearemos la clase
ModificarContacto con el siguiente código:
package proyectagenda.com;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class Modificar1 extends Activity{
public EditText nombre;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.modificarcontacto);
nombre=(EditText)findViewById(R.id.nombre);
}
public void modificar(View b)
{
DataBaseHelper dbh=new DataBaseHelper(this);
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
2.3 Borrar registros
Para borrar registros usaremos el método "delete(table, whereClause, whereArgs)"
que nos pide el nombre de la tabla "table", el registro a borrar "whereClause" que
tomaremos como referencia su id y como último parámetro "whereArgs" los
valores a borrar.
Llamaros a nuestra clase EliminarContacto con el código siguiente:
package proyectagenda.com;
import android.app.Activity;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class EliminarContacto extends Activity{
EditText nombre;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.eliminarcontacto);
nombre=(EditText)findViewById(R.id.nombre);
}
public void eliminar(View b)
{
DataBaseHelper dbh=new DataBaseHelper(this);
SQLiteDatabase db= dbh.getWritableDatabase();
String[] args = new String[]{nombre.getText().toString()};
db.execSQL("DELETE FROM AgendaContactos WHERE nombre=?", args);
Toast.makeText(getApplicationContext(),
"Contacto eliminado con exito.!", Toast.LENGTH_LONG).show();
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
db.close();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater=getMenuInflater();
inflater.inflate(R.layout.menu1, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Intent i;
switch (item.getItemId()) {
case R.id.item2: Intent intent = new Intent(this,AgendaAndroidActivity.class);
startActivity(intent);
break;
}
return true;
}
}
2.4 Consultar registros
Si se desea consultar un registro desde nuestra tabla crearemos la clase Buscar
utilizando el siguiente código:
package proyectagenda.com;
import proyectagenda.com.R;
import proyectagenda.com.buscar;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
import android.widget.EditText;
import android.widget.Toast;
public class buscar extends Activity{
public EditText nombre;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.buscarcontacto);
nombre=(EditText)findViewById(R.id.nombre);
}
public void buscar(View b)
{
DataBaseHelper dbh=new DataBaseHelper(this);
SQLiteDatabase db= dbh.getWritableDatabase();
String[] campos = new String[] {"nombre"};
String[] args = new String[] {nombre.getText().toString()};
Cursor c = db.query("AgendaContactos", campos, "nombre=?", args, null, null, null);
if (c.moveToFirst()) {
Intent it=new Intent(this,Detalle.class);
it.putExtra("nombre", nombre.getText().toString());
startActivity(it);
}
else
{
Toast.makeText(getApplicationContext(),
"El contacto especificado no existe.!", Toast.LENGTH_LONG).show();
db.close();
}
}
public String recuperanum()
{
String numero="";
DataBaseHelper dbh=new DataBaseHelper(this);
SQLiteDatabase db= dbh.getWritableDatabase();
String[] campos = new String[] {"telefono"};
String[] args = new String[] {nombre.getText().toString()};
Cursor c = db.query("AgendaContactos", campos, "nombre=?", args, null, null, null);
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
if (c.moveToFirst()) {
do {
String telefono = c.getString(0);
numero=telefono;
} while(c.moveToNext());
}
else
{
Toast.makeText(getApplicationContext(),
"Ha ocurrido un error :(", Toast.LENGTH_LONG).show();
db.close();
}
return numero;
}
public void llamar(View b)
{
DataBaseHelper dbh=new DataBaseHelper(this);
SQLiteDatabase db= dbh.getWritableDatabase();
String[] campos = new String[] {"nombre"};
String[] args = new String[] {nombre.getText().toString()};
Cursor c = db.query("AgendaContactos", campos, "nombre=?", args, null, null, null);
if (c.moveToFirst()) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(buscar.this);
alertDialog.setMessage("¿Desea realizar la llamada al contacto?");
alertDialog.setTitle("Llamar a contacto...");
alertDialog.setIcon(android.R.drawable.ic_dialog_alert);
alertDialog.setCancelable(false);
alertDialog.setPositiveButton("SI", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
try
{
String numero=recuperanum();
String number = "tel:" + numero.trim();
Toast.makeText(getApplicationContext(),
"Llamando al " + numero.trim(), Toast.LENGTH_LONG).show();
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(number));
startActivity(callIntent);
}
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
catch (Exception e)
{
Toast.makeText(getApplicationContext(),
"No se ha podido realizar la llamada",
Toast.LENGTH_LONG).show();
}
}
});
alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
Toast.makeText(getApplicationContext(),
"Llamada cancelada", Toast.LENGTH_LONG).show();
}
});
alertDialog.show();
}
else
{
Toast.makeText(getApplicationContext(),
"El contacto especificado no existe.!", Toast.LENGTH_LONG).show();
db.close();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater=getMenuInflater();
inflater.inflate(R.layout.menu1, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Intent i;
switch (item.getItemId()) {
case R.id.item2: Intent intent = new Intent(this,AgendaAndroidActivity.class);
startActivity(intent);
break;
}
return true;
}
}
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
3. Uso de nuestra base de datos en una Activity
package proyectagenda.com;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class AgendaAndroidActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bienvenida);
}
public void agregar(View b)
{
Intent it=new Intent(this,Nuevo.class);
startActivity(it);
}
public void eliminar(View b)
{
Intent it=new Intent(this,EliminarContacto.class);
startActivity(it);
}
public void modificar(View b)
{
Intent it=new Intent(this,Modificar1.class);
startActivity(it);
}
public void buscar(View b)
{
Intent it=new Intent(this,buscar.class);
startActivity(it);
}
}

Más contenido relacionado

Similar a Aplicación móvil con acceso a datos

Similar a Aplicación móvil con acceso a datos (20)

Aplicación móvil
Aplicación móvilAplicación móvil
Aplicación móvil
 
Aplicacion movil
Aplicacion movilAplicacion movil
Aplicacion movil
 
Manual marichuy
Manual marichuyManual marichuy
Manual marichuy
 
Manual marichuy
Manual marichuyManual marichuy
Manual marichuy
 
Aplicacion
Aplicacion Aplicacion
Aplicacion
 
Documento de eloy
Documento de eloyDocumento de eloy
Documento de eloy
 
Android
AndroidAndroid
Android
 
Manual marichuy
Manual marichuyManual marichuy
Manual marichuy
 
Manual marichuy
Manual marichuyManual marichuy
Manual marichuy
 
Manual marichuy
Manual marichuyManual marichuy
Manual marichuy
 
Las aplicasiones de androi ddd
Las aplicasiones de androi dddLas aplicasiones de androi ddd
Las aplicasiones de androi ddd
 
Preguntas android
Preguntas androidPreguntas android
Preguntas android
 
Tutorial Nro. 2 de Desarollo de Aplicaciones Móviles con Android
Tutorial Nro. 2 de Desarollo de Aplicaciones Móviles con AndroidTutorial Nro. 2 de Desarollo de Aplicaciones Móviles con Android
Tutorial Nro. 2 de Desarollo de Aplicaciones Móviles con Android
 
Preguntas android
Preguntas androidPreguntas android
Preguntas android
 
TEMAS DE JAVA DEL 11 AL 23
TEMAS DE JAVA DEL 11 AL 23TEMAS DE JAVA DEL 11 AL 23
TEMAS DE JAVA DEL 11 AL 23
 
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"
 
Introduccion a Android
Introduccion a AndroidIntroduccion a Android
Introduccion a Android
 
Manual de android
Manual de androidManual de android
Manual de android
 
A1 u4gb aplicación móvil con acceso a datos
A1 u4gb aplicación móvil con acceso a datosA1 u4gb aplicación móvil con acceso a datos
A1 u4gb aplicación móvil con acceso a datos
 

Más de Susi Perez Gallegos (19)

Interfaces
InterfacesInterfaces
Interfaces
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Aplicación de las derivadas e integrales
Aplicación de las derivadas e integralesAplicación de las derivadas e integrales
Aplicación de las derivadas e integrales
 
Plantilla trabajo final
Plantilla trabajo finalPlantilla trabajo final
Plantilla trabajo final
 
A1 u1 tabla comparativa de organizaciones normalizadoras
A1 u1 tabla comparativa de organizaciones normalizadorasA1 u1 tabla comparativa de organizaciones normalizadoras
A1 u1 tabla comparativa de organizaciones normalizadoras
 
Seguridad
SeguridadSeguridad
Seguridad
 
Manipulación de datos
Manipulación de datosManipulación de datos
Manipulación de datos
 
A3 ap _los_usb
A3 ap _los_usbA3 ap _los_usb
A3 ap _los_usb
 
My vacation
My vacationMy vacation
My vacation
 
Will
WillWill
Will
 
A2 ad ampi
A2 ad ampiA2 ad ampi
A2 ad ampi
 
P2 a5shp
P2 a5shpP2 a5shp
P2 a5shp
 
P2 a5shp
P2 a5shpP2 a5shp
P2 a5shp
 
A1 ap ampi
A1 ap ampiA1 ap ampi
A1 ap ampi
 
Ingles.iii susy
Ingles.iii susyIngles.iii susy
Ingles.iii susy
 
Base de datos ii
Base de datos iiBase de datos ii
Base de datos ii
 
A2 u1gb etapa 1 de construcciòn de sitio web
A2 u1gb etapa 1 de construcciòn de sitio webA2 u1gb etapa 1 de construcciòn de sitio web
A2 u1gb etapa 1 de construcciòn de sitio web
 
A1 u1gb azucena_tabla_comparativa
A1 u1gb azucena_tabla_comparativaA1 u1gb azucena_tabla_comparativa
A1 u1gb azucena_tabla_comparativa
 

Aplicación móvil con acceso a datos

  • 1. UNIVERSIDAD TECNONOLÓ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 “Aplicación Android con Acceso a Base de Datos” Nombre Completo: Azucena Pérez Gallegos Grado: 5 Grupo: “B” Nombre del Docente : Eloy Contreras de Lira Fecha de entrega : 24/03/2014
  • 2. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN AgendaAndroid 1. Creación base de datos SQLite Para poder crear bases de datos en nuestra aplicación debemos usar las clases hijas de "SQLiteOpenHelper". Que nos pide crear un constructor y sobreescribir dos métodos: "onCreate(SQLiteDatabase db)" "onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)" El primero se encargara de crear las tablas si no existen y el segundo las actualizara si nos es necesario. Todas las clases que se utilizarán deberán estar dentro de un proyecto el que llevara por nombre: proyectagenda. Clase DataBaseHelper: Dentro de esta clase se encuentra el código de la creación de nuestra BD. package proyectagenda.com; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DataBaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME="Agenda01"; public static final String NOMBRE="nombre"; public static final String TELEFONO="telefono"; public static final String EMAIL="email"; public static final String DIRECCION="direccion"; public DataBaseHelper(Context context) { super(context,DATABASE_NAME,null,1); } /** Called when the activity is first created. */ @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE AgendaContactos(_id INTEGER PRIMARY KEY AUTOINCREMENT, nombre TEXT, telefono TEXT, email TEXT,direccion TEXT);"); }
  • 3. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { android.util.Log.v("Constante", "Actualiza la base de datos y destruye la base de datos antigua con el mismo nombre"); db.execSQL("DROP table if exists AgendaContactos"); onCreate(db); } } 2. Gestionar base de datos Para gestionar la base de datos vamos a crear unos métodos personalizados para insertar, modificar, eliminar y consultar registros de nuestra tabla. 2.1Insertar registros Para insertar registros en nuestra BD. Crearemos la clase Nuevo package proyectagenda.com; import android.app.Activity; import android.content.ContentValues; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class Nuevo extends Activity{ public EditText nombre,telefono,email,direccion; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.agregarususario); nombre=(EditText)findViewById(R.id.nombre); telefono=(EditText)findViewById(R.id.telefono); direccion=(EditText)findViewById(R.id.direccion); email=(EditText)findViewById(R.id.email);
  • 4. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN } private void insert(String nombre, String telefono, String email, String direccion) { DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); ContentValues cv=new ContentValues(); cv.put(DataBaseHelper.NOMBRE, nombre); cv.put(DataBaseHelper.TELEFONO, telefono); cv.put(DataBaseHelper.EMAIL, email); cv.put(DataBaseHelper.DIRECCION, direccion); db.insert("AgendaContactos",DataBaseHelper.NOMBRE,cv); db.close(); } public void agregar(View b) { insert(nombre.getText().toString(),telefono.getText().toString(),email.getText().toString(),d ireccion.getText().toString()); Toast.makeText(getApplicationContext(), "Contacto agregado correctamente", Toast.LENGTH_LONG).show(); nombre.setText(""); email.setText(""); direccion.setText(""); telefono.setText(""); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater=getMenuInflater(); inflater.inflate(R.layout.menu1, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Intent i; switch (item.getItemId()) { case R.id.item2: Intent intent = new Intent(this,AgendaAndroidActivity.class); startActivity(intent); break; } return true; } }
  • 5. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 2.2 Modificar registros Para modificar un registro desde nuestra base de datos crearemos la clase ModificarContacto con el siguiente código: package proyectagenda.com; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class Modificar1 extends Activity{ public EditText nombre; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.modificarcontacto); nombre=(EditText)findViewById(R.id.nombre); } public void modificar(View b) { DataBaseHelper dbh=new DataBaseHelper(this);
  • 6. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 2.3 Borrar registros Para borrar registros usaremos el método "delete(table, whereClause, whereArgs)" que nos pide el nombre de la tabla "table", el registro a borrar "whereClause" que tomaremos como referencia su id y como último parámetro "whereArgs" los valores a borrar. Llamaros a nuestra clase EliminarContacto con el código siguiente: package proyectagenda.com; import android.app.Activity; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class EliminarContacto extends Activity{ EditText nombre; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.eliminarcontacto); nombre=(EditText)findViewById(R.id.nombre); } public void eliminar(View b) { DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); String[] args = new String[]{nombre.getText().toString()}; db.execSQL("DELETE FROM AgendaContactos WHERE nombre=?", args); Toast.makeText(getApplicationContext(), "Contacto eliminado con exito.!", Toast.LENGTH_LONG).show();
  • 7. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN db.close(); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater=getMenuInflater(); inflater.inflate(R.layout.menu1, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Intent i; switch (item.getItemId()) { case R.id.item2: Intent intent = new Intent(this,AgendaAndroidActivity.class); startActivity(intent); break; } return true; } } 2.4 Consultar registros Si se desea consultar un registro desde nuestra tabla crearemos la clase Buscar utilizando el siguiente código: package proyectagenda.com; import proyectagenda.com.R; import proyectagenda.com.buscar; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.net.Uri; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View;
  • 8. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN import android.widget.EditText; import android.widget.Toast; public class buscar extends Activity{ public EditText nombre; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.buscarcontacto); nombre=(EditText)findViewById(R.id.nombre); } public void buscar(View b) { DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); String[] campos = new String[] {"nombre"}; String[] args = new String[] {nombre.getText().toString()}; Cursor c = db.query("AgendaContactos", campos, "nombre=?", args, null, null, null); if (c.moveToFirst()) { Intent it=new Intent(this,Detalle.class); it.putExtra("nombre", nombre.getText().toString()); startActivity(it); } else { Toast.makeText(getApplicationContext(), "El contacto especificado no existe.!", Toast.LENGTH_LONG).show(); db.close(); } } public String recuperanum() { String numero=""; DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); String[] campos = new String[] {"telefono"}; String[] args = new String[] {nombre.getText().toString()}; Cursor c = db.query("AgendaContactos", campos, "nombre=?", args, null, null, null);
  • 9. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN if (c.moveToFirst()) { do { String telefono = c.getString(0); numero=telefono; } while(c.moveToNext()); } else { Toast.makeText(getApplicationContext(), "Ha ocurrido un error :(", Toast.LENGTH_LONG).show(); db.close(); } return numero; } public void llamar(View b) { DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); String[] campos = new String[] {"nombre"}; String[] args = new String[] {nombre.getText().toString()}; Cursor c = db.query("AgendaContactos", campos, "nombre=?", args, null, null, null); if (c.moveToFirst()) { AlertDialog.Builder alertDialog = new AlertDialog.Builder(buscar.this); alertDialog.setMessage("¿Desea realizar la llamada al contacto?"); alertDialog.setTitle("Llamar a contacto..."); alertDialog.setIcon(android.R.drawable.ic_dialog_alert); alertDialog.setCancelable(false); alertDialog.setPositiveButton("SI", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { try { String numero=recuperanum(); String number = "tel:" + numero.trim(); Toast.makeText(getApplicationContext(), "Llamando al " + numero.trim(), Toast.LENGTH_LONG).show(); Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(number)); startActivity(callIntent); }
  • 10. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN catch (Exception e) { Toast.makeText(getApplicationContext(), "No se ha podido realizar la llamada", Toast.LENGTH_LONG).show(); } } }); alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), "Llamada cancelada", Toast.LENGTH_LONG).show(); } }); alertDialog.show(); } else { Toast.makeText(getApplicationContext(), "El contacto especificado no existe.!", Toast.LENGTH_LONG).show(); db.close(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater=getMenuInflater(); inflater.inflate(R.layout.menu1, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Intent i; switch (item.getItemId()) { case R.id.item2: Intent intent = new Intent(this,AgendaAndroidActivity.class); startActivity(intent); break; } return true; } }
  • 11. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 3. Uso de nuestra base de datos en una Activity package proyectagenda.com; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class AgendaAndroidActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bienvenida); } public void agregar(View b) { Intent it=new Intent(this,Nuevo.class); startActivity(it); } public void eliminar(View b) { Intent it=new Intent(this,EliminarContacto.class); startActivity(it); } public void modificar(View b) { Intent it=new Intent(this,Modificar1.class); startActivity(it); } public void buscar(View b) { Intent it=new Intent(this,buscar.class); startActivity(it); } }