SlideShare una empresa de Scribd logo
1 de 15
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 lll
Tema
Manual de Programa en Android de Registro de Usuario.
Nombre completo del Alumno: María de Jesús Reyes Betancourt.
Grado: 5 Grupo: A
Nombre del Docente : Eloy Contreras de Lira
Fecha de entrega : 20-03-2014
A continuación explicare a detalle como realice el programa en Android para llevar
a cabo el Registro de Usuario, Eliminación, Actualización, Modificación del
Usuario.
Iniciamos abriendo el Programa Android el cual está Vinculado con Eclipse y SDK
Enseguida de que abre la aplicación se comienza hacer la creación de los botones
para la aplicación que se va llevar a cabo, como se muestra en la siguiente
pantalla, ya insertados los botones.
El cual ya se muestran los botones para insertar el Usuario, Guardar, Actualizar o
eliminar
En el cual nos vamos a ir a la parte de código, ya que en esta pantalla nos
encontramos de manera gráfica.
En este caso nos muestra el código de los botones, el cual es donde se lleva a
cabo el diseño y la manera en que se desea visualizar. El cual se puede ver en
Graphical Layout
En el siguiente código se lleva a cabo la configuración el botón loyout, para así
elegir la aplicación que desea correr
Si hemos activado el emulador (como indicamos aquí) se iniciará el AVD y se
ejecutará automáticamente nuestra aplicación
Volveremos a nuestra aplicación, no recomendamos cerrar el emulador pues tarda
unos segundos en cargarse, si lo dejamos abierto, con la aplicación cerrada,
cuando volvamos a compilarla la carga será muchísimo más rápida.
A continuación en la aplicación comienza el código para cada botón que hemos
hecho de manera gráfica.
En el paquete se selecciona en src, la clase de agenda.java para comenzar a
codificar la aplicación.
A continuación declararemos los import para usar las clases Android que
necesitaremos para nuestra aplicación:
En este código se lleva a cabo la introducción de las librerías para el
funcionamiento del proyecto.
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.content.ContentValues;
importandroid.database.sqlite.SQLiteDatabase; //para conexión a base de
datos SQLite
importandroid.widget.EditText; //para usar cuadros de texto
importandroid.widget.Button; //para usar botones
importandroid.widget.Toast; //para mostrar mensajes "emergentes"
importandroid.util.Log;
importandroid.view.View;
importandroid.content.Intent;
importandroid.net.Uri; //para llamar a un número de teléfono
importandroid.app.AlertDialog; //para mostrar mensaje de confirmación
importandroid.content.DialogInterface;
Declararemos la clase, el activity, las variables que usaremos y
ejecutaremos el layout con:
publicclass agenda extendsActivity
{
EditTexteditNombre,editTelefono;
privateButtonbotonGuardar;
privateButtonbotonLlamar;
privateButtonbotonEliminarBD;
privateButtonbotonCerrar;
privateSQLiteDatabasebaseDatos;
private static final String TAG = "bdagenda";
private static final String nombreBD = "agenda";
private static final String tablaContacto = "contacto";
//guardamos en un String toda la creación de la tabla
private static final String crearTablaContacto = "create table if not exists "
+ " contacto (codigointegerprimarykeyautoincrement, "
+ " nombre text not null, telefono text not null unique);";
@Override
public void onCreate(Bundle savedInstanceState)
{
//Asignamos a cada objeto visual creado a su respectivo elemento de
main.xml
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editNombre = (EditText) findViewById(R.id.txtNombre);
editTelefono = (EditText) findViewById(R.id.txtTelefono);
botonGuardar = (Button) findViewById(R.id.btGuardar);
botonLlamar = (Button) findViewById(R.id.btLlamar);
botonEliminarBD = (Button) findViewById(R.id.btEliminarBD);
botonCerrar = (Button) findViewById(R.id.btCerrar);
Código asignado al botón Guarda Contacto:
//Guardar el contacto actual en la agenda
botonGuardar.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
//Abrir la base de datos, se creará si no existe
abrirBasedatos();
//Insertar una fila o registro en la tabla "contacto"
//si la inserción es correcta devolverá true
boolean resultado = insertarFila(editNombre.getText().toString(),
editTelefono.getText().toString());
if(resultado)
Toast.makeText(getApplicationContext(),
"Contactoañadidocorrectamente",
Toast.LENGTH_LONG).show();
else
Toast.makeText(getApplicationContext(),
"No se ha podido guardar el contacto"
,Toast.LENGTH_LONG).show();
}
});
Código para llamar al contacto actual por teléfono que se desea
//Llamar al contacto actual por teléfono
botonLlamar.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
//Mostrar un mensaje de confirmación antes de realizar la llamada
AlertDialog.BuilderalertDialog = new AlertDialog.Builder(agenda.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("Sí", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
try
{
EditTextnum=(EditText)findViewById(R.id.txtTelefono);
String number = "tel:" + num.getText().toString().trim();
Toast.makeText(getApplicationContext(),
"Llamando al " + num.getText().toString().trim(),
Toast.LENGTH_LONG).show();
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(number));
startActivity(callIntent);
}
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(),
"Llamadacancelada", Toast.LENGTH_LONG).show();
}
});
alertDialog.show();
}
});
Código del botón eliminar base de datos:
//Eliminar la base de datos de la agenda
botonEliminarBD.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
//Mostrar un mensaje de confirmación antes de eliminar la base de datos
AlertDialog.BuilderalertDialog = new AlertDialog.Builder(agenda.this);
alertDialog.setMessage("¿Desea eliminar la base de datos por
completo?");
alertDialog.setTitle("Eliminar agenda...");
alertDialog.setIcon(android.R.drawable.ic_dialog_alert);
alertDialog.setCancelable(false);
alertDialog.setPositiveButton("Sí", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
try
{
Toast.makeText(getApplicationContext(),
"Eliminando base de datos: " + nombreBD,
Toast.LENGTH_LONG).show();
boolean resultado = deleteDatabase(nombreBD);
if(resultado)
Toast.makeText(getApplicationContext(),
"Base de datoseliminadacorrectamente", Toast.LENGTH_LONG).show();
else
Toast.makeText(getApplicationContext(),
"No se ha podido eliminar la base de datos",
Toast.LENGTH_LONG).show();
}
catch (Exception e)
{
Toast.makeText(getApplicationContext(),
"No se ha podido eliminar la base de datos",
Toast.LENGTH_LONG).show();
}
}
});
alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
Toast.makeText(getApplicationContext(),
"Eliminación de base de datos cancelada",
Toast.LENGTH_LONG).show();
}
});
alertDialog.show();
}
});
Código para botón de cerrar la aplicación:
//Cerrar aplicación Android
botonCerrar.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
finish();
}
});
Código para abrir la base de datos (crearla si no existe, crear la tabla):
//Procedimiento para abrir la base de datos
//si no existe se creará, también se creará la tabla contacto
privatevoidabrirBasedatos()
{
try
{
baseDatos = openOrCreateDatabase(nombreBD,
MODE_WORLD_WRITEABLE, null);
baseDatos.execSQL(crearTablaContacto);
}
catch (Exception e)
{
Log.i(TAG, "Error al abrir o crear la base de datos" + e);
}
}
Código para insertar un registro en la tabla de la base de datos SQLite:
//Método que realiza la inserción de los datos en nuestra tabla contacto
private booleaninsertarFila(String nombre, String telefono)
{
ContentValues values = new ContentValues();
values.put("nombre",nombre );
values.put("telefono", telefono);
Toast.makeText(getApplicationContext(), "Nombre: " + nombre + ", " +
"teléfono: " + telefono, Toast.LENGTH_LONG).show();
return (baseDatos.insert(tablaContacto, null, values) > 0);
}
En esta clase es donde se lleva a cabo el proceso del código para la aplicación
A manera detallada es donde se comprueba la aplicación, donde se introducen los
datos para insertar contacto, eliminar, actualizar.
Al momento en que ingresa un dato nos muestra el mensaje, exitosamente.
En este caso si queremos borra algún contacto, nos muestra la opción.
Al presionar que si nos muestra un mensaje donde los datos se han eliminado.
Así de esta manera se realizó correctamente la aplicación en Android con sdk y
eclipse
APK DE LA AGENDA
AjpdSoftAgendaTelefonicaAndroid.apk

Más contenido relacionado

La actualidad más candente

Programas de consola en java con net beans por gio
Programas de consola en java con net beans por gioProgramas de consola en java con net beans por gio
Programas de consola en java con net beans por gioRobert Wolf
 
Guia practicaiuprg3
Guia practicaiuprg3Guia practicaiuprg3
Guia practicaiuprg3alex sgarcia
 
pasos para hacer una mini agenda en visual basic 6.0
pasos para hacer una mini agenda en visual basic 6.0pasos para hacer una mini agenda en visual basic 6.0
pasos para hacer una mini agenda en visual basic 6.0yeimimorel
 
revista base de datos y visual studio
revista base de datos y visual studiorevista base de datos y visual studio
revista base de datos y visual studioJhos Ayneth Suarez
 
Examen programación
Examen programaciónExamen programación
Examen programaciónOdalisCuichan
 
Ejercicios desarrollados de visual basic (según libro)
Ejercicios desarrollados de visual basic (según libro)Ejercicios desarrollados de visual basic (según libro)
Ejercicios desarrollados de visual basic (según libro)Ivan Ramirez Iglesias
 
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 AndroidLuis Ernesto Castillo Alfaro
 
Manual de shine system
Manual de shine systemManual de shine system
Manual de shine systemRafa
 
Manual de shine system
Manual de shine systemManual de shine system
Manual de shine systemRafa
 
Primera aplicación de Android
Primera aplicación de AndroidPrimera aplicación de Android
Primera aplicación de Androidspartha187
 
Manual de aplicaciones moviles
Manual de aplicaciones moviles Manual de aplicaciones moviles
Manual de aplicaciones moviles Jael Vazquez
 
Manual de aplicaciones moviles
Manual de aplicaciones moviles Manual de aplicaciones moviles
Manual de aplicaciones moviles Jael Vazquez
 
Manual de aplicaciones moviles
Manual de aplicaciones movilesManual de aplicaciones moviles
Manual de aplicaciones movilesJael Vazquez
 

La actualidad más candente (17)

Programas de consola en java con net beans por gio
Programas de consola en java con net beans por gioProgramas de consola en java con net beans por gio
Programas de consola en java con net beans por gio
 
APLICACIONES CREADAS PARA ANDROID
APLICACIONES CREADAS PARA ANDROIDAPLICACIONES CREADAS PARA ANDROID
APLICACIONES CREADAS PARA ANDROID
 
Aplicación móvil
Aplicación móvilAplicación móvil
Aplicación móvil
 
Guia practicaiuprg3
Guia practicaiuprg3Guia practicaiuprg3
Guia practicaiuprg3
 
pasos para hacer una mini agenda en visual basic 6.0
pasos para hacer una mini agenda en visual basic 6.0pasos para hacer una mini agenda en visual basic 6.0
pasos para hacer una mini agenda en visual basic 6.0
 
revista base de datos y visual studio
revista base de datos y visual studiorevista base de datos y visual studio
revista base de datos y visual studio
 
Intro Power Builder - JUGM 2010
Intro Power Builder - JUGM 2010Intro Power Builder - JUGM 2010
Intro Power Builder - JUGM 2010
 
Examen programación
Examen programaciónExamen programación
Examen programación
 
Ejercicios desarrollados de visual basic (según libro)
Ejercicios desarrollados de visual basic (según libro)Ejercicios desarrollados de visual basic (según libro)
Ejercicios desarrollados de visual basic (según libro)
 
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
 
Manual de shine system
Manual de shine systemManual de shine system
Manual de shine system
 
Manual de shine system
Manual de shine systemManual de shine system
Manual de shine system
 
Primera aplicación de Android
Primera aplicación de AndroidPrimera aplicación de Android
Primera aplicación de Android
 
Programación III
Programación IIIProgramación III
Programación III
 
Manual de aplicaciones moviles
Manual de aplicaciones moviles Manual de aplicaciones moviles
Manual de aplicaciones moviles
 
Manual de aplicaciones moviles
Manual de aplicaciones moviles Manual de aplicaciones moviles
Manual de aplicaciones moviles
 
Manual de aplicaciones moviles
Manual de aplicaciones movilesManual de aplicaciones moviles
Manual de aplicaciones moviles
 

Destacado

TataTeleServices_TrainingGroup
TataTeleServices_TrainingGroupTataTeleServices_TrainingGroup
TataTeleServices_TrainingGroupRahul Vats
 
Photo pleine page
Photo pleine pagePhoto pleine page
Photo pleine pagelesoirbe
 
Presentation2
Presentation2Presentation2
Presentation2kescasa
 
Matemátic..[1]
Matemátic..[1]Matemátic..[1]
Matemátic..[1]tuchav
 
Unit a at pavilion club naples florida.text.marked
Unit a at pavilion club naples florida.text.markedUnit a at pavilion club naples florida.text.marked
Unit a at pavilion club naples florida.text.markedVineyards Naples
 
Goodyear: il servizio viaggia su gomma
Goodyear: il servizio viaggia su gommaGoodyear: il servizio viaggia su gomma
Goodyear: il servizio viaggia su gommaStefano Sgambati
 
ramesh kumar s patil latest cv
ramesh kumar s patil latest cvramesh kumar s patil latest cv
ramesh kumar s patil latest cvRameshkumar patil
 
Matemática (Rafael, 5ºB)
Matemática (Rafael, 5ºB)Matemática (Rafael, 5ºB)
Matemática (Rafael, 5ºB)tuchav
 
MIT_ParticipationPaper
MIT_ParticipationPaperMIT_ParticipationPaper
MIT_ParticipationPaperRahul Vats
 
Wykonywanie aparatów jednoszczękowych
  Wykonywanie aparatów jednoszczękowych  Wykonywanie aparatów jednoszczękowych
Wykonywanie aparatów jednoszczękowychDawid Bogocz
 
Maria olfa rodriguez gonzalez 40514549
Maria olfa  rodriguez gonzalez 40514549Maria olfa  rodriguez gonzalez 40514549
Maria olfa rodriguez gonzalez 40514549Diego Hernández
 

Destacado (15)

TataTeleServices_TrainingGroup
TataTeleServices_TrainingGroupTataTeleServices_TrainingGroup
TataTeleServices_TrainingGroup
 
Photo pleine page
Photo pleine pagePhoto pleine page
Photo pleine page
 
Presentation2
Presentation2Presentation2
Presentation2
 
Matemátic..[1]
Matemátic..[1]Matemátic..[1]
Matemátic..[1]
 
Unit a at pavilion club naples florida.text.marked
Unit a at pavilion club naples florida.text.markedUnit a at pavilion club naples florida.text.marked
Unit a at pavilion club naples florida.text.marked
 
Goodyear: il servizio viaggia su gomma
Goodyear: il servizio viaggia su gommaGoodyear: il servizio viaggia su gomma
Goodyear: il servizio viaggia su gomma
 
ramesh kumar s patil latest cv
ramesh kumar s patil latest cvramesh kumar s patil latest cv
ramesh kumar s patil latest cv
 
F 3507
F 3507F 3507
F 3507
 
Web Marketing VODs
Web Marketing VODsWeb Marketing VODs
Web Marketing VODs
 
Matemática (Rafael, 5ºB)
Matemática (Rafael, 5ºB)Matemática (Rafael, 5ºB)
Matemática (Rafael, 5ºB)
 
MIT_ParticipationPaper
MIT_ParticipationPaperMIT_ParticipationPaper
MIT_ParticipationPaper
 
buletin ASSA
buletin ASSAbuletin ASSA
buletin ASSA
 
Wykonywanie aparatów jednoszczękowych
  Wykonywanie aparatów jednoszczękowych  Wykonywanie aparatów jednoszczękowych
Wykonywanie aparatów jednoszczękowych
 
Maria olfa rodriguez gonzalez 40514549
Maria olfa  rodriguez gonzalez 40514549Maria olfa  rodriguez gonzalez 40514549
Maria olfa rodriguez gonzalez 40514549
 
A Short Course in PBA and Proper PWS Formatting
A Short Course in PBA and Proper PWS FormattingA Short Course in PBA and Proper PWS Formatting
A Short Course in PBA and Proper PWS Formatting
 

Similar a Manual de Programación de Aplicación de Registro de Usuarios en Android

Similar a Manual de Programación de Aplicación de Registro de Usuarios en Android (20)

Manual marichuy
Manual marichuyManual marichuy
Manual marichuy
 
Manual marichuy
Manual marichuyManual marichuy
Manual marichuy
 
Manual de aplicaciones moviles
Manual de aplicaciones moviles Manual de aplicaciones moviles
Manual de aplicaciones moviles
 
Aplicación móvil con acceso a datos
Aplicación móvil con acceso a datosAplicación móvil con acceso a datos
Aplicación móvil con acceso a datos
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
Aplicación zirconia
Aplicación zirconiaAplicación zirconia
Aplicación zirconia
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datos
 
Manual de android parte 1
Manual de android parte 1Manual de android parte 1
Manual de android parte 1
 
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con AndroidTutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en Android
 
Bases de datos_angelina_monetti
Bases de datos_angelina_monettiBases de datos_angelina_monetti
Bases de datos_angelina_monetti
 
Agenda con SQLite
Agenda con SQLiteAgenda con SQLite
Agenda con SQLite
 
Android
AndroidAndroid
Android
 
Tutorial 1 android
Tutorial 1 androidTutorial 1 android
Tutorial 1 android
 
Mingo santiago
Mingo santiagoMingo santiago
Mingo santiago
 
Programacion2
Programacion2Programacion2
Programacion2
 
Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#
 
Aplicacion agenda
Aplicacion agendaAplicacion agenda
Aplicacion agenda
 
Base de datos desde vb 6.0
Base de datos desde vb 6.0Base de datos desde vb 6.0
Base de datos desde vb 6.0
 
Aplicacion movil
Aplicacion movilAplicacion movil
Aplicacion movil
 

Más de Maria de Jesus Reyes Betancourt (20)

Auditoria
AuditoriaAuditoria
Auditoria
 
Interfaces
InterfacesInterfaces
Interfaces
 
Interfaces
InterfacesInterfaces
Interfaces
 
Manual puesta a tierra
Manual puesta a tierraManual puesta a tierra
Manual puesta a tierra
 
Manual de instalacion electrica
Manual de instalacion electricaManual de instalacion electrica
Manual de instalacion electrica
 
Abstracción.docs
Abstracción.docsAbstracción.docs
Abstracción.docs
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Telecomunicaciones mariade jesus
Telecomunicaciones mariade jesusTelecomunicaciones mariade jesus
Telecomunicaciones mariade jesus
 
Mariade jesus lizbeth
Mariade jesus lizbethMariade jesus lizbeth
Mariade jesus lizbeth
 
Antenas maria de_jesus
Antenas maria de_jesusAntenas maria de_jesus
Antenas maria de_jesus
 
Manual seguridad informatica
Manual seguridad informaticaManual seguridad informatica
Manual seguridad informatica
 
Manual
Manual Manual
Manual
 
Trabajo final plan de comunicacion
Trabajo final plan de comunicacionTrabajo final plan de comunicacion
Trabajo final plan de comunicacion
 
Trabajo maria _liz
Trabajo maria _lizTrabajo maria _liz
Trabajo maria _liz
 
Trabajo maria _liz
Trabajo maria _lizTrabajo maria _liz
Trabajo maria _liz
 
Trabajo Final
Trabajo FinalTrabajo Final
Trabajo Final
 
Reglas
ReglasReglas
Reglas
 
Manual marichuy
Manual marichuyManual marichuy
Manual marichuy
 
Mapa mental lizbeth
Mapa mental lizbethMapa mental lizbeth
Mapa mental lizbeth
 
Mapa mental mariadejesus
Mapa mental mariadejesusMapa mental mariadejesus
Mapa mental mariadejesus
 

Manual de Programación de Aplicación de Registro de Usuarios 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 lll Tema Manual de Programa en Android de Registro de Usuario. Nombre completo del Alumno: María de Jesús Reyes Betancourt. Grado: 5 Grupo: A Nombre del Docente : Eloy Contreras de Lira Fecha de entrega : 20-03-2014
  • 2. A continuación explicare a detalle como realice el programa en Android para llevar a cabo el Registro de Usuario, Eliminación, Actualización, Modificación del Usuario. Iniciamos abriendo el Programa Android el cual está Vinculado con Eclipse y SDK Enseguida de que abre la aplicación se comienza hacer la creación de los botones para la aplicación que se va llevar a cabo, como se muestra en la siguiente pantalla, ya insertados los botones. El cual ya se muestran los botones para insertar el Usuario, Guardar, Actualizar o eliminar
  • 3. En el cual nos vamos a ir a la parte de código, ya que en esta pantalla nos encontramos de manera gráfica. En este caso nos muestra el código de los botones, el cual es donde se lleva a cabo el diseño y la manera en que se desea visualizar. El cual se puede ver en Graphical Layout En el siguiente código se lleva a cabo la configuración el botón loyout, para así elegir la aplicación que desea correr
  • 4. Si hemos activado el emulador (como indicamos aquí) se iniciará el AVD y se ejecutará automáticamente nuestra aplicación
  • 5. Volveremos a nuestra aplicación, no recomendamos cerrar el emulador pues tarda unos segundos en cargarse, si lo dejamos abierto, con la aplicación cerrada, cuando volvamos a compilarla la carga será muchísimo más rápida. A continuación en la aplicación comienza el código para cada botón que hemos hecho de manera gráfica.
  • 6. En el paquete se selecciona en src, la clase de agenda.java para comenzar a codificar la aplicación. A continuación declararemos los import para usar las clases Android que necesitaremos para nuestra aplicación: En este código se lleva a cabo la introducción de las librerías para el funcionamiento del proyecto. importandroid.app.Activity; importandroid.os.Bundle; importandroid.content.ContentValues; importandroid.database.sqlite.SQLiteDatabase; //para conexión a base de datos SQLite importandroid.widget.EditText; //para usar cuadros de texto importandroid.widget.Button; //para usar botones importandroid.widget.Toast; //para mostrar mensajes "emergentes" importandroid.util.Log; importandroid.view.View; importandroid.content.Intent;
  • 7. importandroid.net.Uri; //para llamar a un número de teléfono importandroid.app.AlertDialog; //para mostrar mensaje de confirmación importandroid.content.DialogInterface; Declararemos la clase, el activity, las variables que usaremos y ejecutaremos el layout con: publicclass agenda extendsActivity { EditTexteditNombre,editTelefono; privateButtonbotonGuardar; privateButtonbotonLlamar; privateButtonbotonEliminarBD; privateButtonbotonCerrar; privateSQLiteDatabasebaseDatos; private static final String TAG = "bdagenda"; private static final String nombreBD = "agenda"; private static final String tablaContacto = "contacto"; //guardamos en un String toda la creación de la tabla private static final String crearTablaContacto = "create table if not exists " + " contacto (codigointegerprimarykeyautoincrement, " + " nombre text not null, telefono text not null unique);"; @Override public void onCreate(Bundle savedInstanceState) { //Asignamos a cada objeto visual creado a su respectivo elemento de main.xml super.onCreate(savedInstanceState); setContentView(R.layout.main); editNombre = (EditText) findViewById(R.id.txtNombre);
  • 8. editTelefono = (EditText) findViewById(R.id.txtTelefono); botonGuardar = (Button) findViewById(R.id.btGuardar); botonLlamar = (Button) findViewById(R.id.btLlamar); botonEliminarBD = (Button) findViewById(R.id.btEliminarBD); botonCerrar = (Button) findViewById(R.id.btCerrar); Código asignado al botón Guarda Contacto: //Guardar el contacto actual en la agenda botonGuardar.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //Abrir la base de datos, se creará si no existe abrirBasedatos(); //Insertar una fila o registro en la tabla "contacto" //si la inserción es correcta devolverá true boolean resultado = insertarFila(editNombre.getText().toString(), editTelefono.getText().toString()); if(resultado) Toast.makeText(getApplicationContext(), "Contactoañadidocorrectamente", Toast.LENGTH_LONG).show(); else Toast.makeText(getApplicationContext(), "No se ha podido guardar el contacto" ,Toast.LENGTH_LONG).show(); } }); Código para llamar al contacto actual por teléfono que se desea
  • 9. //Llamar al contacto actual por teléfono botonLlamar.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //Mostrar un mensaje de confirmación antes de realizar la llamada AlertDialog.BuilderalertDialog = new AlertDialog.Builder(agenda.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("Sí", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { try { EditTextnum=(EditText)findViewById(R.id.txtTelefono); String number = "tel:" + num.getText().toString().trim(); Toast.makeText(getApplicationContext(), "Llamando al " + num.getText().toString().trim(), Toast.LENGTH_LONG).show(); Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(number)); startActivity(callIntent); } catch (Exception e) { Toast.makeText(getApplicationContext(), "No se ha podido realizar la llamada", Toast.LENGTH_LONG).show(); }
  • 10. } }); alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), "Llamadacancelada", Toast.LENGTH_LONG).show(); } }); alertDialog.show(); } }); Código del botón eliminar base de datos: //Eliminar la base de datos de la agenda botonEliminarBD.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //Mostrar un mensaje de confirmación antes de eliminar la base de datos AlertDialog.BuilderalertDialog = new AlertDialog.Builder(agenda.this); alertDialog.setMessage("¿Desea eliminar la base de datos por completo?"); alertDialog.setTitle("Eliminar agenda..."); alertDialog.setIcon(android.R.drawable.ic_dialog_alert); alertDialog.setCancelable(false); alertDialog.setPositiveButton("Sí", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) {
  • 11. try { Toast.makeText(getApplicationContext(), "Eliminando base de datos: " + nombreBD, Toast.LENGTH_LONG).show(); boolean resultado = deleteDatabase(nombreBD); if(resultado) Toast.makeText(getApplicationContext(), "Base de datoseliminadacorrectamente", Toast.LENGTH_LONG).show(); else Toast.makeText(getApplicationContext(), "No se ha podido eliminar la base de datos", Toast.LENGTH_LONG).show(); } catch (Exception e) { Toast.makeText(getApplicationContext(), "No se ha podido eliminar la base de datos", Toast.LENGTH_LONG).show(); } } }); alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), "Eliminación de base de datos cancelada", Toast.LENGTH_LONG).show(); } });
  • 12. alertDialog.show(); } }); Código para botón de cerrar la aplicación: //Cerrar aplicación Android botonCerrar.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { finish(); } }); Código para abrir la base de datos (crearla si no existe, crear la tabla): //Procedimiento para abrir la base de datos //si no existe se creará, también se creará la tabla contacto privatevoidabrirBasedatos() { try { baseDatos = openOrCreateDatabase(nombreBD, MODE_WORLD_WRITEABLE, null); baseDatos.execSQL(crearTablaContacto); } catch (Exception e) { Log.i(TAG, "Error al abrir o crear la base de datos" + e); } }
  • 13. Código para insertar un registro en la tabla de la base de datos SQLite: //Método que realiza la inserción de los datos en nuestra tabla contacto private booleaninsertarFila(String nombre, String telefono) { ContentValues values = new ContentValues(); values.put("nombre",nombre ); values.put("telefono", telefono); Toast.makeText(getApplicationContext(), "Nombre: " + nombre + ", " + "teléfono: " + telefono, Toast.LENGTH_LONG).show(); return (baseDatos.insert(tablaContacto, null, values) > 0); } En esta clase es donde se lleva a cabo el proceso del código para la aplicación
  • 14. A manera detallada es donde se comprueba la aplicación, donde se introducen los datos para insertar contacto, eliminar, actualizar. Al momento en que ingresa un dato nos muestra el mensaje, exitosamente.
  • 15. En este caso si queremos borra algún contacto, nos muestra la opción. Al presionar que si nos muestra un mensaje donde los datos se han eliminado. Así de esta manera se realizó correctamente la aplicación en Android con sdk y eclipse APK DE LA AGENDA AjpdSoftAgendaTelefonicaAndroid.apk